Orders and distribution

Addresses, orders, spreadsheet imports, tracking and delivery codes.

Create an address

POSThttps://api.drometra.com/v1/distribution/locations

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.
idempotency-keymandatorystring · uuid
A new UUID per operation. If you repeat the request with the same key, the change is not applied twice.

Body

namemandatorystring
addressmandatorystring
coordinatemandatoryobject
precisionmandatoryenum: address | street | area | manual
geocodingobject

Response · 201

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • namestringalways
  • addressstringalways
  • objectalways
  • precisionenum: address | street | area | manualalways
  • object o nullalways
  • createdAtstring · date-timealways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/locations" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Content-Type: application/json" \ -d '{
    "name": "…",
    "address": "…",
    "coordinate": {},
    "precision": "…"
  }'
response · 201
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "name": "…",
  "address": "…",
  "coordinate": {
    "latitude": 0,
    "longitude": 0
  },
  "precision": "address",
  "geocoding": {
    "provenance": {
      "kind": "nominatim",
      "engine": "…",
      "engineVersion": "…",
      "dataVersion": "…",
      "coverage": {
        "id": "…",
        "status": "covered"
      }
    },
    "label": "…"
  },
  "createdAt": "2026-10-21T14:02:31Z"
}

List addresses

GEThttps://api.drometra.com/v1/distribution/locations

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Reference parameters

limitinteger

Response · 200

  • array de objectalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X GET "https://api.drometra.com/v1/distribution/locations" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application / json"
response · 200
{
  "items": [
    {
      "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "name": "…",
      "address": "…",
      "coordinate": {
        "latitude": 0,
        "longitude": 0
      },
      "precision": "address",
      "geocoding": {
        "provenance": {
          "kind": "nominatim",
          "engine": "…",
          "engineVersion": "…",
          "dataVersion": "…",
          "coverage": {}
        },
        "label": "…"
      },
      "createdAt": "2026-10-21T14:02:31Z"
    }
  ]
}

Create an order

POSThttps://api.drometra.com/v1/distribution/orders

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.
idempotency-keymandatorystring · uuid
A new UUID per operation. If you repeat the request with the same key, the change is not applied twice.

Body

referencemandatorystring
locationIdmandatorystring · uuid
demandmandatoryinteger
serviceSecondsmandatoryinteger
windowmandatoryobject
notesstring
recipientobject
parcelsarray de object
linesarray de object
customerIdstring · uuid

Response · 201

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • referencestringalways
  • objectalways
  • demandintegeralways
  • serviceSecondsintegeralways
  • objectalways
  • notesstring o nullalways
  • object o nullalways
  • array de objectalways
  • stateenum: open | cancelledalways
  • objectalways
  • array de objectalways
  • customerIdstring · uuid o nullalways
  • invoiceIntentIdstring · uuid o nullalways
  • versionintegeralways
  • createdAtstring · date-timealways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/orders" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Content-Type: application/json" \ -d '{
    "reference": "…",
    "locationId": "…",
    "demand": 0,
    "serviceSeconds": 0,
    "window": {}
  }'
response · 201
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "reference": "…",
  "location": {
    "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "name": "…",
    "address": "…",
    "coordinate": {
      "latitude": 0,
      "longitude": 0
    },
    "precision": "address",
    "geocoding": {
      "provenance": {
        "kind": "nominatim",
        "engine": "…",
        "engineVersion": "…",
        "dataVersion": "…",
        "coverage": {
          "id": "…",
          "status": "covered"
        }
      },
      "label": "…"
    },
    "createdAt": "2026-10-21T14:02:31Z"
  },
  "demand": 0,
  "serviceSeconds": 0,
  "window": {
    "startsAt": "2026-10-21T14:02:31Z",
    "endsAt": "2026-10-21T14:02:31Z"
  },
  "notes": "…",
  "recipient": {
    "name": "…",
    "phone": "…",
    "email": "…"
  },
  "parcels": [
    {
      "code": "…",
      "description": "…"
    }
  ],
  "state": "open",
  "planning": {
    "status": "unplanned",
    "routePlanId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "vehicleId": "…"
  },
  "lines": [
    {
      "position": 50.5,
      "catalogItemId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "description": "…",
      "quantity": "…",
      "unitPriceMinor": "…"
    }
  ],
  "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "invoiceIntentId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "version": 1,
  "createdAt": "2026-10-21T14:02:31Z"
}

