API documentation | API docs for agents | OpenAPI 3.1

POST /api/v1/carriers/provider-sync

ark.sync_carrier_provider_profile

Syncs a carrier profile, packet, documents, compliance, insurance, identity, and payment evidence from Highway, RMIS, or MyCarrierPortal into ARK.

Availability
Expanded preview
Scopes
carriers:write
ARK permissions
canEditCarrier
Team visibility
Not entity-scoped
Idempotency-Key
Required for this write
Approval
No MCP approval on REST API-token calls
Rate limit
API credential and organization budgets

Parameters

Idempotency-Keyheaderstringrequired
Required for external write operations. Reuse the same key only for exact retries of the same request body.
min length: 1; max length: 200

Request body

providerstringrequired

External onboarding and monitoring provider to sync from.

one of: highway, rmis, mycarrierportal

carrierIdstring

Optional existing ARK carrier ID to refresh from the provider.

format: uuid

dotNumberstring

Optional DOT number lookup for provider sync.

max length: 32

mcNumberstring

Optional MC/MX docket number lookup for provider sync.

max length: 32

highwayCarrierIdstring

Highway carrier ID when syncing from Highway.

max length: 64

highwayExternalIdstring

Highway external ID when syncing from Highway.

max length: 100

rmisCarrierIdstring

RMIS carrier ID when syncing from RMIS.

max length: 64

Example request

Shell
curl -X POST 'https://arktms.com/api/v1/carriers/provider-sync' \
  -H "Authorization: Bearer $ARK_API_TOKEN" \
  -H "Idempotency-Key: <unique-key>" \
  -H "Content-Type: application/json" \
  -d '{
  "provider": "highway"
}'

Success response

Synced carrier provider profile

objectstringrequired
okbooleanrequired
api_versionstringrequired
request_idstringrequired
dataobjectrequired
data.providerstringrequired

one of: highway, rmis, mycarrierportal

data.statusstringrequired

one of: completed, completed_with_warning, already_running

data.carrierIdstring | nullrequired

format: uuid

data.providerCarrierIdstring | nullrequired
data.snapshotIdstring | nullrequired

format: uuid

data.packetStatusstring | nullrequired
data.retryAfterSecondsinteger | nullrequired

min: 0

data.warningsarray<string>required
data.messagestringrequired

Errors

HTTP 400
Invalid request
HTTP 401
Authentication required
HTTP 403
Permission, scope, team, or entitlement denied
HTTP 404
Resource not found
HTTP 409
Idempotency conflict or in-progress retry
HTTP 422
Invalid request