---
title: "Send TikTok events"
method: POST
path: "/tiktok/1/events"
tags: ["channels", "tiktok", "tiktok-events"]
---

# Send TikTok events

`POST /tiktok/1/events`

## 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/tiktok/1/events`
- 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

Send typing indicator or mark-as-read events to TikTok users in active conversations with your TikTok Business Account.

## Request body

- E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cTikTokEventRequest
  - `events` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cTikTokEvent[], required: An array of event objects of the events to be sent.
    - `sender` string, required: The sender ID. It can be alphanumeric or numeric (e.g., `CompanyName`). Make sure you don't exceed [character limit](https://www.infobip.com/docs/sms/get-started#sender-names).
    - `destinations` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cToDestination[], required: An array of destination objects for where the event is being sent. A valid destination is required.
      - `to` string, required: The destination address of the message.
      - `messageId` string: The ID that uniquely identifies the message sent.
    - `content` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cTikTokOutboundEventContent, required: Event content.
      - `type` 'TYPING_INDICATOR' | 'MARK_AS_READ', required
    - `options` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cTikTokEventOptions: Event options.
      - `platform` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cPlatform: Platform options. For more details, see [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
        - `entityId` string: Used when specifying an entity in outbound send requests. It is also returned in notification events. For detailed usage, refer to the [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
        - `applicationId` string: Used when specifying an application in outbound send requests. It is also returned in notification events. For detailed usage, refer to the [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
      - `validityPeriod` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cValidityPeriod: Message validity period. Once expired, the message won't be sent. Validity period longer than 48h is not supported. If exceeded, it will be automatically set to 48h.
        - `amount` integer, required: Message validity period's value. If `timeUnit` is not set, it will default to `MINUTES`.
        - `timeUnit` 'SECONDS' | 'MINUTES' | 'HOURS': Message validity period time unit.
  - `options` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cDefaultEventRequestOptions: Options applicable to all events in the request.
    - `schedule` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cRequestSchedulingSettings: Options for scheduling a message.
      - `bulkId` string: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. If not provided, it will be auto-generated and returned in the API response.
      - `sendAt` string, date-time: Date and time when the message is to be sent. Used for scheduled messages. Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, and can only be scheduled for no later than 180 days in advance.
      - `sendingSpeedLimit` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cSendingSpeedLimit: Limits the send speed when sending messages in bulk to deliver messages over a longer period of time. You may wish to use this to allow your systems or agents to handle large amounts of incoming traffic, e.g., if you are expecting recipients to follow through with a call-to-action option from a message you sent. Not setting a send speed limit can overwhelm your resources with incoming traffic.
        - `amount` integer, required: The number of messages to be sent per timeUnit. By default, the system sends messages as fast as the infrastructure allows. Use this parameter to adapt sending capacity to your needs. The system is only able to work against its maximum capacity for ambitious message batches.
        - `timeUnit` 'MINUTE' | 'HOUR' | 'DAY': The time unit to define when setting a messaging speed limit. Defaults to `MINUTE`.

## Response `200`

OK

- E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cResponseEnvelopeMessageResponseMessageResponseDetails
  - `bulkId` string: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. If not provided, it will be auto-generated and returned in the API response. Typically used for fetching delivery reports and message logs.
  - `messages` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cMessageResponseMessageResponseDetails[], required: An array of message objects of a single message or multiple messages sent under one bulk ID.
    - `messageId` string: Unique message ID. If not provided, it will be auto-generated and returned in the API response.
    - `status` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cMessageStatus: Indicates the [status](https://www.infobip.com/docs/essentials/response-status-and-error-codes#api-status-codes) of the message and how to recover from an error should there be any.
      - `groupId` integer: Status group ID.
      - `groupName` 'ACCEPTED' | 'PENDING' | 'UNDELIVERABLE' | 'DELIVERED' | 'EXPIRED' | 'REJECTED': Status group name that describes which category the status code belongs to, i.e., [PENDING](https://www.infobip.com/docs/essentials/response-status-and-error-codes#pending-general-status-codes), [UNDELIVERABLE](https://www.infobip.com/docs/essentials/response-status-and-error-codes#undeliverable-general-status-codes), [DELIVERED](https://www.infobip.com/docs/essentials/response-status-and-error-codes#delivered-general-status-codes), [EXPIRED](https://www.infobip.com/docs/essentials/response-status-and-error-codes#expired-general-status-codes), [REJECTED](https://www.infobip.com/docs/essentials/response-status-and-error-codes#rejected-general-status-codes).
      - `id` integer: Status code ID.
      - `name` string: [Status code](https://www.infobip.com/docs/essentials/response-status-and-error-codes#api-status-codes) name.
      - `description` string: Human-readable description of the status.
      - `action` string: Action to take to recover from the error.
    - `destination` string: The destination address of the message, i.e., its recipient.
    - `details` E2cbdd2d36d35e3e9c85bc5344135c1a087d73d9cf6c9dc8cf1c258211186c7cMessageResponseDetails: Other details of the message.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `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)
