Skip to Content
APIAPI integration

API integration

Routix provides a versioned REST API that allows external applications, such as ERP systems, WMS platforms, BI tools, and AI agents, to securely access your transport management data.

The API is built on OAuth 2.1 and uses a proxy layer to provide stability, versioning, and fine-grained access control.

User level: Advanced

OAuth flow

Routix uses OAuth 2.1 to authenticate external applications. For API integrations, client credentials is the supported flow.

Client credentials flow

Use this flow for server-to-server communication. No user interaction is required.

Sequence

Request a token

curl -X POST https://api.routix.com/v1/oauth/token \ -H "Content-Type: application/json" \ -d '{ "grant_type": "client_credentials", "client_id": "YOUR_CLIENT_ID", "client_secret": "routix_..." }'

Response:

{ "access_token": "eyJhbGciOiJIUzI1NiIs...", "token_type": "bearer", "expires_in": 3600, "scope": "routix:accounts:read routix:orders:read", "organization_id": "123e4567-e89b-12d3-a456-426614174000", "branch_ids": [ "550e8400-e29b-41d4-a716-446655440000", "6ba7b810-9dad-11d1-80b4-00c04fd430c8" ] }

Key concepts

Scopes

Every API action is protected by a scope following this pattern:

routix:<resource>:<action>
ScopeDescription
routix:accounts:readRead customers, vendors, and carriers.
routix:accounts:writeCreate and update accounts.
routix:orders:readRead orders.
routix:orders:writeCreate and update orders.
routix:projects:writeUpdate projects.
routix:shipments:writeUpdate shipments.
routix:trips:writeUpdate trips.
routix:vehicles:readRead vehicles.
routix:vehicles:writeCreate and update vehicles.
routix:items:writeUpdate items.
routix:tariffs:writeUpdate tariffs.
routix:zones:writeUpdate zones.
routix:quotations:writeUpdate quotations.
routix:staff:readRead staff members.
routix:equipment:readRead equipment.
routix:planning:readRead planning and route data.
routix:invoices:readRead invoices.
routix:invoices:writeCreate and update invoices.

Resource scoping

The API uses either an organization UUID or a branch UUID in the path, depending on the resource. For example:

  • Organization UUID: 123e4567-e89b-12d3-a456-426614174000
  • Branch UUID: 550e8400-e29b-41d4-a716-446655440000

That means:

  • branches, organizations, users, and master_data use the organization UUID.
  • Resources such as accounts, projects, shipments, and trips use the branch UUID.
  • Access can still be restricted by the OAuth app configuration.

API versioning

VersionBehavior
v1Stable, immutable field set that is safe for production integrations.
v2Superset of v1 with additional fields that may grow over time.

Both versions run simultaneously. Use v1 for stable contracts and v2 when you need additional data.

  • API calls & examples
  • Setup guide
Last updated on