List orders

GEThttps://api.drometra.com/v1/distribution/orders

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Reference parameters

limitinteger

Response · 200

  • array de objectalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X GET "https://api.drometra.com/v1/distribution/orders" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application / json"
response · 200
{
  "items": [
    {
      "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "reference": "…",
      "location": {
        "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "name": "…",
        "address": "…",
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        },
        "createdAt": "2026-10-21T14:02:31Z"
      },
      "demand": 0,
      "serviceSeconds": 0,
      "window": {
        "startsAt": "2026-10-21T14:02:31Z",
        "endsAt": "2026-10-21T14:02:31Z"
      },
      "notes": "…",
      "recipient": {
        "name": "…",
        "phone": "…",
        "email": "…"
      },
      "parcels": [
        {
          "code": "…",
          "description": "…"
        }
      ],
      "state": "open",
      "planning": {
        "status": "unplanned",
        "routePlanId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "vehicleId": "…"
      },
      "lines": [
        {
          "position": 50.5,
          "catalogItemId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
          "description": "…",
          "quantity": "…",
          "unitPriceMinor": "…"
        }
      ],
      "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "invoiceIntentId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "createdAt": "2026-10-21T14:02:31Z"
    }
  ]
}

Cancel an order

POSThttps://api.drometra.com/v1/distribution/orders/{id}/cancel

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Body

versionmandatoryinteger

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • referencestringalways
  • objectalways
  • demandintegeralways
  • serviceSecondsintegeralways
  • objectalways
  • notesstring o nullalways
  • object o nullalways
  • array de objectalways
  • stateenum: open | cancelledalways
  • objectalways
  • array de objectalways
  • customerIdstring · uuid o nullalways
  • invoiceIntentIdstring · uuid o nullalways
  • versionintegeralways
  • createdAtstring · date-timealways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/orders/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/cancel" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \ -d '{
    "version": 0
  }'
response · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "reference": "…",
  "location": {
    "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "name": "…",
    "address": "…",
    "coordinate": {
      "latitude": 0,
      "longitude": 0
    },
    "precision": "address",
    "geocoding": {
      "provenance": {
        "kind": "nominatim",
        "engine": "…",
        "engineVersion": "…",
        "dataVersion": "…",
        "coverage": {
          "id": "…",
          "status": "covered"
        }
      },
      "label": "…"
    },
    "createdAt": "2026-10-21T14:02:31Z"
  },
  "demand": 0,
  "serviceSeconds": 0,
  "window": {
    "startsAt": "2026-10-21T14:02:31Z",
    "endsAt": "2026-10-21T14:02:31Z"
  },
  "notes": "…",
  "recipient": {
    "name": "…",
    "phone": "…",
    "email": "…"
  },
  "parcels": [
    {
      "code": "…",
      "description": "…"
    }
  ],
  "state": "open",
  "planning": {
    "status": "unplanned",
    "routePlanId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "vehicleId": "…"
  },
  "lines": [
    {
      "position": 50.5,
      "catalogItemId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "description": "…",
      "quantity": "…",
      "unitPriceMinor": "…"
    }
  ],
  "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "invoiceIntentId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "version": 1,
  "createdAt": "2026-10-21T14:02:31Z"
}

Preview a delivery plan

POSThttps://api.drometra.com/v1/distribution/plan-previews

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.
idempotency-keymandatorystring · uuid
A new UUID per operation. If you repeat the request with the same key, the change is not applied twice.

Body

profilemandatoryenum: car | truck | bicycle | pedestrian
depotmandatoryobject
vehiclesmandatoryarray de object
maxComputationMsinteger
vehicleobject
orderIdsmandatoryarray de string · uuid

