For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDashboard
GuidesAPI Reference
GuidesAPI Reference
  • Endpoints
      • GETList a carrier's lane preferences
      • PATCHToggle a lane preference's is_active flag
      • POSTRestrict a carrier on a specific lane
      • POSTRe-enable a carrier on a previously restricted lane
      • POSTDisable a carrier for a load's lane
LogoLogo
SupportDashboard
EndpointsLane Preferences

Re-enable a carrier on a previously restricted lane

POST
/carriers/:carrier_id/lane-preferences/:preference_id/unrestrict
POST
/api/v1/carriers/:carrier_id/lane-preferences/:preference_id/unrestrict
$curl -X POST https://tryenvoy.ai/api/v1/carriers/carrier_id/lane-preferences/preference_id/unrestrict \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{}'
1{
2 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3 "carrier_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
4 "lane_id": "1c9e6679-7425-40de-944b-e07fc1f90ae8",
5 "is_active": true,
6 "preference_type": "restricted",
7 "updated_at": "2024-01-15T09:30:00Z"
8}
Mark this carrier as eligible again for the specified lane. The UI is expected to confirm via a modal so the action is intentional; this endpoint itself does not gate on a reason. An audit-log row capturing the actor and timestamp is written in the same transaction. Idempotent: calling this when the preference is already active returns the current row unchanged and writes no audit entry. Admin-only — requires OWNER or ADMIN role on the organization. **Authentication:** Bearer token required.
Was this page helpful?
Previous

Disable a carrier for a load's lane

Next
Built with

Mark this carrier as eligible again for the specified lane. The UI is expected to confirm via a modal so the action is intentional; this endpoint itself does not gate on a reason. An audit-log row capturing the actor and timestamp is written in the same transaction. Idempotent: calling this when the preference is already active returns the current row unchanged and writes no audit entry. Admin-only — requires OWNER or ADMIN role on the organization.

Authentication: Bearer token required.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

carrier_idstringRequiredformat: "uuid"
preference_idstringRequiredformat: "uuid"

Headers

X-Organization-IDstring or nullOptional

Request

This endpoint expects an object.
reasonenum or nullOptional

Allowed values for AuditLog.reason. DB-enforced via Postgres ENUM.

The set is intentionally shared across all entity_type contexts; the same code (service_quality, compliance, other) means different things depending on whether the audited row is a carrier or a lane preference. Disambiguating is the caller’s job — the frontend renders different human labels per context. Free-text justification when OTHER is chosen lands on AuditLog.reason_note.

reason_notestring or nullOptional<=2000 characters

Response

Successful Response
idstringformat: "uuid"
carrier_idstringformat: "uuid"
lane_idstringformat: "uuid"
is_activeboolean
preference_typestring
updated_atdatetime or null

Errors

401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
422
Unprocessable Entity Error
429
Too Many Requests Error