---
title: "Persist request-owned dynamic form values and document uploads"
method: PATCH
path: "/v2/number-requests/{request_id}/international-requirements"
tags: ["number-requests-v2"]
---

# Persist request-owned dynamic form values and document uploads

`PATCH /v2/number-requests/{request_id}/international-requirements`

## Request

- Base URL: `https://api.tracklysms.com/api`
- URL: `https://api.tracklysms.com/api/v2/number-requests/{request_id}/international-requirements`
- Auth: API key in header `X-Api-Key`

## Request body

- NumberRequestAcquisitionUpdate
  - `internationalAcquisitionDocumentRemovedKeys` string[]: Requirement keys whose request-owned documents should be removed
  - `internationalAcquisitionDocuments` NumberRequestAcquisitionDocumentUpload[]: Request-owned document upserts by requirementKey; at most 10 documents
    - `contentType` string, required: application/pdf, image/jpeg, image/png, or image/webp
    - `data` string, required: Base64-encoded file bytes; maximum decoded size 5MB per document and 15MB per request
    - `filename` string: Optional original filename, at most 255 characters; defaults to requirementKey
    - `requirementKey` string, required: Document requirement key returned by Infobip
  - `internationalAcquisitionFormData` object: Provider requirement-key to scalar-value map; at most 50 keys, with values stored as strings capped at 2,000 characters

## Response `200`

Acquisition requirement state updated

- NumberRequestAcquisitionResponse
  - `internationalAcquisition` NumberRequestAcquisitionState, required
    - `documents` NumberRequestAcquisitionDocument[], required
      - `contentType` string: Validated media type
      - `filename` string: Stored display filename
      - `requirementKey` string: Provider requirement key
      - `size` integer: Stored byte count
      - `uploadedAt` string: ISO-8601 upload time
    - `feedback` object, required: Safe provider correction feedback
    - `formData` object, required: Public request-owned dynamic form values
    - `requirements` object[], required
    - `status` object, required: Provider acquisition status, or null before submission

## Other responses

- `400`: Invalid form or document payload
- `401`: Authentication error
- `403`: Sandbox key is read-only
- `404`: Not found
- `409`: Dynamic acquisition is unavailable
- `503`: Provider requirements or attachment storage are temporarily unavailable

---

[API](https://skmtc.dev/tracklysms/apis/trackly-sms-api.md) · [All operations](https://skmtc.dev/tracklysms/apis/trackly-sms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tracklysms/apis/trackly-sms-api/revisions/ac1ad22cb2a9?raw)
