> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tracklysms.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Look Up International Requirements

> Discover provider form and document requirements before creating a non-US number request.

Returns the current allowlisted provider requirements for one target country and number type. Use this at number selection time, then create the request and persist answers with [Update International Requirements](/api-reference/v2/number-requests/update-requirements).

US and 10DLC lookup return an empty `requirements` array. Canadian toll-free lookup is active and uses the carrier toll-free number type.

## Query parameters

<ParamField query="countryCode" type="string" required>
  ISO 3166-1 alpha-2 number target country.
</ParamField>

<ParamField query="phoneNumberType" type="string" required>
  Number type, such as `toll_free`.
</ParamField>

## Response

<ResponseField name="requirements" type="array">
  Provider requirements. Each entry may contain:

  * `key`: exact wire key used for form values or documents;
  * `label`: display label;
  * `type`: provider input type;
  * `required`: whether a value is required;
  * `documentTypes`: accepted provider document categories;
  * `validation`: allowlisted format, length, range, or allowed-value metadata.
</ResponseField>

<Note>
  The returned schema is provider-owned and can differ by country or number type. Do not infer unknown keys or substitute Business Profile documents.
</Note>

## Example

<RequestExample>
  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.tracklysms.com/api/v2/number-requests/international-requirements",
      headers={"X-Api-Key": "trk_your_api_key_here"},
      params={"countryCode": "CA", "phoneNumberType": "toll_free"},
  )
  ```
</RequestExample>

<ResponseExample>
  ```json 200 — Requirements found theme={null}
  {
    "requirements": [
      {
        "key": "companyName",
        "label": "Company legal name",
        "type": "text",
        "required": true,
        "validation": {
          "maxLength": 255
        }
      },
      {
        "key": "proofOfBusinessRegistration",
        "label": "Proof of business registration",
        "type": "document",
        "required": true,
        "documentTypes": ["BUSINESS_REGISTRATION"]
      }
    ]
  }
  ```

  ```json 200 — No additional requirements theme={null}
  {
    "requirements": []
  }
  ```
</ResponseExample>

## Error codes

| HTTP | Code                                   | Meaning                                                         |
| ---- | -------------------------------------- | --------------------------------------------------------------- |
| 400  | `target_country_invalid`               | `countryCode` is missing or malformed.                          |
| 400  | `phone_number_type_invalid`            | Number type has no requirements mapping.                        |
| 401  | `invalid_credentials`                  | API key is missing or invalid.                                  |
| 422  | `unsupported_target_country`           | Target is outside provisioning coverage.                        |
| 503  | `acquisition_requirements_unavailable` | Provider requirements are temporarily unavailable. Retry later. |

## Next steps

<CardGroup cols={2}>
  <Card title="Create Number Request" icon="plus" href="/api-reference/v2/number-requests/create-request">
    Submit the complete request-owned identity
  </Card>

  <Card title="Update Requirements" icon="upload" href="/api-reference/v2/number-requests/update-requirements">
    Save form values and request-scoped documents
  </Card>
</CardGroup>