Response · 201

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • stateenum: ready | approvedalways
  • versionintegeralways
  • profileenum: car | truck | bicycle | pedestrianalways
  • objectalways
  • array de objectalways
  • objectalways
  • objectalways
  • createdAtstring · date-timealways
  • approvedAtstring · date-time o nullalways
  • routePlanIdstring · uuid o nullalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/plan-previews" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Content-Type: application/json" \ -d '{
    "profile": "…",
    "depot": {},
    "vehicles": [],
    "orderIds": []
  }'
response · 201
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "state": "ready",
  "version": 1,
  "profile": "car",
  "solution": {
    "feasible": true,
    "timedOut": true,
    "optimal": false,
    "routes": [
      {
        "vehicleId": "…",
        "fleetVehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "orderedStops": [],
        "distanceMeters": 0,
        "durationSeconds": 0
      }
    ],
    "unassigned": [
      {
        "id": "…",
        "reason": "capacity_exceeded"
      }
    ],
    "totalDistanceMeters": 0,
    "totalDurationSeconds": 0,
    "baselineDistanceMeters": 0,
    "improvementMeters": 0
  },
  "roadRoutes": [
    {
      "vehicleId": "…",
      "fleetVehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "route": {
        "profile": "car",
        "waypoints": [],
        "geometry": {
          "type": "LineString",
          "coordinates": []
        },
        "distanceMeters": 0,
        "durationSeconds": 0,
        "estimated": true,
        "trafficIncluded": false,
        "provenance": {
          "kind": "valhalla",
          "engine": "…",
          "engineVersion": "…",
          "graphVersion": "…",
          "coverage": {},
          "roadNetwork": true
        },
        "ferryMeters": 0
      }
    }
  ],
  "matrixProvenance": {
    "kind": "valhalla",
    "engine": "…",
    "engineVersion": "…",
    "graphVersion": "…",
    "coverage": {
      "id": "…",
      "status": "covered"
    },
    "roadNetwork": true
  },
  "solver": {
    "name": "…",
    "maxComputationMs": 1000.5,
    "optimal": false
  },
  "createdAt": "2026-10-21T14:02:31Z",
  "approvedAt": "2026-10-21T14:02:31Z",
  "routePlanId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d"
}

Import orders from a spreadsheet

POSThttps://api.drometra.com/v1/distribution/imports

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.
idempotency-keymandatorystring · uuid
A new UUID per operation. If you repeat the request with the same key, the change is not applied twice.

Body

kindmandatorystring
fileNamemandatorystring
contentBase64mandatorystring

Response · 201

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • kindstringalways
  • fileNamestringalways
  • fileSha256stringalways
  • encodingenum: utf-8 | windows-1252always
  • delimiterenum: , | ;always
  • stateenum: validated | committed | discardedalways
  • array de objectalways
  • objectalways
  • createdBystring · uuidalways
  • createdAtstring · date-timealways
  • committedBystring · uuid o nullalways
  • committedAtstring · date-time o nullalways
  • discardedBystring · uuid o nullalways
  • discardedAtstring · date-time o nullalways
  • expiresAtstring · date-timealways
  • versionintegeralways
  • array de objectalways
  • nextRowinteger o nullalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/imports" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Content-Type: application/json" \ -d '{
    "kind": "…",
    "fileName": "…",
    "contentBase64": "…"
  }'
response · 201
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

List imports

GEThttps://api.drometra.com/v1/distribution/imports

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Reference parameters

limitinteger

Response · 200

  • array de objectalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X GET "https://api.drometra.com/v1/distribution/imports" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application / json"
response · 200
{
  "items": [
    {
      "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "kind": "orders",
      "fileName": "…",
      "fileSha256": "…",
      "encoding": "utf-8",
      "delimiter": ",",
      "state": "validated",
      "warnings": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "counts": {
        "total": 250,
        "valid": 250,
        "needsGeocoding": 250,
        "needsReview": 250,
        "error": 250,
        "duplicate": 250,
        "excluded": 250,
        "created": 250,
        "skippedDuplicate": 250
      },
      "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "createdAt": "2026-10-21T14:02:31Z",
      "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "committedAt": "2026-10-21T14:02:31Z",
      "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "discardedAt": "2026-10-21T14:02:31Z",
      "expiresAt": "2026-10-21T14:02:31Z",
      "version": 1
    }
  ]
}

