---
title: "Get Zalo logs"
method: GET
path: "/zalo/1/logs"
tags: ["channels", "zalo", "zalo-message-status-reports"]
---

# Get Zalo logs

`GET /zalo/1/logs`

## Request

- Base URL: `https://api.infobip.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.infobip.com/zalo/1/logs`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.infobip.com/auth/1/oauth2/token`
  - API key in header `Authorization`
  - API key in header `Authorization`
  - HTTP basic

You should use this method for displaying logs in the user interface or for some other less frequent usage.

## Query parameters

- `from` string: Message sender.
- `to` string: Message destination.
- `messageId` string[]: List of message IDs (separated by comma) for which logs are requested.
- `generalStatus` 'ACCEPTED' | 'PENDING' | 'UNDELIVERABLE' | 'DELIVERED' | 'EXPIRED' | 'REJECTED': Sent Message status.
- `sentSince` string, date-time: Lower limit on date and time of sending message. Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
- `sentUntil` string, date-time: Upper limit on date and time of sending message. Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
- `limit` integer: Maximal number of messages in returned logs. If you want to fetch more than 1000 logs you can retrieve them in pages using `sentSince` and `sentUntil` parameters.

## Response `200`

Logs for given criteria are being fetched.

- 6a8bbdacebad88e7e0de8bdfd30e29e04d114b9f00175a0482b9e26b742d85d5LogsResponse
  - `results` 6a8bbdacebad88e7e0de8bdfd30e29e04d114b9f00175a0482b9e26b742d85d5Log[]: Collection of logs.
    - `bulkId` string: The ID that uniquely identifies the request.
    - `messageId` string: The ID that uniquely identifies the message sent.
    - `to` string: The message destination address.
    - `from` string: Sender ID that can be alphanumeric or numeric.
    - `text` string: Text of the message that was sent.
    - `sentAt` string, date-time: Tells when the message was sent. Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
    - `doneAt` string, date-time: Tells when the message was finished processing by Infobip (i.e. delivered to the destination, delivered to the destination network, etc.). Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
    - `smsCount` integer: The number of sent message segments.
    - `mccMnc` string: Mobile country and network codes.
    - `price` 6a8bbdacebad88e7e0de8bdfd30e29e04d114b9f00175a0482b9e26b742d85d5Price
      - `pricePerMessage` number: Price per one message.
      - `currency` string: The currency in which the price is expressed.
    - `status` 6a8bbdacebad88e7e0de8bdfd30e29e04d114b9f00175a0482b9e26b742d85d5Status
      - `groupId` integer: Status group ID.
      - `groupName` string: Status group name.
      - `id` integer: Status ID.
      - `name` string: Status name.
      - `description` string: Human-readable description of the status.
      - `action` string: Action that should be taken to eliminate the error.
    - `error` 6a8bbdacebad88e7e0de8bdfd30e29e04d114b9f00175a0482b9e26b742d85d5Error
      - `groupId` integer: Error group ID.
      - `groupName` string: Error group name.
      - `id` integer: Error ID.
      - `name` string: Error name.
      - `description` string: Human-readable description of the error.
      - `permanent` boolean: Tells if the error is permanent.

## Other responses

- `400`: Bad Request.
- `401`: Unauthorized
- `403`: Forbidden
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/infobip/apis/infobip-openapi-specification.md) - [All operations](https://skmtc.dev/infobip/apis/infobip-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/infobip/apis/infobip-openapi-specification/revisions/9dcbbaf902de?raw)
