key_deleted is true once that key is deleted), and — when it failed — the error’s code, field and reason (the message we answered). A message send also keeps to and your reference; a call that made a message or a campaign keeps its id.
You can read it two ways:
- In the app: Developer → Request log. Filter by date, status, address and key, or search by To or Reference; open a call to see its request, our reply and the live status of the message it made. Download the rows as CSV or JSON.
- From your own software:
GET /v1/requestsandGET /v1/requests/{id}, with a Full key. Any other key answersforbidden_scope.
What is kept
- The request body as you sent it and our reply, each cut at 10 KB.
request_cutandreply_cutaretruewhen a body was cut. - Never the
Authorizationheader, an API key or a webhook signing secret. For a file upload (POST /v1/media), each file’s name, type and size only — never the file. - Calls to
/v1/requestsare listed too, without our reply.
Listing calls
since and until (ISO 8601), status (succeeded or failed), path (an address as called, or its route such as /v1/contacts/{phone}), key (a key’s id), to and reference. Newest first, 50 a page (per_page, at most 100). Send next_cursor back as ?cursor= for the next page; it is null on the last page.
One call
request, reply and message: the message the call made, with its status now (accepted, sent, delivered, read or failed, and why it failed).