1. Immigration
  • Overview
  • Endpoints
    • Companies
      • All companies
      • Get a company
      • Create company
      • Create payment
    • Pricing
      • Get pricing packages
    • Countries
      • All countries
      • Get a country
    • Forms
      • Get a form
    • Leads
      • All leads
      • Get a lead
      • Update status
    • Profile
      • Get profile
      • Update profile
    • Wallet
      • Get wallet balance
      • Create topup request
    • Support
      • All tickets
      • Get a ticket
      • Create a ticket
    • Notifications
      • All notifications
      • Mark as read
      • Pusher auth
    • Renewals
      • Search companies for renewal
      • Get dynamic form config for a jurisdiction
      • List renewal requests
      • Request a quote revision
      • Approve quote and confirm wallet payment
      • Initiate quote payment — send OTP
      • Get a renewal by ID
      • Submit a renewal request
    • Files
      • Get a one-time download URL for any file owned by the agent
    • Immigration
      • List immigration objectives
        GET
      • Submit an assessment and get matching programmes
        POST
      • Get application pre-fill
        GET
      • Create an application (draft or submitted)
        POST
      • List applications
        GET
      • Get an application
        GET
      • Update a draft (save again or submit)
        PATCH
      • Delete a draft
        DELETE
  • Schemas
    • QuoteConfig
    • CreatePaymentSuccessResponse
    • SuccessEnvelope
    • StandardSuccess
    • ErrorEnvelope
    • ErrorResponse
    • FieldValidation
    • DirectApplication
    • YesNo
    • FileAttachment
    • Company
    • QuoteBreakdown
    • Field
    • Objective
    • Quote
    • Section
    • AssessmentRequest
    • RenewalFormConfigBody
    • ProcessingStep
    • ProgrammeSummary
    • CreateCompanyRequest
    • ProgrammeMatch
    • RenewalFormConfig
    • CompletedDetails
    • ExternalCompany
    • ApplicationPrefill
    • Renewal
    • Applicant
    • FormConfigField
    • ApplicantFields
    • FormConfigSection
    • FamilyMember
    • FamilyMemberFields
    • FormConfig
    • Funds
    • DocumentMeta
    • Declarations
    • StoredDeclarations
    • ApplicationRequest
    • ApplicationStatus
    • Application
    • ApplicationDetail
    • CountryRef
    • CountryName
    • ApplicationListItem
  1. Immigration

Create an application (draft or submitted)

Testing Env
https://demoapi.base93.com/api/v1/user/external/agent/
Testing Env
https://demoapi.base93.com/api/v1/user/external/agent/
POST
https://demoapi.base93.com/api/v1/user/external/agent/
/immigration/assessments/{id}/applications/{programme}
Creates an application for a programme matched by an assessment.
status: draft (or omitted) saves a draft. Every field is optional.
status: submitted submits it. applicant.full_name, applicant.passport_number and all four
declarations set to true are then required.
The programme must still be active. A submitted application can no longer be changed or deleted.
See ApplicationRequest for how to send the body and upload documents.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Path Params

Body Params application/jsonRequired

