Use an account-owned messaging brand
Use an enabled API account over HTTPS from a permitted source IP. Basic and Bearer authentication are supported. The brand ID must belong to that account. Keep provider tokens, brand identity data and returned reports private.
Order a new external check
Use POST when you need a vetting provider to perform a new check for this brand. If you already have a provider result, use import instead. This is separate from brand identity reverification.
Read the current brand and confirm its identity information first. Select a supported provider/class from the current catalogues and check that provider’s requirements. Not every provider supports every class. Additional political-vetting details must describe the actual organization or campaign, not sample data.
Prepare the provider request
| Field | Value |
|---|---|
| evpId | Required provider ID from the current external-vetting provider catalogue,1–10 characters. |
| vettingClass | The supported class you intend to purchase; choose it explicitly and confirm its price. |
| additionalRequestPayload | A JSON-encoded string with provider-specific details, required for political vetting. It is a string inside the outer JSON object, not a nested object. Confirm all required details with the selected provider. |
Confirm success and failure charges
Current retail fees in US dollars, read October 24, 2026. Confirm the current amount before placing a real order. Prepaid funding is checked against the success price; purchases must be enabled.
| Class | Active result | Failed result |
|---|---|---|
| STANDARD | $46.12 | $5.56 |
| ENHANCED | $112.78 | $6.67 |
| POLITICAL | $73.34 | $24.45 |
| POLITICAL with Express request | $106.67 | $24.45 |
| AUTHPLUS | $13.89 | $13.89 |
| RCS | $83.34 | $83.34 |
Pending orders retain their success/failure amounts and are settled when an ACTIVE or FAILED result is synchronized. The latter two classes use the same configured fee for either terminal outcome. An immediate terminal result can be charged during the order response. Later status synchronization can settle a pending charge.
Do not use mock:true as a promise of free external vetting. The current external-vetting settlement path can still record and charge that order. These instructions do not require a real purchase for testing; use offline fixtures until you intend to authorize a paid check.
Submit one reviewed order
Prepare vetting-order.json with the provider ID, class and any required additional information. The file contains the actual intended request. Keep it private.
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
--request POST \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--data-binary @vetting-order.json \
"https://api.multitel.net/tcr/v2/brand/$BRAND_ID/externalVetting"Follow the actual outcome
A successful HTTP response can contain a pending vetting record. Retain its vettingId and inspect vettingStatus, reasons, score and effective/expiration dates as available. PENDING and UNSCORE require further follow-up; ACTIVE, FAILED and EXPIRED describe different outcomes. HTTP acceptance alone does not prove a favorable score or campaign eligibility.
Use external-vetting status to follow the record. Reading or importing a terminal result can settle an earlier paid order; it is not necessarily free of an existing outstanding charge.
Retry the same intended request
Use one Idempotency-Key per intended operation and retain the exact method, path, query and body bytes. Keys support 1–128 printable ASCII characters without spaces. An in-progress duplicate can return 409 with Retry-After. Completed requests replay their stored response, including errors. Respect rate limits.
A cached 502 can follow a transport failure. A cached 500 with requestId can mean the registry accepted the operation but local persistence or billing failed. Preserve the request ID, inspect the current records and reconcile with support before using a new key. Do not assume the error means no order exists.