API documentation | API docs for agents | OpenAPI 3.1
POST /api/v1/people/drivers/{driverId}/invite-app
ark.invite_driver_app
Creates or links a driver mobile-app account and records broker-confirmed SMS consent for the invite workflow. If the driver is already linked, the response succeeds with status already_linked.
- Availability
- Expanded preview
- Scopes
people:write- ARK permissions
one of: canCreatePersonone of: canEditPerson- 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
driverIdpathstringrequired- Driver table record ID returned as recordId by people search for type=driver.
- format: uuid
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
consentConfirmedbooleanrequiredMust be true after the broker has confirmed driver SMS consent.
consentMethodstringHow the broker confirmed driver SMS consent.
one of: verbal, written, electronic; default: "verbal"
Example request
Shell
curl -X POST 'https://arktms.com/api/v1/people/drivers/<driverId>/invite-app' \
-H "Authorization: Bearer $ARK_API_TOKEN" \
-H "Idempotency-Key: <unique-key>" \
-H "Content-Type: application/json" \
-d '{
"consentConfirmed": true
}'Success response
Driver app invite result
objectstringrequiredone of: api_response
okbooleanrequiredone of: true
api_versionstringrequiredone of: 2026-05-31
request_idstringrequireddataobjectrequireddata.driverIdstringrequiredformat: uuid
data.personIdstringrequiredformat: uuid
data.authUserIdstringrequiredformat: uuid
data.statusstringrequiredone of: linked, already_linked
data.hasUserAccountbooleanrequireddata.recordsCreatedarray<string>requireddata.recordsUpdatedarray<string>requireddata.consentMethodstringrequiredone of: verbal, written, electronic
data.phoneE164stringrequireddata.consentRecordCreatedbooleanrequireddata.downloadUrlstringrequiredformat: uri
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