---
title: "Get Delivery status."
method: GET
path: "/epost/v2/deliveries/{delivery-id}/status"
tags: ["ePost Communication Platform Delivery"]
---

# Get Delivery status.

`GET /epost/v2/deliveries/{delivery-id}/status`

## Request

- Base URL: `https://api.klara.ch`
- URL: `https://api.klara.ch/epost/v2/deliveries/{delivery-id}/status`
- Auth: one of:
  - API key in header `X-API-KEY`
  - HTTP bearer

## Path parameters

- `delivery-id` string, required

## Response `200`

OK

- DeliveryStatusResponseV2: Response of status v2 endpoint
  - `deliveryId` string: Delivery's id
  - `status` 'CREATED' | 'PROCESSING' | 'DELIVERED' | 'DELIVERED_WITH_ERROR' | 'ERROR': Status of the delivery: <ul><li><b>ERROR</b>: No document is delivered successfully</li><li><b>DELIVERED_WITH_ERROR</b>: Some documents are delivered successfully</li><li><b>DELIVERED</b>: All documents are delivered successfully</li></ul>
  - `document` object: Document information
    - `failedDocument` DeliveryStatusResponseV2FailedDocument[]: Failed delivery documents
      - `senderEndToEndId` string: End to end id defined by you for each document. It helps you keep track the document
      - `documentTitle` string: Document title
      - `status` 'FAILED' | 'DELIVERED_WITH_ERROR' | 'NOT_MATCH_ALL_RECIPIENTS': Status of document: <ul><li><b>DELIVERED_WITH_ERROR or FAILED</b>: Fail to deliver to some recipients. Check detail field for more information</li><li><b>NOT_MATCH_ALL_RECIPIENTS</b>: Unable to find matching for all recipients. Note: Only available in case allRecipientsRequired attribute on. Check detail field to know which recipients could not do the matching</li></ul>
      - `errorCode` string: Error code: <ul><li><b>FILE_CONTAINS_MALWARE</b>: The file has viruses</li><li><b>DOCUMENT_SIZE_EXCEEDED</b>: Document size exceeded</li><li><b>DOCUMENT_IMPORT_UNKNOWN_ERROR</b>: Internal server error</li></ul>
      - `errorMessage` string: Error message
      - `detail` DeliveryStatusResponseV2FailedDetail[]: A list of recipients we could not deliver to
        - `deliveryChannel` 'DIGITAL' | 'PHYSICAL' | 'SMS' | 'AUTO' | 'EBILL' | 'EMAIL': Delivery channel
        - `errorCode` string: Error code
        - `errorMessage` string: Error message
        - `senderUserId` string: User id was defined by you for each recipient
    - `deliveredDocument` DeliveryStatusResponseV2DeliveredDocument[]: Delivered documents
      - `senderEndToEndId` string: End to end id defined by sender for each document
      - `documentTitle` string: Document title
      - `detail` DeliveryStatusResponseV2DeliveredDetail[]: List of recipient successfully received the document. This list is only returned when displayDeliveredDocuments is set to true when sending the delivery.
        - `deliveryChannel` 'DIGITAL' | 'PHYSICAL' | 'SMS' | 'AUTO' | 'EBILL' | 'EMAIL': Delivery channel
        - `participantId` string: The participant id of the user that was delivered
        - `senderUserId` string: User id was defined by sender for each recipient
        - `trackingNumber` string: Tracking number of the document that was delivered. It's only relevant for the postage REGISTERED and APLUS.
    - `delivered` object: Statistics of delivered documents
      - `recipientsDeliveredDigitally` integer: Number of recipients that have been delivered digitally to
      - `recipientsDeliveredPhysically` integer: Number of recipients that have been delivered physically to
      - `recipientsWithSmsDelivered` integer: Number of recipients that received SMS
      - `recipientsDeliveredEbill` integer: Number of recipients that have been delivered via eBill
      - `recipientsDeliveredEmail` integer: Number of recipients that have been delivered via email
    - `pendingDocuments` integer: Number of documents that are in process

## Other responses

- `400`: Delivery id is invalid<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `401`: No Authorization header found or invalid token<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `403`: The current user is not allowed to access this company data<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `429`: API rate limit exceeded<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.

---

[API](https://skmtc.dev/klara/apis/klara-public-api.md) · [All operations](https://skmtc.dev/klara/apis/klara-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/klara/apis/klara-public-api/revisions/490b1a879fc2?raw)
