Authentication

The API uses Laravel Sanctum bearer tokens. Obtain a token via the client-token endpoint, then include it in every request as an Authorization header.

Obtain a Token

MethodPOST
URL/api/v1/auth/client-token
AuthNone (this is the authentication endpoint)

Request body (JSON):

json
{
  "email": "admin@deprixa.com",
  "password": "your-password",
  "device_name": "My Integration"
}

Response (200):

json
{
  "token": "1|abc123def456...",
  "token_type": "Bearer"
}

Using the Token

Include the token in every subsequent request:

bash
curl -H "Authorization: Bearer 1|abc123def456..." \
     -H "Accept: application/json" \
     https://yourdomain.com/api/v1/shipments

Authenticated User

MethodGET
URL/api/v1/user
AuthBearer Token
DescriptionReturns the authenticated user's profile information.

Public Tracking

This endpoint is public and does not require authentication. Rate limited to 60 requests per minute.

MethodGET
URL/api/tracking/{tracking_number}
AuthNone (public)
Rate Limit60 requests/minute
DescriptionReturns shipment tracking information including current status and status history.

Example:

bash
curl https://yourdomain.com/api/tracking/TRK00012345

Shipments

CRUD operations for shipments. All endpoints require Bearer Token authentication.

List Shipments

MethodGET
URL/api/v1/shipments
Scopeshipments.view
DescriptionReturns a paginated list of shipments for the authenticated user's organization.

Create Shipment

MethodPOST
URL/api/v1/shipments
DescriptionCreates a new shipment. Returns the created shipment with tracking number.

Get Shipment

MethodGET
URL/api/v1/shipments/{id}
DescriptionReturns full details of a specific shipment by its ID.

Update Shipment

MethodPUT
URL/api/v1/shipments/{id}
DescriptionUpdates an existing shipment. Send only the fields you want to change.

Rates

Get Shipping Quote

MethodPOST
URL/api/v1/rates/quote
Scoperates.quote
DescriptionCalculates shipping rates for a given origin, destination, weight, and service type. Returns available rates and estimated delivery times.

Customers

List Customers

MethodGET
URL/api/v1/customers
Scopecustomers.view
DescriptionReturns a paginated list of customers for the authenticated user's organization.

Create Customer

MethodPOST
URL/api/v1/customers
Scopecustomers.create
DescriptionCreates a new customer in the authenticated user's organization.

Driver Endpoints

These endpoints are restricted to users with the Driver role. Used by the driver mobile experience.

Get Assigned Shipments

MethodGET
URL/api/v1/driver/assigned-shipments
RoleDriver
DescriptionReturns all shipments currently assigned to the authenticated driver.

Update Shipment Status

MethodPOST
URL/api/v1/driver/update-status
RoleDriver
DescriptionUpdates the status of an assigned shipment (e.g., Picked Up, In Transit, Delivered).

Report Location

MethodPOST
URL/api/v1/driver/location
RoleDriver
DescriptionReports the driver's current GPS coordinates for live tracking on the dispatch map.

Driver Profile

MethodGET
URL/api/v1/driver/profile
RoleDriver
DescriptionReturns the authenticated driver's profile information.

Locations

Endpoints for geographic data used in dynamic select dropdowns (country, state, city cascading selects).

MethodURLDescription
GET/api/v1/locations/countriesList all countries
POST/api/v1/locations/countriesCreate a country
GET/api/v1/locations/statesList states (filter by country)
POST/api/v1/locations/statesCreate a state
GET/api/v1/locations/citiesList cities (filter by state)
POST/api/v1/locations/citiesCreate a city

Warehouse

MethodURLDescription
GET/api/v1/warehouse/manifestsList warehouse manifests
POST/api/v1/warehouse/manifestsCreate a warehouse manifest
GET/api/v1/warehouse/inventoryList inventory items
POST/api/v1/warehouse/inventory/movementsRecord an inventory movement

Endpoint Summary

Complete list of all available API endpoints:

MethodEndpointAuthDescription
POST/api/v1/auth/client-tokenNoneObtain bearer token
GET/api/tracking/{tracking}NonePublic shipment tracking
GET/api/v1/userTokenAuthenticated user profile
GET/api/v1/shipmentsTokenList shipments
POST/api/v1/shipmentsTokenCreate shipment
GET/api/v1/shipments/{id}TokenGet shipment details
PUT/api/v1/shipments/{id}TokenUpdate shipment
POST/api/v1/rates/quoteTokenGet shipping rate quote
GET/api/v1/customersTokenList customers
POST/api/v1/customersTokenCreate customer
GET/api/v1/driver/assigned-shipmentsDriverDriver's assigned shipments
POST/api/v1/driver/update-statusDriverUpdate shipment status
POST/api/v1/driver/locationDriverReport GPS location
GET/api/v1/driver/profileDriverDriver profile
GET/api/v1/locations/countriesTokenList countries
POST/api/v1/locations/countriesTokenCreate country
GET/api/v1/locations/statesTokenList states
POST/api/v1/locations/statesTokenCreate state
GET/api/v1/locations/citiesTokenList cities
POST/api/v1/locations/citiesTokenCreate city
GET/api/v1/warehouse/manifestsTokenList manifests
POST/api/v1/warehouse/manifestsTokenCreate manifest
GET/api/v1/warehouse/inventoryTokenList inventory
POST/api/v1/warehouse/inventory/movementsTokenRecord inventory movement

Total: 24 endpoints (1 public, 1 auth, 22 authenticated)