CLIENT
Intake Requests

Create Intake Request

Create a new intake request for a client. Generates a secure link and optionally sends email notification.

post/internal/api/clients/{client_id}/intake-requests

Request

  • Base URL
    https://api.signalshq.io (the document declares no server; this is the origin it was published from)
  • Auth
    OAuth 2
    Password
    Token URL: /auth/login

Path parameters

client_idstring uuid required

Client ID

Request body

recipient_emailstring required

Email address to send the request to

recipient_namestring required

Name of the recipient

tax_yearstring required

Tax year for the documents (YYYY format)

target_folder_idstring uuid nullable

Target folder ID where documents will be uploaded (null for root)

Example request

{
  "recipient_email": "client@example.com",
  "recipient_name": "John Doe",
  "tax_year": "2024",
  "items": [
    {
      "description": "All W-2 forms from 2024",
      "document_type": "W2",
      "extraction_enabled": true,
      "is_optional": false,
      "max_files_per_item": 5,
      "tags": [
        "CORP - PERSON_ABC",
        "CORP - PERSON_XYZ"
      ]
    },
    {
      "description": "1099-INT forms from 2024",
      "document_type": "FORM_1099_INT",
      "extraction_enabled": true,
      "is_optional": false,
      "max_files_per_item": 1,
      "tags": [
        "CHASE BANK",
        "STANFORD FEDERAL CREDIT UNION - 268"
      ]
    },
    {
      "description": "Bank statements for December 2024",
      "document_type": "TAX_FORM",
      "extraction_enabled": false,
      "is_optional": true,
      "max_files_per_item": 10
    }
  ]
}

Response

Successful Response

idstring uuid required

Unique identifier for the upload request

tenant_idstring uuid required

Tenant ID

client_idstring uuid required

Client ID

request_titlestring required

Title of the upload request

instructionsstring nullable

General instructions for the client

tax_yearstring nullable

Tax year

recipient_emailstring nullable

Email address where request was sent

recipient_namestring nullable

Name of the recipient

target_folder_idstring uuid nullable

Target folder ID

intake_tokenstring required

Secure intake token

upload_urlstring required

Public upload URL for clients

expires_atstring date-time required

When the upload link expires

status'DRAFT' | 'EMAIL_SENT' | 'ACTIVE' | 'COMPLETED' | 'EXPIRED' | 'REVOKED' required

Enum for intake request status

total_itemsinteger required

Total number of items requested

completed_itemsinteger required

Number of items completed

created_atstring date-time required

When the request was created

updated_atstring date-time required

When the request was last updated

created_bystring required

User who created the request

revoked_atstring date-time nullable

When the request was revoked

revoked_bystring nullable

User who revoked the request

revoked_reasonstring nullable

Reason for revocation

max_edits_per_iteminteger required

Maximum number of edits/reuploads allowed per item

questionnaire_from_pyrstring nullable

Questionnaire processing status for previous year return (if applicable for this intake request)

document_checklist_suggestionstring nullable

Document checklist processing status for previous year return (if applicable for this intake request)

status_labelstring required

Human-readable status for UI display.

Example response

{
  "items": [
    {
      "description": "Please upload all W-2 forms from 2024",
      "notes": "Client mentioned they will upload this next week",
      "tags": [
        "CORP - PERSON_ABC",
        "CHASE BANK"
      ],
      "client_notes": "This is my W-2 from Acme Corporation",
      "document_type_label": "W-2",
      "uploaded_by": "John Doe",
      "can_modify": true,
      "rejection_reason": "Document not available",
      "uploaded_documents": [
        {
          "document_matching": {
            "document_classification": "Form W-2",
            "document_type_identifier": "W2",
            "document_type_display_name": "Form W-2",
            "instance_name": "ACME Corporation",
            "document_classification_status": "COMPLETED"
          }
        }
      ]
    }
  ],
  "additional_documents": [
    {
      "description": "Please upload all W-2 forms from 2024",
      "notes": "Client mentioned they will upload this next week",
      "tags": [
        "CORP - PERSON_ABC",
        "CHASE BANK"
      ],
      "client_notes": "This is my W-2 from Acme Corporation",
      "document_type_label": "W-2",
      "uploaded_by": "John Doe",
      "can_modify": true,
      "rejection_reason": "Document not available",
      "uploaded_documents": [
        {
          "document_matching": {
            "document_classification": "Form W-2",
            "document_type_identifier": "W2",
            "document_type_display_name": "Form W-2",
            "instance_name": "ACME Corporation",
            "document_classification_status": "COMPLETED"
          }
        }
      ]
    }
  ],
  "voluntary_documents": [
    {
      "description": "Please upload all W-2 forms from 2024",
      "notes": "Client mentioned they will upload this next week",
      "tags": [
        "CORP - PERSON_ABC",
        "CHASE BANK"
      ],
      "client_notes": "This is my W-2 from Acme Corporation",
      "document_type_label": "W-2",
      "uploaded_by": "John Doe",
      "can_modify": true,
      "rejection_reason": "Document not available",
      "uploaded_documents": [
        {
          "document_matching": {
            "document_classification": "Form W-2",
            "document_type_identifier": "W2",
            "document_type_display_name": "Form W-2",
            "instance_name": "ACME Corporation",
            "document_classification_status": "COMPLETED"
          }
        }
      ]
    }
  ],
  "questionnaire_from_pyr": "COMPLETED",
  "document_checklist_suggestion": "COMPLETED",
  "previous_year_return": {
    "is_reupload_allowed": true
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.