Attach a document

PUThttps://api.getstarted.ae/v1/incorporations/{incorporationId}/participants/{participantId}/documents/{documentKind}

Fills one document slot on a participant with an uploaded file.

  • Idempotent: putting the same fileId again is a no-op, and putting a different one replaces the slot.
  • Upload the file first with POST /files. One file can fill slots on several participants.

Path parameters

  • incorporationIdstringrequired

    ID of the incorporation, e.g. inc_01J9ZK7C3VYB5N.

  • participantIdstringrequired

    ID of the participant, e.g. par_01J9ZKE7LB2H6J.

  • documentKindenumrequired

    The slot from documentRequirements, e.g. PASSPORT_SCAN, PROOF_OF_ADDRESS, CERTIFICATE_OF_INCORPORATION.

Body parameters

  • fileIdstringrequired

    ID of an uploaded file.

Responses

  • 200OK. Returns the object shown in the example.
  • 404resource_not_found No participant or file with that ID exists in this environment.
  • 422document_kind_not_required No role this participant holds requires that document kind.
  • 409incorporation_locked The incorporation has been submitted and the slot is not part of an open issue.
  • Every endpoint can also return 401 for a missing or invalid key. See Errors.
curl -X PUT "https://api.getstarted.ae/v1/incorporations/inc_01J9ZK7C3VYB5N/participants/par_01J9ZKE7LB2H6J/documents/PASSPORT_SCAN" \
  -H "Authorization: Bearer $GETSTARTED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "fileId": "file_01J9ZKG1DV4K8N"
}'
Response · 200
{
  "id": "par_01J9ZKE7LB2H6J",
  "object": "participant",
  "incorporationId": "inc_01J9ZK7C3VYB5N",
  "participantType": "INDIVIDUAL",
  "resource": {
    "resourceType": "PERSON",
    "resourceId": "per_01J9ZKA1M4HD2T"
  },
  "roles": [
    {
      "role": "DIRECTOR"
    },
    {
      "role": "SHAREHOLDER",
      "ownershipPercentage": 100
    }
  ],
  "documents": [
    {
      "documentKind": "PASSPORT_SCAN",
      "fileId": "file_01J9ZKG1DV4K8N",
      "attachedAt": "2026-09-20T08:52:30Z"
    }
  ],
  "createdAt": "2026-09-20T08:45:18Z",
  "updatedAt": "2026-09-20T08:52:30Z"
}