Create a new requirement

Create a new requirement for an application. Requirements can be one of three types:

  • document: Request for document upload (e.g., bank statements, tax returns)
  • field_update: Request for changes to existing application fields
  • question: Free-form question for the applicant to answer (uses questionText)

Requires writeApplications permission.

Required permissions: writeApplications

Account-scoped: Requires X-Account-ID header

Path Parameters
  • applicationId
    Type: string
    required

    The unique ID of the application

Headers
  • x-account-id
    Type: string
    required

    Account ID for the request

Body
required
application/json
  • Input for creating a document requirement

    • reason
      Type: string
      max length:  
      1000
      required

      Why this document is needed

    • type
      enum
      const:  
      document
      required

      Must be "document" for document requirements

      values
      • document
    • customDocumentName
      Type: string
      max length:  
      255

      Custom document name (required if documentKey not provided)

    • documentDescription
      Type: string
      max length:  
      1000

      Additional description for the request

    • documentKey
      Type: string

      Predefined document key. One of: driver-license, corporation-documents, voided-check, bank-statement, processing-statement, processing-statement-3-months, tax-returns, financial-statements, p_l_statement, balance_sheet, pci, mail_phone_document, fulfillment-agreement, office_inventory_photos, ein-letter, business-license, other

    • forOwner
      Type: boolean

      Whether this document is for a specific business owner

    • ownerUniqueId
      Type: string

      Required when forOwner is true

    • priority
      Type: stringenum

      Priority level

      values
      • required
      • recommended
    • underwriterNotes
      Type: string
      max length:  
      2000

      Internal notes

Responses
  • application/json
  • application/json
  • 401

    Unauthorized - User not authenticated

  • 403

    Forbidden - User does not have writeApplications permission

  • 404

    Application not found

  • application/json
Request Example for post/applications/{applicationId}/requirements
curl 'https://api.pulsecrm.com/applications/{applicationId}/requirements' \
  --request POST \
  --header 'x-account-id: 2311' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "type": "document",
  "documentKey": "bank-statement",
  "reason": "Need 3 months of bank statements to verify cash flow",
  "priority": "required",
  "underwriterNotes": "High volume merchant, need to verify deposits"
}'
{
  "id": 1,
  "applicationId": 1,
  "type": "document",
  "questionText": "string",
  "documentKey": "string",
  "customDocumentName": "string",
  "documentDescription": "string",
  "forOwner": true,
  "ownerUniqueId": "string",
  "fieldSection": "string",
  "fieldPath": "string",
  "fieldLabel": "string",
  "currentValue": "string",
  "reason": "string",
  "priority": "required",
  "status": "pending",
  "requestedBy": 1,
  "requestedAt": "2026-05-23T20:01:14.980Z",
  "resolvedBy": 1,
  "resolvedAt": "2026-05-23T20:01:14.980Z",
  "underwriterNotes": "string",
  "applicantNotes": "string",
  "rejectionReason": "string",
  "createdAt": "2026-05-23T20:01:14.980Z",
  "updatedAt": "2026-05-23T20:01:14.980Z",
  "requestedByUser": {
    "id": 1,
    "name": "string",
    "email": "string"
  }
}