Get an import

GEThttps://api.drometra.com/v1/distribution/imports/{id}

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Reference parameters

afterRowinteger
rowLimitinteger

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • kindstringalways
  • fileNamestringalways
  • fileSha256stringalways
  • encodingenum: utf-8 | windows-1252always
  • delimiterenum: , | ;always
  • stateenum: validated | committed | discardedalways
  • array de objectalways
  • objectalways
  • createdBystring · uuidalways
  • createdAtstring · date-timealways
  • committedBystring · uuid o nullalways
  • committedAtstring · date-time o nullalways
  • discardedBystring · uuid o nullalways
  • discardedAtstring · date-time o nullalways
  • expiresAtstring · date-timealways
  • versionintegeralways
  • array de objectalways
  • nextRowinteger o nullalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X GET "https://api.drometra.com/v1/distribution/imports/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application / json"
response · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Geocode an import's addresses

POSThttps://api.drometra.com/v1/distribution/imports/{id}/geocode

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • kindstringalways
  • fileNamestringalways
  • fileSha256stringalways
  • encodingenum: utf-8 | windows-1252always
  • delimiterenum: , | ;always
  • stateenum: validated | committed | discardedalways
  • array de objectalways
  • objectalways
  • createdBystring · uuidalways
  • createdAtstring · date-timealways
  • committedBystring · uuid o nullalways
  • committedAtstring · date-time o nullalways
  • discardedBystring · uuid o nullalways
  • discardedAtstring · date-time o nullalways
  • expiresAtstring · date-timealways
  • versionintegeralways
  • array de objectalways
  • nextRowinteger o nullalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/imports/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/geocode" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \ -d '{}'
response · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Resolve an import row

POSThttps://api.drometra.com/v1/distribution/imports/{id}/rows/{rowNumber}/resolution

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d
rowNumbermandatoryinteger

Body

versionmandatoryinteger
actionmandatoryenum: candidate | coordinate | exclude | include
candidateIndexinteger
coordinateobject

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • kindstringalways
  • fileNamestringalways
  • fileSha256stringalways
  • encodingenum: utf-8 | windows-1252always
  • delimiterenum: , | ;always
  • stateenum: validated | committed | discardedalways
  • array de objectalways
  • objectalways
  • createdBystring · uuidalways
  • createdAtstring · date-timealways
  • committedBystring · uuid o nullalways
  • committedAtstring · date-time o nullalways
  • discardedBystring · uuid o nullalways
  • discardedAtstring · date-time o nullalways
  • expiresAtstring · date-timealways
  • versionintegeralways
  • array de objectalways
  • nextRowinteger o nullalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/imports/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/rows/<rowNumber>/resolution" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \ -d '{
    "version": 0,
    "action": "…"
  }'
response · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Commit an import

POSThttps://api.drometra.com/v1/distribution/imports/{id}/commit

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Body

versionmandatoryinteger

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • kindstringalways
  • fileNamestringalways
  • fileSha256stringalways
  • encodingenum: utf-8 | windows-1252always
  • delimiterenum: , | ;always
  • stateenum: validated | committed | discardedalways
  • array de objectalways
  • objectalways
  • createdBystring · uuidalways
  • createdAtstring · date-timealways
  • committedBystring · uuid o nullalways
  • committedAtstring · date-time o nullalways
  • discardedBystring · uuid o nullalways
  • discardedAtstring · date-time o nullalways
  • expiresAtstring · date-timealways
  • versionintegeralways
  • array de objectalways
  • nextRowinteger o nullalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/imports/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/commit" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \ -d '{
    "version": 0
  }'
response · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Discard an import

POSThttps://api.drometra.com/v1/distribution/imports/{id}/discard

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Body

versionmandatoryinteger

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • kindstringalways
  • fileNamestringalways
  • fileSha256stringalways
  • encodingenum: utf-8 | windows-1252always
  • delimiterenum: , | ;always
  • stateenum: validated | committed | discardedalways
  • array de objectalways
  • objectalways
  • createdBystring · uuidalways
  • createdAtstring · date-timealways
  • committedBystring · uuid o nullalways
  • committedAtstring · date-time o nullalways
  • discardedBystring · uuid o nullalways
  • discardedAtstring · date-time o nullalways
  • expiresAtstring · date-timealways
  • versionintegeralways
  • array de objectalways
  • nextRowinteger o nullalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/imports/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/discard" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \ -d '{
    "version": 0
  }'
response · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Export orders

GEThttps://api.drometra.com/v1/distribution/exports/orders

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Reference parameters

fromstring
tostring
stateenum: open | cancelled | all

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X GET "https://api.drometra.com/v1/distribution/exports/orders" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application / json"
response · 200
(text/csv)

Get an order's delivery code

GEThttps://api.drometra.com/v1/distribution/orders/{id}/delivery-code

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Response · 200

  • orderIdstring · uuidalways
  • referencestringalways
  • codestringalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X GET "https://api.drometra.com/v1/distribution/orders/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/delivery-code" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application / json"
response · 200
{
  "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "reference": "…",
  "code": "…"
}

List order deliveries

GEThttps://api.drometra.com/v1/distribution/orders/deliveries

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Reference parameters

limitinteger

Response · 200

  • array de objectalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X GET "https://api.drometra.com/v1/distribution/orders/deliveries" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application / json"
response · 200
{
  "items": [
    {
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "outcome": "pending",
      "at": "2026-10-21T14:02:31Z",
      "serviceDate": "…",
      "routeId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "stopId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "routeState": "assigned"
    }
  ]
}

Get an order's events

GEThttps://api.drometra.com/v1/distribution/orders/{id}/events

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Response · 200

  • orderIdstring · uuidalways
  • truncatedbooleanalways
  • array de objectalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X GET "https://api.drometra.com/v1/distribution/orders/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/events" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application / json"
response · 200
{
  "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "truncated": true,
  "items": [
    {
      "type": "route_assigned",
      "occurredAt": "2026-10-21T14:02:31Z",
      "receivedAt": "2026-10-21T14:02:31Z",
      "routeId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "stopId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "serviceDate": "…",
      "author": {
        "kind": "company",
        "name": "…"
      }
    }
  ]
}

Create the tracking link

POSThttps://api.drometra.com/v1/distribution/orders/{id}/tracking-link

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.
idempotency-keymandatorystring · uuid
A new UUID per operation. If you repeat the request with the same key, the change is not applied twice.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Response · 201

  • orderIdstring · uuidalways
  • referencestringalways
  • activebooleanalways
  • createdAtstring · date-timealways
  • expiresAtstring · date-timealways
  • revokedAtstring · date-time o nullalways
  • lastOpenedAtstring · date-time o nullalways
  • openCountintegeralways
  • previewCountintegeralways
  • urlstring · urialways
  • messagestringalways
  • whatsappUrlstring · urialways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/orders/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/tracking-link" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Accept: application / json"
response · 201
{
  "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "reference": "…",
  "active": true,
  "createdAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "revokedAt": "2026-10-21T14:02:31Z",
  "lastOpenedAt": "2026-10-21T14:02:31Z",
  "openCount": 0,
  "previewCount": 0,
  "url": "https://empresa.cl/webhooks/drometra",
  "message": "…",
  "whatsappUrl": "https://empresa.cl/webhooks/drometra"
}

Revoke the tracking link

POSThttps://api.drometra.com/v1/distribution/orders/{id}/tracking-link/revoke

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Response · 200

  • orderIdstring · uuidalways
  • referencestringalways
  • activebooleanalways
  • createdAtstring · date-timealways
  • expiresAtstring · date-timealways
  • revokedAtstring · date-time o nullalways
  • lastOpenedAtstring · date-time o nullalways
  • openCountintegeralways
  • previewCountintegeralways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
curl -X POST "https://api.drometra.com/v1/distribution/orders/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/tracking-link/revoke" \
  -H "Authorization: Bearer $DROMETRA _ TOKEN"\
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application / json"
response · 200
{
  "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "reference": "…",
  "active": true,
  "createdAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "revokedAt": "2026-10-21T14:02:31Z",
  "lastOpenedAt": "2026-10-21T14:02:31Z",
  "openCount": 0,
  "previewCount": 0
}