Results of a batch

What happened after the queue: attempted = delivered + failed + pending.

GET/v1/batches/{id}/results

Path Parameters

  • idstringrequired

Details

delivered and failed come from carrier delivery receipts; pending was accepted by the carrier with no final receipt (no_receipt of those never got one). replies are inbound messages from recipients to the sending number within reply_window_hours of the batch finishing (opt-out keywords are not counted); stops are recipients who opted out in that time and are still opted out.

spent_usd sums the recorded price of each message. failures groups failed recipients by reason.

Derived from stored messages and cached for up to a minute while numbers can still move; partial: true means a read bound was hit and delivered / replies are floors.

Responses

  • 200BatchResults

    Results

  • 401Error

    Missing, malformed, or revoked API key

  • 402Error

    Billable live calls only: the prepaid credit balance cannot cover the call (insufficient_credits); nothing was done or charged

  • 404Error

    Not found

  • 429Error

    Rate limit or quota exceeded

Response Fields

  • objectbatch_results
  • batch_idstring
  • recipientsinteger
  • attemptedinteger
  • deliveredinteger
  • failedinteger
  • pendinginteger
  • no_receiptinteger
  • skippedobject
  • skipped.opted_outinteger
  • skipped.topic_unsubscribedinteger
  • canceledinteger
  • queuedinteger
  • repliesinteger
  • repliersinteger
  • stopsinteger
  • spent_usdnumber
  • failuresarray of object
  • failures[].codestring
  • failures[].titlestring
  • failures[].explanationstring
  • failures[].actionstring
  • failures[].countinteger
  • reply_window_hoursinteger
  • window_openboolean
  • partialboolean
  • testboolean
  • computed_atstring (date-time)

Errors

Every error has the same JSON shape, and request_id matches the X-Request-Id response header. Errors lists every code and what to do about it.

  • 401

    Missing, malformed, or revoked API key

  • 402

    Billable live calls only: the prepaid credit balance cannot cover the call (insufficient_credits); nothing was done or charged

  • 404

    Not found

  • 429

    Rate limit or quota exceeded