Example
{
    "status": "submitted",
    "applicant": {
        "full_name": "John Smith",
        "date_of_birth": "1985-04-12",
        "place_of_birth": "Mumbai",
        "citizenship": "65a0c1d2e3f4a5b6c7d8e9f0",
        "residence": "65a0c1d2e3f4a5b6c7d8e9f1",
        "marital_status": "married",
        "passport_number": "X1234567",
        "passport_issue_date": "2020-01-15",
        "passport_expiry_date": "2030-01-14",
        "email": "john@example.com",
        "phone": "+971500000001",
        "residential_address": "Dubai Marina, Dubai",
        "occupation": "Engineer",
        "qualification": "masters",
        "experience_years": 15,
        "is_business_owner": "yes",
        "employer_name": null
    },
    "family": [
        {
            "relation": "spouse",
            "position": 1,
            "full_name": "Jane Smith",
            "date_of_birth": "1987-06-02",
            "passport_number": "Y7654321",
            "nationality": "65a0c1d2e3f4a5b6c7d8e9f0"
        },
        {
            "relation": "child",
            "position": 1,
            "full_name": "Sam Smith",
            "date_of_birth": "2021-03-10",
            "passport_number": "Z1112223",
            "nationality": null
        }
    ],
    "funds": {
        "planned_investment": 500000,
        "planned_investment_currency": "USD",
        "budget": 750000,
        "budget_currency": "USD",
        "annual_income": 100000,
        "annual_income_currency": "USD",
        "net_worth": 3000000,
        "net_worth_currency": "USD",
        "source_of_funds": [
            "salary_savings",
            "sale_of_property"
        ]
    },
    "document_meta": [
        {
            "key": "passport_copy",
            "label": "Passport Copy",
            "owner": "applicant",
            "member": null,
            "file_id": "6703a1b2c3d4e5f6a7b8c9d3"
        }
    ],
    "declarations": {
        "accurate": true,
        "verified": true,
        "consent_understood": true,
        "terms": true
    }
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://demoapi.base93.com/api/v1/user/external/agent//immigration/assessments//applications/' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "status": "submitted",
    "applicant": {
        "full_name": "John Smith",
        "date_of_birth": "1985-04-12",
        "place_of_birth": "Mumbai",
        "citizenship": "65a0c1d2e3f4a5b6c7d8e9f0",
        "residence": "65a0c1d2e3f4a5b6c7d8e9f1",
        "marital_status": "married",
        "passport_number": "X1234567",
        "passport_issue_date": "2020-01-15",
        "passport_expiry_date": "2030-01-14",
        "email": "john@example.com",
        "phone": "+971500000001",
        "residential_address": "Dubai Marina, Dubai",
        "occupation": "Engineer",
        "qualification": "masters",
        "experience_years": 15,
        "is_business_owner": "yes",
        "employer_name": null
    },
    "family": [
        {
            "relation": "spouse",
            "position": 1,
            "full_name": "Jane Smith",
            "date_of_birth": "1987-06-02",
            "passport_number": "Y7654321",
            "nationality": "65a0c1d2e3f4a5b6c7d8e9f0"
        },
        {
            "relation": "child",
            "position": 1,
            "full_name": "Sam Smith",
            "date_of_birth": "2021-03-10",
            "passport_number": "Z1112223",
            "nationality": null
        }
    ],
    "funds": {
        "planned_investment": 500000,
        "planned_investment_currency": "USD",
        "budget": 750000,
        "budget_currency": "USD",
        "annual_income": 100000,
        "annual_income_currency": "USD",
        "net_worth": 3000000,
        "net_worth_currency": "USD",
        "source_of_funds": [
            "salary_savings",
            "sale_of_property"
        ]
    },
    "document_meta": [
        {
            "key": "passport_copy",
            "label": "Passport Copy",
            "owner": "applicant",
            "member": null,
            "file_id": "6703a1b2c3d4e5f6a7b8c9d3"
        }
    ],
    "declarations": {
        "accurate": true,
        "verified": true,
        "consent_understood": true,
        "terms": true
    }
}'

Responses

🟢201
application/json
Application created
Bodyapplication/json

Example
{
    "status": true,
    "response_code": 201,
    "message": "Draft saved successfully",
    "data": {
        "application": {
            "_id": "6703a1b2c3d4e5f6a7b8c9d0",
            "application_id": "10042",
            "assessment": "6702f0a1b2c3d4e5f6a7b8c9",
            "programme": "66e0b1c2d3e4f5a6b7c8d9e0",
            "agent": "64f0a1b2c3d4e5f6a7b8c9d0",
            "created_by": "64f0a1b2c3d4e5f6a7b8c9d0",
            "applicant": {
                "full_name": "John Smith",
                "passport_number": "X1234567",
                "marital_status": "married"
            },
            "family": [
                {
                    "_id": "6703a1b2c3d4e5f6a7b8c9d1",
                    "relation": "spouse",
                    "position": 1,
                    "full_name": "Jane Smith"
                }
            ],
            "funds": {
                "planned_investment": 500000,
                "planned_investment_currency": "USD",
                "source_of_funds": [
                    "salary_savings"
                ]
            },
            "documents": [
                {
                    "_id": "6703a1b2c3d4e5f6a7b8c9d2",
                    "key": "passport_copy",
                    "label": "Passport Copy",
                    "owner": "applicant",
                    "member": null,
                    "file": "6703a1b2c3d4e5f6a7b8c9d3"
                }
            ],
            "declarations": {
                "accurate": false,
                "verified": false,
                "consent_understood": false,
                "terms": false,
                "accepted_at": null
            },
            "status": "draft",
            "submitted_at": null,
            "created_at": "2026-10-08T10:00:00.000Z",
            "updated_at": "2026-10-08T10:00:00.000Z"
        }
    }
}
🟠400
🟠404
🟠401Unauthorized
🟠403Forbidden
Modified at 2026-10-08 12:49:22
Previous
Get application pre-fill
Next
List applications
Built with