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
providerstringrequiredExternal onboarding and monitoring provider to sync from.
one of: highway, rmis, mycarrierportal
carrierIdstringOptional existing ARK carrier ID to refresh from the provider.
format: uuid
dotNumberstringOptional DOT number lookup for provider sync.
max length: 32
mcNumberstringOptional MC/MX docket number lookup for provider sync.
max length: 32
highwayCarrierIdstringHighway carrier ID when syncing from Highway.
max length: 64
highwayExternalIdstringHighway external ID when syncing from Highway.
max length: 100
rmisCarrierIdstringRMIS carrier ID when syncing from RMIS.
max length: 64
Example request
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
objectstringrequiredokbooleanrequiredapi_versionstringrequiredrequest_idstringrequireddataobjectrequireddata.providerstringrequiredone of: highway, rmis, mycarrierportal
data.statusstringrequiredone of: completed, completed_with_warning, already_running
data.carrierIdstring | nullrequiredformat: uuid
data.providerCarrierIdstring | nullrequireddata.snapshotIdstring | nullrequiredformat: uuid
data.packetStatusstring | nullrequireddata.retryAfterSecondsinteger | nullrequiredmin: 0
data.warningsarray<string>requireddata.messagestringrequiredErrors
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