Skip to content
Developer docsAPI referenceJobs

List jobs

Your organization's jobs, newest first, one page at a time.

GEThttps://runner.cargoduo.com/v1/jobs

Authentication

Bearer API key with scopejobs:readLearn more

Query parameters

NameTypeRequiredDescription
limitinteger
integer
No

Page size.

Default 201–100
cursorstring
string
No

next_cursor of the previous page.

statusstring
string
No

Only jobs in this status.

queuedrunningsucceededfailedcanceled

Example request

curl -X GET "https://runner.cargoduo.com/v1/jobs?limit=2&status=succeeded" \
  -H "Authorization: Bearer $CARGODUO_API_KEY"

Example response

200 OK · JobList
{
  "data": [
    {
      "id": "job_4bK9mT2xQe7LpW1zRc8VdN3f",
      "object": "job",
      "status": "succeeded",
      "reference": "order-1042",
      "source": "api",
      "created_at": "2026-10-19T09:12:03Z",
      "started_at": "2026-10-19T09:12:03Z",
      "finished_at": "2026-10-19T09:12:07Z",
      "progress": {
        "stage": "done",
        "vehicles_done": 1,
        "placed_items": 58
      },
      "summary": {
        "items_requested": 58,
        "items_placed": 58,
        "items_unplaced": 0,
        "vehicles_used": 1,
        "total_weight": 8580,
        "volume_utilization": 0.3116,
        "queue_ms": 12,
        "compute_ms": 4210
      },
      "cost": {
        "credits": 0.28105,
        "reserved_credits": 1.11,
        "rate_card_version": 1,
        "breakdown": {
          "base": 0.06,
          "vehicles": 0.2,
          "compute": 0.02105,
          "large_load": 0
        }
      },
      "error": null,
      "warnings": [],
      "result_url": "https://runner.cargoduo.com/v1/jobs/job_4bK9mT2xQe7LpW1zRc8VdN3f/result",
      "pdf_url": "https://app.cargoduo.com/r/Xq7Lm2Vt9KbR4cN8wZp1Hs6Yd3Fg5Jk0Ta2Ue7Wn4Ci",
      "expires_at": "2026-11-02T09:12:03Z"
    },
    {
      "id": "job_7hN2wQ5rTb9xKc3LmP8sVa1d",
      "object": "job",
      "status": "succeeded",
      "reference": "order-1039",
      "source": "api",
      "created_at": "2026-10-18T07:12:03Z",
      "started_at": "2026-10-18T07:12:03Z",
      "finished_at": "2026-10-18T07:12:05Z",
      "progress": {
        "stage": "done",
        "vehicles_done": 1,
        "placed_items": 24
      },
      "summary": {
        "items_requested": 24,
        "items_placed": 24,
        "items_unplaced": 0,
        "vehicles_used": 1,
        "total_weight": 6240,
        "volume_utilization": 0.2213,
        "queue_ms": 9,
        "compute_ms": 2870
      },
      "cost": {
        "credits": 0.27435,
        "reserved_credits": 1.11,
        "rate_card_version": 1,
        "breakdown": {
          "base": 0.06,
          "vehicles": 0.2,
          "compute": 0.01435,
          "large_load": 0
        }
      },
      "error": null,
      "warnings": [],
      "result_url": "https://runner.cargoduo.com/v1/jobs/job_7hN2wQ5rTb9xKc3LmP8sVa1d/result",
      "pdf_url": "https://app.cargoduo.com/r/Xq7Lm2Vt9KbR4cN8wZp1Hs6Yd3Fg5Jk0Ta2Ue7Wn4Ci",
      "expires_at": "2026-11-01T07:12:03Z"
    }
  ],
  "next_cursor": "job_7hN2wQ5rTb9xKc3LmP8sVa1d"
}

Responses

  • 200OKOne page of jobs.
    NameTypeRequiredDescription
    dataJob[]
    Job[]
    No
    next_cursorstring
    string
    No

    Pass as ?cursor= for the next page; empty on the last page.

  • 401Unauthorizedunauthorizedkey_revokedkey_expired
    • unauthorizedMissing, malformed or unknown API key.
    • key_revokedThe key was revoked.
    • key_expiredThe key passed its expiry date.
    NameTypeRequiredDescription
    errorErrorBodyrequired
    ErrorBody
    Yes
    All error codes
  • 403Forbiddenip_not_allowedsubscription_inactiveaccount_inactivescope_missing
    • ip_not_allowedThe calling IP is not on the key's allowlist.
    • subscription_inactiveThe organization has no active subscription that includes the API.
    • account_inactiveThe organization is suspended, or has no owner whose account is active.
    • scope_missingThe key lacks a scope this endpoint needs.
    NameTypeRequiredDescription
    errorErrorBodyrequired
    ErrorBody
    Yes
    All error codes
  • 422Unprocessable entityvalidation_failed
    • validation_failedThe request is well-formed JSON but describes an invalid job. details[] lists every problem.
    NameTypeRequiredDescription
    errorErrorBodyrequired
    ErrorBody
    Yes
    All error codes
  • 429Too many requestsrate_limited
    • rate_limitedToo many requests in the current minute, hour or day (per key or per organization), or more than 60 failed authentications per minute from your IP address.
    NameTypeRequiredDescription
    errorErrorBodyrequired
    ErrorBody
    Yes
    All error codes
  • 500Internal server errorinternal_error
    • internal_errorSomething failed on our side.
    NameTypeRequiredDescription
    errorErrorBodyrequired
    ErrorBody
    Yes
    All error codes
  • 503Service unavailableapi_disabled
    • api_disabledThe API is temporarily disabled (maintenance) or switched off for the organization.
    NameTypeRequiredDescription
    errorErrorBodyrequired
    ErrorBody
    Yes
    All error codes