Developers

POST/v3/create_proof

Attach an identity or address proof

Associate uploaded proof files with the correct identity or address.

On this page
  1. Attach an identity or address proof
  2. Create the proof
  3. Keep the proof ID
  4. Errors and expired uploads

Attach an identity or address proof

Use this step after the identity or address exists and after uploading its required files through create_encrypt_files with the selected proof type. Use a current ID from get_proof_types, matching the requirement and entity category.

Retain identity_id and address_id from create_document; the profile UUID is different. Later address-proof attachment compatibility for newly created profiles is still under review. If the address is rejected, check the portal or support before retrying.

Create the proof

Use an enabled MultiTEL API account and its permitted IP address. The examples use HTTP Basic credentials from environment variables; follow the authentication conventions for your account type. Send requests over HTTPS. Check both the HTTP response and the JSON status.code; application errors can arrive with HTTP 200. Examples below are fictional.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --header 'Content-Type: application/json' \
  --data @proof-request.json \
  https://api.multitel.net/v3/create_proof
{
  "entity_type": "identities",
  "entity_id": "33333333333333333333333333333333",
  "proof_type_id": "11111111111111111111111111111111",
  "encrypted_file_ids": [
    "22222222222222222222222222222222"
  ]
}
Request fields
FieldMeaning
entity_typeUse identities or addresses. Choose the category matching both your target and the uploaded files.
entity_idID of the identity or address owned by your account. Use the identifier returned by your document workflow; do not substitute a phone number or an unrelated document ID.
proof_type_idThe selected proof-type ID. Keep it consistent with the upload and the requirement.
encrypted_file_idsNonempty JSON array of file IDs returned by create_encrypt_files. Files must belong to the same account, remain unexpired and match the entity category. This is not a list of local file paths.

Form data is also accepted with repeated encrypted_file_ids[] fields. Prefer a real JSON array or form array; do not send a JSON-encoded array as an ordinary scalar form value.

Keep the proof ID

{
  "status": {
    "code": 200,
    "msg": "Proof created successfully."
  },
  "response": {
    "id": "44444444444444444444444444444444",
    "entity_type": "identities",
    "entity_id": "33333333333333333333333333333333",
    "proof_type_id": "11111111111111111111111111111111",
    "proof_type_name": "Example identity proof"
  }
}

A successful response confirms creation of the proof association. It does not confirm approval of the identity/address, validation of all country requirements, or activation of a telephone number.

Errors and expired uploads

API code 500 is used for missing required inputs, carrier failures and an invalid carrier response. Code 404 is used when the target is not associated with the current account, the proof type is invalid, an uploaded file cannot be found for this account/category or has expired, or no usable file IDs remain. Read status.msg along with the code.

Re-upload an expired required file using the correct proof category before attaching it. If any supplied file is invalid, this handler stops before sending the proof creation request. No idempotency key is exposed: after a timeout, check the existing document in the portal before repeating the attachment.