openapi: 3.0.2
info:
title: Fyno Rest API
version: v1
servers:
- url: https://api.fyno.io/v1
security:
- BearerAuth: []
paths:
/{WSID}/{version}/event:
post:
tags:
- Fire an Event
summary: Notify a single user
description: This API enables you to fire a notification event, which sends out notifications to your users.
Before firing your first notification event, you must perform the following actions in your Fyno account:
- Create a Template
- Create a Notification Event
- Create an API Key
- And obtain your workspace ID from the API Keys page.
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Enter the version for which you wish to fire the notification.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
description: Your event payload must specify at least *`distinct_id`* or *`to`* while firing a notification event.
If the payload contains:
- Option 1: ONLY *`to`* (and no *`distinct_id`*) - the notification event uses all destination values from the *`to`* object (as it is).
- Option 2: ONLY *`distinct_id`* (and no *`to`*) - the notificaton event uses all destination values (such as SMS, WhatsApp, Email, Push, Voice and so on) from the user's profile and sends the notification.
- Option 3: BOTH *`distinct_id`* and *`to`* - the `to` and `distinct_id` channel data merges (`to` object take precedences) and sends the notification. The sent notification is tagged to the ID specified, which can be then used to search the logs by using `distinct_id`.
content:
application/json:
schema:
$ref: "#/components/schemas/version_event_body"
required: true
responses:
"202":
$ref: "#/components/responses/EventRequestAccepted"
"400":
$ref: "#/components/responses/EventNameDoesNotExist"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/event/bulk:
post:
tags:
- Fire an Event
summary: Notify multiple users
description: This API enables you to notify multiple users with one event trigger.
Before firing your first notification event, you must perform the following actions in your Fyno account:
- Create a Template
- Create an Event
- Create an API Key
- And obtain your workspace ID from the API Keys page.
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Enter the version for which you wish to fire the notification.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/event_bulk_body"
required: true
responses:
"202":
$ref: "#/components/responses/BulkEventRequestAccepted"
"400":
$ref: "#/components/responses/EventNameDoesNotExist"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles:
post:
tags:
- Manage User Profiles
summary: Create user profile
description: This API enables you to create a user profile within Fyno, which you can then use to send out notifications.
Before creating your first user profile, you should obtain the following values needed for authentication:
- API Key
- Workspace ID
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/version_profiles_body"
required: true
responses:
"201":
$ref: "#/components/responses/ProfileCreatedSuccessfully"
"400":
$ref: "#/components/responses/DistinctIDAlreadyExists"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/{distinct_id}:
get:
tags:
- Manage User Profiles
summary: Get user profile
description: This API enables you to get an existing user profile.
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
- name: distinct_id
in: path
description: Enter the distinct ID that you currently use to identify the user.
required: true
style: simple
explode: false
schema:
type: string
example: XXXXXXXX
responses:
"200":
$ref: "#/components/responses/ProfileFetched"
"400":
$ref: "#/components/responses/DistinctIDDoesNotExist"
"401":
$ref: "#/components/responses/APIKeyInvalid"
put:
tags:
- Manage User Profiles
summary: Update user profile
description: This API enables you to update an existing user profile. It updates the entire user profile including `distinct_id` (if specified).
**Note:** If there were existing values in the profile, they will be completely replaced (if those keys are passed) or ignored (if those keys are not passed).
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
- name: distinct_id
in: path
description: Enter the distinct ID that you currently use to identify the user.
required: true
style: simple
explode: false
schema:
type: string
example: XXXXXXXX
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/profiles_distinct_id_body"
required: true
responses:
"200":
$ref: "#/components/responses/ProfileUpdated"
"400":
$ref: "#/components/responses/DistinctIDDoesNotExist3"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/{source_distinct_id}/merge/{target_distinct_id}:
patch:
tags:
- Manage User Profiles
summary: Merge user profiles
description: This API enables you to merge the attributes of a user profile to another user profile. The profile with source distinct ID is merged with the target profile, after which the source profile is automatically deleted. If the target distinct ID does not exist, the source distinct ID is updated to target distinct ID.
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
- name: source_distinct_id
in: path
description: Enter the source distinct ID that you wish to merge from.
required: true
style: simple
explode: false
schema:
type: string
example: XXXXXXXX
- name: target_distinct_id
in: path
description: Enter the target distinct ID to which the profile should merge into.
required: true
style: simple
explode: false
schema:
type: string
example: XXXXXXXX
responses:
"200":
$ref: "#/components/responses/ProfileMergedSuccessfully"
"400":
$ref: "#/components/responses/SourceDistinctIDDoesNotExist"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/delete:
post:
tags:
- Manage User Profiles
summary: Delete user profile
description: This API enables you to delete existing user profiles by using `distinct_id`.
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/profiles_delete_body"
required: true
responses:
"200":
$ref: "#/components/responses/ProfileDeletedSuccessfully"
"400":
$ref: "#/components/responses/DistinctIDDoesNotExist2"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/{distinct_id}/channel:
patch:
tags:
- Manage User Profiles
summary: Add/Update channel data
description: This API enables you to update existing data for `sms`, `whatsapp`, `email`, `slack`, `discord`, and `teams` channels, and add new tokens for `push` and `inapp` channels. It works like an update for channels that can hold a single destination only and like an insert for channels that can hold multiple destinations/tokens.
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
- name: distinct_id
in: path
description: Enter the distinct ID that you currently use to identify the user.
required: true
style: simple
explode: false
schema:
type: string
example: XXXXXXXX
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/distinct_id_channel_body"
required: true
responses:
"200":
$ref: "#/components/responses/ProfileChannelUpdated"
"400":
$ref: "#/components/responses/DistinctIDDoesNotExist"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/{distinct_id}/channel/delete:
post:
tags:
- Manage User Profiles
summary: Delete channel data
description: This API enables you to delete existing data for all channels. You can use either of the following approaches:
- **Option 1:** Use the `channel` key in the payload to delete all tokens in the specified channel.
- **Option 2:** Use the `push` and `inapp` keys in the payload to delete specific tokens in these channels.
**Note:** You can use either option 1 or option 2. It is not allowed to use both approaches in one request.
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
- name: distinct_id
in: path
description: Enter the distinct ID that you currently use to identify the user.
required: true
style: simple
explode: false
schema:
type: string
example: XXXXXXXX
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/channel_delete_body"
required: true
responses:
"200":
$ref: "#/components/responses/ProfileChannelUpdated"
"400":
$ref: "#/components/responses/DistinctIDOrChannelDataDoesNotExist"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/subscriptions/preference:
get:
tags:
- Manage User Subscriptions & Preferences
summary: Get user preference
description: This API enables you to get all the subscriptions topics (with sections) defined in your workspace along with the opted-in/opted-out preference of a particular user.
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
- name: distinct_id
in: query
description: Enter the distinct ID that you currently use to identify the user.
required: true
style: form
explode: true
schema:
type: string
example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- name: event_list
in: query
description: Set this value to 'true' to receive list of notification events attached to each subscription topic.
required: false
style: form
explode: false
schema:
type: boolean
default: false
enum:
- true
- false
example: false
responses:
"200":
$ref: "#/components/responses/PrefProfileFetched"
"400":
$ref: "#/components/responses/DistinctIDMissing"
"401":
$ref: "#/components/responses/APIKeyInvalid"
put:
tags:
- Manage User Subscriptions & Preferences
summary: Update user preference
description: This API enables you to update the channel preference of a user for multiple subscription topics. In the JSON payload, enter the subscription ID as keys to update the channel preference. To update the user preference for all subscription topics at once (global preference), use 'all' instead of the subscription id.
**Note:** If the channel configuration for a subscription topic is set to 'required', then the user preference for the channel cannot be updated.
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
- name: distinct_id
in: query
description: Enter the distinct ID that you currently use to identify the user.
required: true
style: form
explode: true
schema:
type: string
example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/update_subscription_multiple"
required: true
responses:
"200":
$ref: "#/components/responses/SubscriptionUpdated"
"400":
$ref: "#/components/responses/DistinctIDChannelStatusMissing"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/subscriptions/list/{subscription_id}/user:
post:
tags:
- Manage User Subscriptions & Preferences
summary: Update user preference (single)
description: This API enables you to update the channel preference of a user for a particular subscription topic.
**Note:** If the channel configuration for a subscription topic is set to 'required', then the user preference for the channel cannot be updated.
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
- name: subscription_id
in: path
description: Enter the subscription ID to update the channel preference for the subscription topic. To update the user preference for all subscription topics at once (global preference), use 'all' instead of the subscription id.
required: true
style: simple
explode: true
schema:
type: string
example: SXXXXXXXXX
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/update_subscription_single"
required: true
responses:
"200":
$ref: "#/components/responses/SubscriptionUpdated"
"400":
$ref: "#/components/responses/DistinctIDChannelStatusMissing"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/verify/validate:
post:
tags:
- Fyno Verify
summary: Verify OTP
description: This API enables you to validate the OTP entered by the user using either `request_id` (received in response of the Fire an Event API) or `destination` (such as phone number, email).
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to manage the user profile.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
- name: request_id
in: query
description: Specify the request id of the triggered notification event that sent the OTP to the user.
You must use this query parameter if **you've disabled "Use destination as id"** in the Fyno Verify setting.
required: false
style: form
explode: true
schema:
type: string
example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- name: destination
in: query
description: Enter the destination where the OTP is sent. It can be either mobile no or email id.
You must use this query parameter if **you've enabled "Use destination as id"** in the Fyno Verify setting.
required: false
style: form
explode: true
schema:
type: string
example: xxxxxxxxxx
- name: otp
in: query
description: Enter the OTP which you want to validate.
required: true
style: form
explode: true
schema:
type: string
example: 1234
responses:
"200":
$ref: "#/components/responses/OTPSuccess"
"400":
$ref: "#/components/responses/OTPInvalid"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/properties/set:
post:
tags:
- User Properties
summary: "Update User Property"
description: "This API enables you to update user properties of your users listed in your [User Profiles](../user-profiles-overview). If the user with distinct ID doesn't exist, it creates a new user with the provided distinct ID and updates values for all the provided properties.
**Note:** If a [property was not created earlier](../adding-new-user-property#how-to-add-a-new-user-property-from-user-profile-page), it will create a new property and the data type of the property will be determined based on the data type of the value. For example, if you `$set` a new property called `premium_user=true`, it will create the `premium_user` property with `Boolean` type and value `true`.
The property values can take the following data types:
- **String:** Can be alphanumeric and contain a maximum of 255 characters. Example: `user_type=Premium` or `membership_number=ABC123`.
- **Number:** Can be an integer or a decimal. Example: `ltv=23000` or `cost=20.34`.
- **Boolean:** Can only contain `true` or `false` values.
- **Date:** Must be in ISO 8601 format. Example: `membership_date=2020-10-01T18:30:00.000Z` or `membership_date=2020-10-01T18:30:00Z` or `membership_date=2020-10-01T18:30:00.000+05:30` or `membership_date=2020-10-01T18:30:00+02:00` or `membership_date=2020-10-01`.
- **List:** Can contain an array of strings, numbers, and dates. Example: `products_ordered=['iPhone 16 Pro', 'iPad 32 GB']` or `purchase_amount=[23000, 20.34]` or `purchase_date=['2020-10-01T18:30:00Z', '2021-11-01T13:35:00+02:00', '2023-12-05']`
If you try to set a value with a data type that does not match the predefined property type, the API will accept the request but ignore the invalid value. For example, if a predefined property `cost` expects a numeric value and you try to set it to `ABC`, the API will not store the value.
These user properties can be used to filter your users for creating [user cohorts](../creating-cohorts) and [campaigns](../campaign_creation#creating-a-campaign-using-cohort)."
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to update the user property.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/set_user_property"
required: true
responses:
"202":
$ref: "#/components/responses/PropertyUpdateRequestAccepted"
"400":
$ref: "#/components/responses/EmptySetObject"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/properties/set-once:
post:
tags:
- User Properties
summary: "Set an Unset Property"
description: "This API enables you to set user properties of your users listed in your [User Profiles](../user-profiles-overview) **only if it is currently unset.** If the given payload contains a mix of properties that are currently set and unset, then it will only add values to the properties that are currently unset and ignore the other properties. If the user with distinct ID doesn't exist, it creates a new user with the provided distinct ID and sets values for all the provided properties.
**Note:** If a [property was not created earlier](../adding-new-user-property#how-to-add-a-new-user-property-from-user-profile-page), it will create a new property and the data type of the property will be determined based on the data type of the value. For example, if you `$once` a new property called `premium_user=true`, it will create the `premium_user` property with `Boolean` type and value `true`.
The property values can take the following data types: - **String:** Can be alphanumeric and contain a maximum of 255 characters. Example: `user_type=Premium` or `membership_number=ABC123`.
- **Number:** Can be an integer or a decimal. Example: `ltv=23000` or `cost=20.34`.
- **Boolean:** Can only contain `true` or `false` values.
- **Date:** Must be in ISO 8601 format. Example: `membership_date=2020-10-01T18:30:00.000Z` or `membership_date=2020-10-01T18:30:00Z` or `membership_date=2020-10-01T18:30:00.000+05:30` or `membership_date=2020-10-01T18:30:00+02:00` or `membership_date=2020-10-01`.
- **List:** Can contain an array of strings, numbers, and dates. Example: `products_ordered=['iPhone 16 Pro', 'iPad 32 GB']` or `purchase_amount=[23000, 20.34]` or `purchase_date=['2020-10-01T18:30:00Z', '2021-11-01T13:35:00+02:00', '2023-12-05']`
If you try to set a value with a data type that does not match the predefined property type, the API will accept the request but ignore the invalid value. For example, if a predefined property `cost` expects a numeric value and you try to set it to `ABC`, the API will not store the value.
These user properties can be used to filter your users for creating [user cohorts](../creating-cohorts) and [campaigns](../campaign_creation#creating-a-campaign-using-cohort)."
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to update the user property.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/set_user_property_once"
required: true
responses:
"202":
$ref: "#/components/responses/PropertyUpdateRequestAccepted"
"400":
$ref: "#/components/responses/EmptySetOnceObject"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/properties/numerical-add:
post:
tags:
- User Properties
summary: "Increment/Decrement Numeric Property"
description: "This API enables you to increment/decrement values of numeric properties of your users listed in your [User Profiles](../user-profiles-overview). If the user with distinct ID doesn't exist, it creates a new user with the provided distinct ID and updates values for all the provided properties. To decrement property values, you can pass a negative value.
**Note:** If a [property was not created earlier](../adding-new-user-property#how-to-add-a-new-user-property-from-user-profile-page), it will create a new property and the data type of the property will set to `Number`. For example, if you `$add` a new property called `ltv=1200`, it will create the `ltv` property with `Number` type and value `1200`. Do not enclose the value in double quotes as they must be of numeric type.
These user properties can be used to filter your users for creating [user cohorts](../creating-cohorts) and [campaigns](../campaign_creation#creating-a-campaign-using-cohort)."
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to update the user property.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/increment_user_property"
required: true
responses:
"202":
$ref: "#/components/responses/PropertyUpdateRequestAccepted"
"400":
$ref: "#/components/responses/EmptyAddObject"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/properties/list-append:
post:
tags:
- User Properties
summary: "Append Values to List"
description: "This API enables you to append values to list type properties of your users listed in your [User Profiles](../user-profiles-overview). If the user with distinct ID doesn't exist, it creates a new user with the provided distinct ID and updates values for all the provided properties.
**Note:** If a [property was not created earlier](../adding-new-user-property#how-to-add-a-new-user-property-from-user-profile-page), it will create a new property and the data type of the property will set to `List`. For example, if you `$append` a new property called `order_ids=245`, it will create the `order_ids` property with `List` type and value `[245]`. A list may contain only unique values, so if a value already exists, and you try to add the same value, it will be ignored.
You can append values with the following data types: - **String:** Can be alphanumeric and contain a maximum of 255 characters. Example: `products_order=['iPhone 16 Pro', 'iPad 32 GB']`.
- **Number:** Can be an integer or a decimal. Example: `purchase_amount=[23000, 20.34]`.
- **Date:** Must be in ISO 8601 format: `YYYY-MM-DDTHH:MM:SS.sssZ`. Example: `membership_date=2020-10-01T18:30:00.000Z` or `membership_date=2020-10-01T18:30:00Z` or `membership_date=2020-10-01T18:30:00.000+05:30` or `membership_date=2020-10-01T18:30:00+02:00` or `membership_date=2020-10-01`.
You can append only one value to a property at a time. Although not recommended, a list property can contain a mix of different data types.
These user properties can be used to filter your users for creating [user cohorts](../creating-cohorts) and [campaigns](../campaign_creation#creating-a-campaign-using-cohort)."
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to update the user property.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/append_to_user_property"
required: true
responses:
"202":
$ref: "#/components/responses/PropertyUpdateRequestAccepted"
"400":
$ref: "#/components/responses/EmptyAppendObject"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/properties/list-remove:
post:
tags:
- User Properties
summary: "Remove Value From List"
description: "This API enables you to remove existing values from the list type properties of your users listed in your [User Profiles](../user-profiles-overview). If the specified distinct ID or list property doesn't exist, it simply accepts the remove request and ignores it.
**Note:** This API can only be used to remove values from list and can remove only one value from a property at a time. To unset (nullify) other property types, please use [Unset User Property API.](./unset-user-property)"
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to update the user property.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/remove_from_user_property_list"
required: true
responses:
"202":
$ref: "#/components/responses/PropertyUpdateRequestAccepted"
"400":
$ref: "#/components/responses/EmptyRemoveObject"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/properties/unset:
post:
tags:
- User Properties
summary: "Unset User Property"
description: "This API enables you to unset (nullify) user properties of your users listed in your [User Profiles](../user-profiles-overview). If the specified distinct ID or property doesn't exist, it simply accepts the unset request and ignores it. This API can be used to unset all property data types: String, Number, Boolean, Date, List."
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to update the user property.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unset_user_property"
required: true
responses:
"202":
$ref: "#/components/responses/PropertyUpdateRequestAccepted"
"400":
$ref: "#/components/responses/EmptyUnsetObject"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/{version}/profiles/properties/batch:
post:
tags:
- User Properties
summary: "Batch Update User Properties"
description: "This API enables you to modify user properties of your users listed in your [User Profiles](../user-profiles-overview) in bulk:
- [Update User Properties](./update-user-property) - `$set`
- [Set Unset Properties](./set-an-unset-property) - `$once`
- [Increment/Decrement Numeric Properties](./increment-decrement-numeric-property) - `$add`
- [Append Values to List](./append-values-to-list) - `$append`
- [Remove Values From List](./remove-value-from-list) - `$remove`, and
- [Unset User Properties](./unset-user-property) `$unset`
Please refer to function specific API documentation for [$set](./update-user-property), [$once](./set-an-unset-property), [$add](./increment-decrement-numeric-property), [$append](./append-values-to-list), [$remove](./remove-value-from-list), [$unset](./unset-user-property) before using this API.
**Note:** The user properties in User Profiles can be used to filter your users for creating [user cohorts](../creating-cohorts) and [campaigns](../campaign_creation#creating-a-campaign-using-cohort)."
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: version
in: path
description: Specify the version for which you would like to update the user property.
required: true
style: simple
explode: false
schema:
type: string
default: live
enum:
- live
- test
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/user_property_bulk"
responses:
"202":
$ref: "#/components/responses/PropertyUpdateRequestAcceptedBulk"
"400":
$ref: "#/components/responses/EmptyActionBulkProperty"
"401":
$ref: "#/components/responses/APIKeyInvalid"
/{WSID}/suppressions:
get:
tags:
- Suppression List
summary: "Get Suppression List"
description: "The Suppression List API enables you to manage users who should be excluded from receiving communications on specific channels.
This API enables you to retrieve the list of all suppressed users across various channels."
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
responses:
"200":
$ref: "#/components/responses/SuppressionListSuccess"
"401":
$ref: "#/components/responses/APIKeyInvalid"
post:
tags:
- Suppression List
summary: "Add User to Suppression List"
description: "Add a user to the suppression list for a given channel.
Note: If both `distinct_id` and `destination` are provided, `distinct_id` takes precedence, and `destination` is ignored."
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/add_suppression_list"
responses:
"200":
$ref: "#/components/responses/SuppressionListUpdated"
"400":
$ref: "#/components/responses/SuppressionListError"
"401":
$ref: "#/components/responses/APIKeyInvalid"
delete:
tags:
- Suppression List
summary: "Delete User from Suppression List"
description: "Delete a suppression entry using its `_id`, `distinct_id`, `destination`.
Note: If all three values (`distinct_id`, `destination`, `_id`) are provided, `_id` takes precedence followed by `distinct_id`."
parameters:
- name: WSID
in: path
description: Enter your workspace ID. You can obtain this value from the API Keys page within your Fyno account.
required: true
style: simple
explode: false
schema:
type: string
example: FYXXXXXXXX
- name: _id
in: query
description: Unique identifier of the suppression record to delete.
required: false
schema:
type: string
example: 68763be4b8cee01156d9fa8a
- name: distinct_id
in: query
description: Unique identifier (used as an alternative to destination)
required: false
schema:
type: string
example: XXXX-XXX-XXXX
- name: destination
in: query
description: Phone number or email of the suppressed user
required: false
schema:
type: string
example: 919XXXXXXXX
responses:
"200":
$ref: "#/components/responses/SuppressionListDeleted"
"400":
$ref: "#/components/responses/SuppressionDeleteError"
"401":
$ref: "#/components/responses/APIKeyInvalid"
components:
securitySchemes:
BearerAuth:
type: http
description: Enter your API Key. If you don't have it already, you can create one from the API Keys page within your Fyno account
scheme: bearer
x-fern-bearer:
name: apiKey
env: FYNO_API_KEY
responses:
EventRequestAccepted:
description: Request accepted successfully and it will be processed asynchronously.
content:
application/json:
schema:
properties:
event:
example: event_name
type: string
received_time:
example: "2025-02-17T07:49:13.352Z"
type: string
format: date
request_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
type: string
response:
"$ref": "#/components/schemas/inline_response_202_response"
type: object
required:
- event
- received_time
- request_id
- response
BulkEventRequestAccepted:
description: Request accepted successfully and it will be processed asynchronously.
content:
application/json:
schema:
properties:
event:
example: event_name
type: string
received_time:
example: 1672991866453
type: number
request_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
type: string
response:
items:
"$ref": "#/components/schemas/inline_response_202_1_response"
type: array
type: object
PropertyUpdateRequestAccepted:
description: Request has been accepted and will be processed asynchronously.
content:
application/json:
schema:
properties:
request_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
type: string
type: object
required:
- request_id
PropertyUpdateRequestAcceptedBulk:
description: Request has been accepted and will be processed asynchronously.
content:
application/json:
schema:
properties:
request_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
type: string
batch:
type: array
items:
properties:
$set:
type: string
example: ok
$once:
type: string
example: ok
$add:
type: string
example: ok
$append:
type: string
example: ok
$remove:
type: string
example: ok
$unset:
type: string
example: ok
type: object
type: object
required:
- request_id
- batch
ProfileCreatedSuccessfully:
description: Profile created successfully
content:
application/json:
schema:
properties:
_message:
example: Profile created successfully
type: string
status:
example: ok
type: string
type: object
required:
- _message
- status
ProfileFetched:
description: Profile fetched successfully
content:
application/json:
schema:
properties:
channel:
"$ref": "#/components/schemas/inline_response_200_channel"
country_code:
description:
The country code of the user. This value is automatically determined
based on the number provided in the SMS channel of the profile. For a list
of possible values, please click here.
example: IN
type: string
created_at:
description: The timestamp when the profile was created in ISO Date Time Format.
example: "2023-04-21T06:34:01.386Z"
type: string
distinct_id:
description: The distinct ID used to identify the user.
example: XXXXXXXX
type: string
id_list:
description: Other profile IDs previously linked to this profile.
items:
example: 6442XXXXXXXXXXXXXXXXc684
type: array
name:
description: The full name of the user.
example: John Doe
type: string
profile_id:
description: Unique profile ID within Fyno.
example: 6442XXXXXXXXXXXXXXXXc685
type: string
status:
description:
The status of the user. If `1`, the user is active and should receive
notifications. If `0`, the user in inactive and should not receive notifications.
enum:
- 1
- 0
example: 1
type: integer
timezone:
description:
The timezone of the user. For a list of possible values, please
click here.
example: Asia/Kolkata
type: string
timezone_offset:
description:
The timezone offset of the user. The value is automatically determined
based on the timezone provided for the user in the profile.
example: "+05:30"
type: string
updated_at:
description:
The timestamp when the profile was last updated in ISO Date Time
Format.
example: "2023-04-21T08:42:30.235Z"
type: string
version:
description: The version where the user profile is available.
enum:
- live
- test
example: test
type: string
type: object
required:
- distinct_id
- country_code
- timezone
- timezone_offset
- created_at
- updated_at
- channel
- properties
- status
- id_list
- profile_id
- version
- channel_raw
PrefProfileFetched:
description: Preference fetched successfully
content:
application/json:
schema:
required:
- meta
- result
properties:
meta:
required:
- all
properties:
all:
required:
- preference
- updated_at
properties:
preference:
"$ref": "#/components/schemas/preference_channels_opted_out"
updated_at:
"$ref": "#/components/schemas/updated_at"
type: object
type: object
result:
required:
- Section1
properties:
Section1:
items:
required:
- channel_config
- description
- is_global_opted_out
- name
- notification_events
- preference
- subscription_id
- updated_at
properties:
channel_config:
properties:
discord:
default: "on"
enum:
- "on"
- "off"
- required
type: string
email:
default: "on"
enum:
- "on"
- "off"
- required
type: string
inapp:
default: "on"
enum:
- "on"
- "off"
- required
type: string
push:
default: "on"
enum:
- "on"
- "off"
- required
type: string
slack:
default: "on"
enum:
- "on"
- "off"
- required
type: string
sms:
default: "on"
enum:
- "on"
- "off"
- required
type: string
teams:
default: "on"
enum:
- "on"
- "off"
- required
type: string
voice:
default: "on"
enum:
- "on"
- "off"
- required
type: string
webpush:
default: "on"
enum:
- "on"
- "off"
- required
type: string
whatsapp:
default: "on"
enum:
- "on"
- "off"
- required
type: string
type: object
description:
type: string
is_global_opted_out:
properties:
discord:
enum:
- true
type: boolean
email:
enum:
- true
type: boolean
inapp:
enum:
- true
type: boolean
push:
enum:
- true
type: boolean
slack:
enum:
- true
type: boolean
sms:
enum:
- true
type: boolean
teams:
enum:
- true
type: boolean
voice:
enum:
- true
type: boolean
webpush:
enum:
- true
type: boolean
whatsapp:
enum:
- true
type: boolean
type: object
name:
type: string
notification_events:
items:
properties:
event_id:
type: string
event_name:
type: string
type: object
type: array
preference:
"$ref": "#/components/schemas/preference_channels"
subscription_id:
type: string
updated_at:
"$ref": "#/components/schemas/updated_at"
type: object
type: array
type: object
type: object
ProfileUpdated:
description: Profile updated successfully
content:
application/json:
schema:
properties:
_message:
example: 1 Record(s) updated successfully
type: string
status:
example: ok
type: string
type: object
required:
- _message
- status
ProfileChannelUpdated:
description: Profile updated successfully
content:
application/json:
schema:
properties:
_message:
example: Channel has been modified successfully
type: string
status:
example: ok
type: string
type: object
required:
- _message
- status
ProfileMergedSuccessfully:
description: Profiles merged successfully and the source profile is deleted
content:
application/json:
schema:
properties:
_message:
example: 1 Record(s) updated and 1 Records(s) deleted
type: string
status:
example: ok
type: string
type: object
required:
- _message
- status
ProfileDeletedSuccessfully:
description: Profile deleted successfully
content:
application/json:
schema:
properties:
_message:
example: 1 User(s) deleted successfully
type: string
status:
example: ok
type: string
type: object
required:
- _message
- status
SubscriptionUpdated:
description: Subscription updated successfully
content:
application/json:
schema:
required:
- SXXXXXXXXX
properties:
SXXXXXXXXX:
"$ref": "#/components/schemas/preference_channels"
type: object
OTPSuccess:
description: OTP successfully validated
content:
application/json:
schema:
properties:
_message:
example: OTP successfully validated.
type: string
status:
example: ok
type: string
type: object
required:
- _message
- status
SourceDistinctIDDoesNotExist:
description: Source distinct ID does not exist
content:
application/json:
schema:
properties:
_message:
example: merge from id does not exist
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
DistinctIDDoesNotExist:
description: Distinct ID does not exist
content:
application/json:
schema:
properties:
_message:
example: incorrect/non existing distinct_id provided
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
DistinctIDDoesNotExist2:
description: Distinct ID does not exist
content:
application/json:
schema:
properties:
_message:
example: Cannot delete non existing user
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
DistinctIDDoesNotExist3:
description: Distinct ID does not exist
content:
application/json:
schema:
properties:
_message:
example: Unable to update the record since the record does not exist
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
DistinctIDOrChannelDataDoesNotExist:
description: Distinct ID or channel data does not exist
content:
application/json:
schema:
properties:
_message:
example: Unable to delete channel since the channel does not exist
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
DistinctIDAlreadyExists:
description: Distinct ID already exists
content:
application/json:
schema:
properties:
_message:
example:
Distinct ID 'distinct_id' already exists in the 'version' version of
your workspace
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
DistinctIDMissing:
description: Distinct ID is not provided
content:
application/json:
schema:
properties:
_message:
example: distinct_id is required to list preference!
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
DistinctIDChannelStatusMissing:
description: Distinct ID, channel, or status is not provided
content:
application/json:
schema:
properties:
_message:
example: distinct_id is required!
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
EventNameDoesNotExist:
description: Event name does not exist
content:
application/json:
schema:
properties:
_message:
example:
The notification event name 'event_name' is invalid or does not exists
on prod
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
OTPInvalid:
description: Invalid OTP entered by user
content:
application/json:
schema:
properties:
_message:
example: user entered the wrong OTP
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
EmptySetObject:
description: $set object is empty
content:
application/json:
schema:
properties:
_message:
example: "$set has object/keys that is not allowed"
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
EmptySetOnceObject:
description: $once object is empty
content:
application/json:
schema:
properties:
_message:
example: "$once has object/keys that is not allowed"
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
EmptyAddObject:
description: $add object is empty
content:
application/json:
schema:
properties:
_message:
example: "$add has object/keys that is not allowed"
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
EmptyAppendObject:
description: $append object is empty
content:
application/json:
schema:
properties:
_message:
example: "$append has object/keys that is not allowed"
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
EmptyRemoveObject:
description: $remove object is empty
content:
application/json:
schema:
properties:
_message:
example: "$remove has object/keys that is not allowed"
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
EmptyUnsetObject:
description: $unset object is empty
content:
application/json:
schema:
properties:
_message:
example: "$unset channel should have atleast one item in array"
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
EmptyActionBulkProperty:
description: $unset object is empty
content:
application/json:
schema:
properties:
_message:
example: "$set has object/keys that is not allowed"
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
SuppressionListSuccess:
description: Suppression list fetched.
content:
application/json:
schema:
items:
"$ref": "#/components/schemas/fetch_suppression_list"
type: array
SuppressionListUpdated:
description: Suppression list updated.
content:
application/json:
schema:
properties:
status:
example: ok
type: string
_message:
type: string
example: User has been added to the suppression!
type: object
SuppressionListDeleted:
description: Suppression list updated.
content:
application/json:
schema:
properties:
status:
example: ok
type: string
_message:
type: string
example: 1 record(s) has been deleted!
type: object
SuppressionListError:
description: Destination is invalid
content:
application/json:
schema:
properties:
status:
example: error
type: string
_message:
type: string
example: Invalid destination for channel sms
type: object
SuppressionDeleteError:
description: The provided `_id` does not exist.
content:
application/json:
schema:
properties:
status:
example: error
type: string
_message:
type: string
example: Unable to delete non existing data!
type: object
APIKeyInvalid:
description: API Key or Workspace ID is invalid. User is unauthorised.
content:
application/json:
schema:
properties:
_message:
example: Invalid API details
type: string
status:
example: error
type: string
type: object
required:
- _message
- status
schemas:
WSIDversionprofiles_channel:
properties:
discord:
description: Enter the discord ID of the user.
example: 101XXXXXXXXXX7XXXXX
type: string
email:
description: Enter the email address of the user.
example: abcde@fghi.com
type: string
inapp:
items:
"$ref": "#/components/schemas/WSIDversionprofiles_channel_inapp"
type: array
push:
items:
"$ref": "#/components/schemas/WSIDversionprofiles_channel_push"
type: array
slack:
description: Enter the channel ID, user ID, or email address of the user.
example: CXXXXXXXXXX
type: string
sms:
description:
Enter the mobile number of the user. The number must start with
the country code (preferably in E.164 format). For example: +919879XXXXXX.
example: +919879XXXXXX
type: string
teams:
description:
Enter the channel name. For teams, we currently support sending
to one channel only. To send to multiple channels, do get in touch
and we can share a workaround.
example: General
type: string
voice:
description:
Enter the mobile number of the user. The number must start with
the country code (preferably in E.164 format). For example: +919879XXXXXX.
example: +919879XXXXXX
type: string
whatsapp:
description:
Enter the WhatsApp mobile number of the user. The number must start
with the country code (preferably in E.164 format). For example: +919879XXXXXX
example: +919879XXXXXX
type: string
type: object
WSIDversionprofiles_channel_inapp:
properties:
integration_id:
description:
"(Optional) Enter the integration ID that was used to generate
the above token. This is helpful in identifying which integration to use when
an account has multiple InApp integrations. If this value is null, then the
above token is used for all InApp integrations.
The integration ID
can be obtained from Fyno's integrations page."
example: IXXXXXXX
type: string
status:
description:
"(Optional) Enter 1 to specify that this token must be active and
should receive notifications. Enter 0 to specify that this token must be inactive
and should not receive any notifications. If null, the default value is 1."
enum:
- 1
- 0
type: integer
token:
description: Enter the distinct ID or the generated token of the user.
example: XXXXXXXX
type: string
required:
- token
type: object
WSIDversionprofiles_channel_push:
properties:
integration_id:
description:
"(Optional) Enter the integration ID that was used to generate
the above token. This is helpful in identifying which integration to use when
an account has multiple push integrations. If this value is null, then the
above token is used for all push integrations.
The integration ID
can be obtained from Fyno's integrations page."
example: IXXXXXXX
type: string
status:
description:
"(Optional) Enter 1 to specify that this token must be active and
should receive notifications. Enter 0 to specify that this token must be inactive
and should not receive any notifications. If null, the default value is 1."
enum:
- 1
- 0
type: integer
token:
description:
Enter the push token of the user. If you use OneSignal, you must
add the following prefix to the token:
- For OneSignal playerId:
`onesignal_player_id:`
- For OneSignal externalId:
`onesignal_external_id:`
example: ExponentPushToken[XXXXX]
type: string
required:
- token
type: object
WSIDversionprofilesdistinct_id_channel:
description:
"(Optional) If you do not wish to change any channel values, remove
this key from the payload. **Note:** If you change any value in the `channel`
key, the entire channel data is replaced."
properties:
discord:
description: Enter the new discord ID of the user.
example: 101XXXXXXXXXX7XXXXX
type: string
email:
description: Enter the new email address of the user.
example: abcde@fghi.com
type: string
inapp:
items:
"$ref": "#/components/schemas/WSIDversionprofilesdistinct_id_channel_inapp"
type: array
push:
items:
"$ref": "#/components/schemas/WSIDversionprofilesdistinct_id_channel_push"
type: array
slack:
description: Enter the new channel ID, user ID, or email address of the user.
example: CXXXXXXXXXX
type: string
sms:
description:
Enter the new mobile number of the user. The number must start
with the country code (preferably in E.164 format). For example: +919879XXXXXX.
example: +919879XXXXXX
type: string
teams:
description:
Enter the new channel name. For teams, we currently support sending
to one channel only. To send to multiple channels, do get in touch
and we can share a workaround.
example: General
type: string
voice:
description:
Enter the new mobile number of the user. The number must start
with the country code (preferably in E.164 format). For example: +919879XXXXXX.
example: +919879XXXXXX
type: string
whatsapp:
description:
Enter the new WhatsApp mobile number of the user. The number must
start with the country code (preferably in E.164 format). For example: +919879XXXXXX
example: +919879XXXXXX
type: string
type: object
WSIDversionprofilesdistinct_id_channel_inapp:
properties:
integration_id:
description:
"(Optional) Enter the integration ID that was used to generate
the above token. This is helpful in identifying which integration to use when
an account has multiple InApp integrations. If this value is null, then the
above token is used for all InApp integrations.
The integration ID
can be obtained from Fyno's integrations page."
example: IXXXXXXX
type: string
status:
description:
"(Optional) Enter 1 to specify that this token must be active and
should receive notifications. Enter 0 to specify that this token must be inactive
and should not receive any notifications. If null, the default value is 1."
enum:
- 1
- 0
type: integer
token:
description: Enter the new distinct ID or the generated token of the user.
example: XXXXXXXX
type: string
required:
- token
type: object
WSIDversionprofilesdistinct_id_channel_push:
properties:
integration_id:
description:
"(Optional) Enter the integration ID that was used to generate
the above token. This is helpful in identifying which integration to use when
an account has multiple push integrations. If this value is null, then the
above token is used for all push integrations.
The integration ID
can be obtained from Fyno's integrations page."
example: IXXXXXXX
type: string
status:
description:
"(Optional) Enter 1 to specify that this token must be active and
should receive notifications. Enter 0 to specify that this token must be inactive
and should not receive any notifications. If null, the default value is 1."
enum:
- 1
- 0
type: integer
token:
description:
Enter the new push token of the user. If you use OneSignal, you
must add the following prefix to the token:
- For OneSignal playerId:
`onesignal_player_id:`
- For OneSignal externalId:
`onesignal_external_id:`
example: ExponentPushToken[XXXXX]
type: string
required:
- token
type: object
WSIDversionprofilesdistinct_idchannel_channel:
properties:
discord:
description:
Enter the new discord ID of the user. If you do not wish to change
this value, remove this key from the payload.
example: 101XXXXXXXXXX7XXXXX
type: string
email:
description:
Enter the new email address of the user. If you do not wish to
change this value, remove this key from the payload.
example: abcde@fghi.com
type: string
inapp:
items:
"$ref": "#/components/schemas/WSIDversionprofilesdistinct_idchannel_channel_inapp"
type: array
push:
items:
"$ref": "#/components/schemas/WSIDversionprofilesdistinct_idchannel_channel_push"
type: array
slack:
description:
Enter the new channel ID, user ID, or email address of the user.
If you do not wish to change this value, remove this key from the payload.
example: CXXXXXXXXXX
type: string
sms:
description:
Enter the new mobile number of the user. The number must start
with the country code (preferably in E.164 format). For example: +919879XXXXXX. If you do
not wish to change this value, remove this key from the payload.
example: +919879XXXXXX
type: string
teams:
description:
Enter the new channel name. For teams, we currently support sending
to one channel only. If you wish to send to multiple channels, do get in touch
and we can share a workaround. If you do not wish to change this value, remove
this key from the payload.
example: General
type: string
voice:
description:
Enter the new mobile number of the user. The number must start
with the country code (preferably in E.164 format). For example: +919879XXXXXX. If you do
not wish to change this value, remove this key from the payload.
example: +919879XXXXXX
type: string
whatsapp:
description:
Enter the new WhatsApp mobile number of the user. The number must
start with the country code (preferably in E.164 format). For example: +919879XXXXXX. If
you do not wish to change this value, remove this key from the payload.
example: +919879XXXXXX
type: string
type: object
WSIDversionprofilesdistinct_idchannel_channel_inapp:
properties:
integration_id:
description:
"(Optional) Enter the integration ID that was used to generate
the above token. This is helpful in identifying which integration to use when
an account has multiple InApp integrations. If this value is null, then the
above token is used for all InApp integrations.
The integration ID
can be obtained from Fyno's integrations page."
example: IXXXXXXX
type: string
status:
description:
"(Optional) Enter 1 to specify that this token must be active and
should receive notifications. Enter 0 to specify that this token must be inactive
and should not receive any notifications. If null, the default value is 1."
enum:
- 1
- 0
type: integer
token:
description: Enter the new distinct ID or the generated token to add for the user.
**Note:** This value would get added (and not updated) to the channel data.
example: XXXXXXXX
type: string
required:
- token
type: object
WSIDversionprofilesdistinct_idchannel_channel_push:
properties:
integration_id:
description:
"(Optional) Enter the integration ID that was used to generate
the above token. This is helpful in identifying which integration to use when
an account has multiple push integrations. If this value is null, then the
above token is used for all push integrations.
The integration ID
can be obtained from Fyno's integrations page."
example: IXXXXXXX
type: string
status:
description:
"(Optional) Enter 1 to specify that this token must be active and
should receive notifications. Enter 0 to specify that this token must be inactive
and should not receive any notifications. If null, the default value is 1."
enum:
- 1
- 0
type: integer
token:
description: Enter the new push token that to add for the user. If
you use OneSignal, you must add the following prefix to the token:
-
For OneSignal playerId: `onesignal_player_id:`
-
For OneSignal externalId: `onesignal_external_id:`
**Note:** This value would get added (and not updated) to the channel
data.
example: ExponentPushToken[XXXXX]
type: string
required:
- token
type: object
callback:
description:
(Optional) You can enable callback for an event by specifying the `callback`
attribute in the payload of the event. By enabling callback, you will be able
to receive delivery status of the events onto your webhook URL specified in the
"Allowlist URL" section of the application. See [Configuring Allowlist URL/SQS to receive Delivery Report](../../configuring-allowlist-url-sqs-to-receive-delivery-report) for more details.
properties:
custom_id:
description:
Use this parameter to send an ID that you would want to receive
as a response (for reconciliation) in your delivery callback.
example: ID001
type: string
custom1:
description:
"(Optional) Use this parameter to send another ID that you want
to receive as a response (for reconciliation) in your delivery callback."
example: EV001
type: string
custom2:
description:
"(Optional) Use this parameter to send yet another ID that you
want to receive as a response (for reconciliation) in your delivery callback."
example: P001
type: string
custom3:
description:
"(Optional) Use this parameter to send yet another ID that you
want to receive as a response (for reconciliation) in your delivery callback."
example: C001
type: string
enable:
description:
"(Optional) Set `true` to enable delivery callback or `false` to
disable delivery callback. The default value is `true` if `custom_id` is specified."
enum:
- true
- false
example: true
type: boolean
allowlist_url:
description: "(Optional) Allowlist URL name where you want to receive delivery reports. Can be array of Allowlist URL names too if you want the delivery reports in multiple URLs. If `allowlist_url` is not specified, but callback object has `enable=true` and `custom_id` is specified, then the delivery reports will be sent to the default endpoint set to receive delivery reports in the [Configuring Allowlist URL](../../configuring-allowlist-url-sqs-to-receive-delivery-report) settings."
example: ["WebhookURL1", "WebhookURL2"]
oneOf:
- type: string
- type: array
items:
type: string
required:
- custom_id
type: object
channel_delete_body:
oneOf:
- properties:
channel:
description:
Enter all channels for which you wish to delete the data. For
example: `sms`, `whatsapp`, `email`, `slack`, `discord`, `teams`, `voice``push`,
`inapp`.
example:
- sms
- whatsapp
- email
- slack
- discord
- teams
- voice
- push
- inapp
items:
example: '["sms","whatsapp","email","slack","discord","teams","voice","push","inapp"]'
type: string
type: array
required:
- channel
type: object
- properties:
inapp:
description: Enter the tokens to delete from within the InApp channel.
example:
- token1
- token2
items:
example: '["token1","token2"]'
type: string
type: array
push:
description: Enter the tokens to delete from within the Push channel.
example:
- token1
- token2
items:
example: '["token1","token2"]'
type: string
type: array
required:
- inapp
- push
type: object
data:
description:
"(Optional) Enter the keys and values of your replaceabale placeholders.
These values are replaced in the respective keys of the template when the notification
is sent."
example:
placeholder_key_1: placeholder_value_1
placeholder_key_2: placeholder_value_2
type: object
distinct_id:
description: Enter the distinct ID that you use to identify the recipient.
example: XXXXXXXX
type: string
distinct_id_channel_body:
properties:
channel:
"$ref": "#/components/schemas/WSIDversionprofilesdistinct_idchannel_channel"
required:
- channel
type: object
event:
description: Enter the name of the event you wish to fire.
example: event_name
type: string
event_bulk_body:
properties:
batch:
description:
Your batch payload must specify at least *`distinct_id`* or *`to`*
while firing a notification event.
If the payload contains:
-
Option 1: ONLY *`to`* (and no *`distinct_id`*) - the event uses
all destination values from the *`to`* object (as it is).
- Option
2: ONLY *`distinct_id`* (and no *`to`*) - the event uses all destination
values (such as SMS, WhatsApp, Email, Push, Voice and so on) from the user's
profile and sends the notification.
- Option 3: BOTH *`distinct_id`*
and *`to`* - the `to` and `distinct_id` channel data merges (`to` object take
precedences) and sends the notification. The sent notification is tagged to
the ID specified, which can be then used to search the logs by using `distinct_id`.
items:
oneOf:
- properties:
callback:
"$ref": "#/components/schemas/callback"
data:
"$ref": "#/components/schemas/data"
to:
"$ref": "#/components/schemas/to"
required:
- event
- to
type: object
- properties:
callback:
"$ref": "#/components/schemas/callback"
data:
"$ref": "#/components/schemas/data"
distinct_id:
"$ref": "#/components/schemas/distinct_id"
required:
- distinct_id
- event
type: object
- properties:
callback:
"$ref": "#/components/schemas/callback"
data:
"$ref": "#/components/schemas/data"
distinct_id:
"$ref": "#/components/schemas/distinct_id"
to:
"$ref": "#/components/schemas/to"
required:
- distinct_id
- event
- to
type: object
type: array
event:
"$ref": "#/components/schemas/event"
required:
- batch
- event
type: object
inline_response_200_channel:
properties:
discord:
description: The discord ID of the user.
example: 101XXXXXXXXXX7XXXXX
type: string
email:
description: The email address of the user.
example: abcde@fghi.com
type: string
inapp:
items:
"$ref": "#/components/schemas/inline_response_200_channel_inapp"
type: array
push:
items:
"$ref": "#/components/schemas/inline_response_200_channel_push"
type: array
slack:
description: The channel ID, user ID, or email address of the user.
example: CXXXXXXXXXX
type: string
sms:
description: The mobile number of the user.
example: "+91 9879X XXXXX"
type: string
teams:
description: The channel name.
example: General
type: string
voice:
description: The mobile number of the user.
example: "+91 9879X XXXXX"
type: string
whatsapp:
description: The WhatsApp mobile number of the user.
example: "+91 9879X XXXXX"
type: string
type: object
inline_response_200_channel_inapp:
properties:
integration_id:
description:
The integration ID that was used to generate the above token. If
this value is null, then the above token is used for all InApp integrations.
The
integration ID can be verified from Fyno's integrations page.
example: IXXXXXXX
type: string
status:
description:
The status of the token. If `1`, the token is active and should
receive notifications. If `0`, the token in inactive and should not receive
notifications.
enum:
- 1
- 0
example: 1
type: integer
token:
description: Enter the distinct ID or the generated token of the user.
example: XXXXXXXX
type: string
type: object
required:
- token
inline_response_200_channel_push:
properties:
integration_id:
description:
The integration ID that was used to generate the above token. If
this value is null, then the above token is used for all push integrations.
The
integration ID can be verified from Fyno's integrations page.
example: IXXXXXXX
type: string
status:
description:
The status of the token. If `1`, the token is active and should
receive notifications. If `0`, the token in inactive and should not receive
notifications.
enum:
- 1
- 0
example: 1
type: integer
token:
description: The push token of the user.
example: ExponentPushToken[XXXXX]
type: string
type: object
inline_response_202_1_response:
properties:
discord:
"$ref": "#/components/schemas/inline_response_202_response_discord"
email:
"$ref": "#/components/schemas/inline_response_202_response_email"
inapp:
"$ref": "#/components/schemas/inline_response_202_response_inapp"
push:
"$ref": "#/components/schemas/inline_response_202_response_push"
seq:
example: 1
type: integer
slack:
"$ref": "#/components/schemas/inline_response_202_response_slack"
sms:
"$ref": "#/components/schemas/inline_response_202_response_sms"
teams:
"$ref": "#/components/schemas/inline_response_202_response_teams"
voice:
"$ref": "#/components/schemas/inline_response_202_response_sms"
whatsapp:
"$ref": "#/components/schemas/inline_response_202_response_sms"
type: object
inline_response_202_response:
properties:
discord:
"$ref": "#/components/schemas/inline_response_202_response_discord"
email:
"$ref": "#/components/schemas/inline_response_202_response_email"
inapp:
"$ref": "#/components/schemas/inline_response_202_response_inapp"
push:
"$ref": "#/components/schemas/inline_response_202_response_push"
slack:
"$ref": "#/components/schemas/inline_response_202_response_slack"
sms:
"$ref": "#/components/schemas/inline_response_202_response_sms"
teams:
"$ref": "#/components/schemas/inline_response_202_response_teams"
voice:
"$ref": "#/components/schemas/inline_response_202_response_sms"
whatsapp:
"$ref": "#/components/schemas/inline_response_202_response_sms"
type: object
inline_response_202_response_discord:
properties:
destination:
example: 101XXXXXXXXXX7XXXXX
type: string
msg_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:XXXX
type: string
status:
example: ok
type: string
type: object
required:
- destination
- msg_id
- status
inline_response_202_response_email:
properties:
destination:
example: abcde@fghi.com
type: string
msg_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:XXXX
type: string
status:
example: ok
type: string
type: object
required:
- destination
- msg_id
- status
inline_response_202_response_inapp:
properties:
destination:
example: "12345"
type: string
msg_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:XXXX
type: string
status:
example: ok
type: string
type: object
required:
- destination
- msg_id
- status
inline_response_202_response_push:
properties:
destination:
example: ExponentPushToken[XXXXX]
type: string
msg_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:XXXX
type: string
status:
example: ok
type: string
type: object
required:
- destination
- msg_id
- status
inline_response_202_response_slack:
properties:
destination:
example: CXXXXXXXXXX
type: string
msg_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:XXXX
type: string
status:
example: ok
type: string
type: object
required:
- destination
- msg_id
- status
inline_response_202_response_sms:
properties:
destination:
example: +919879XXXXXX
type: string
msg_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:XXXX
type: string
status:
example: ok
type: string
type: object
required:
- destination
- msg_id
- status
inline_response_202_response_teams:
properties:
destination:
example: General
type: string
msg_id:
example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:XXXX
type: string
status:
example: ok
type: string
type: object
required:
- destination
- msg_id
- status
preference_channels:
properties:
discord:
default: opted-in
enum:
- opted-out
- opted-in
type: string
email:
default: opted-in
enum:
- opted-out
- opted-in
type: string
inapp:
default: opted-in
enum:
- opted-out
- opted-in
type: string
push:
default: opted-in
enum:
- opted-out
- opted-in
type: string
slack:
default: opted-in
enum:
- opted-out
- opted-in
type: string
sms:
default: opted-in
enum:
- opted-out
- opted-in
type: string
teams:
default: opted-in
enum:
- opted-out
- opted-in
type: string
voice:
default: opted-in
enum:
- opted-out
- opted-in
type: string
webpush:
default: opted-in
enum:
- opted-out
- opted-in
type: string
whatsapp:
default: opted-in
enum:
- opted-out
- opted-in
type: string
type: object
preference_channels_opted_out:
properties:
discord:
enum:
- opted-out
type: string
email:
enum:
- opted-out
type: string
inapp:
enum:
- opted-out
type: string
push:
enum:
- opted-out
type: string
slack:
enum:
- opted-out
type: string
sms:
enum:
- opted-out
type: string
teams:
enum:
- opted-out
type: string
voice:
enum:
- opted-out
type: string
whatsapp:
enum:
- opted-out
type: string
type: object
profiles_delete_body:
properties:
distinct_id:
description: Enter the `distinct_id` of all user profiles that you wish to delete.
example:
- U00001
- U00002
items:
example: '["U00001","U00002"]'
type: string
type: array
required:
- distinct_id
type: object
profiles_distinct_id_body:
properties:
channel:
"$ref": "#/components/schemas/WSIDversionprofilesdistinct_id_channel"
distinct_id:
description:
"(Optional) Enter the new distinct ID that you wish to use to identify
the user. If you do not wish to change this value, remove this key from the
payload."
example: new_distinct_id
type: string
name:
description:
"(Optional) Enter the new full name of the user. If you do not
wish to change this value, remove this key from the payload."
example: John Doe
type: string
status:
description:
"(Optional) Enter 1 to change the user's status to active so that
the user can receive notifications. Enter 0 to change the user's status to
inactive so that the user does not receive any notification. If you do not
wish to change this value, remove this key from the payload. If null, the
default value is 1."
enum:
- 1
- 0
type: integer
timezone:
description:
(Optional) Enter the new timezone of the user. For a list of possible
values, please click here.
enum:
- Africa/Abidjan
- Africa/Accra
- Africa/Addis_Ababa
- Africa/Algiers
- Africa/Asmara
- Africa/Asmera
- Africa/Bamako
- Africa/Bangui
- Africa/Banjul
- Africa/Bissau
- Africa/Blantyre
- Africa/Brazzaville
- Africa/Bujumbura
- Africa/Cairo
- Africa/Casablanca
- Africa/Ceuta
- Africa/Conakry
- Africa/Dakar
- Africa/Dar_es_Salaam
- Africa/Djibouti
- Africa/Douala
- Africa/El_Aaiun
- Africa/Freetown
- Africa/Gaborone
- Africa/Harare
- Africa/Johannesburg
- Africa/Juba
- Africa/Kampala
- Africa/Khartoum
- Africa/Kigali
- Africa/Kinshasa
- Africa/Lagos
- Africa/Libreville
- Africa/Lome
- Africa/Luanda
- Africa/Lubumbashi
- Africa/Lusaka
- Africa/Malabo
- Africa/Maputo
- Africa/Maseru
- Africa/Mbabane
- Africa/Mogadishu
- Africa/Monrovia
- Africa/Nairobi
- Africa/Ndjamena
- Africa/Niamey
- Africa/Nouakchott
- Africa/Ouagadougou
- Africa/Porto-Novo
- Africa/Sao_Tome
- Africa/Timbuktu
- Africa/Tripoli
- Africa/Tunis
- Africa/Windhoek
- America/Adak
- America/Anchorage
- America/Anguilla
- America/Antigua
- America/Araguaina
- America/Argentina/Buenos_Aires
- America/Argentina/Catamarca
- America/Argentina/ComodRivadavia
- America/Argentina/Cordoba
- America/Argentina/Jujuy
- America/Argentina/La_Rioja
- America/Argentina/Mendoza
- America/Argentina/Rio_Gallegos
- America/Argentina/Salta
- America/Argentina/San_Juan
- America/Argentina/San_Luis
- America/Argentina/Tucuman
- America/Argentina/Ushuaia
- America/Aruba
- America/Asuncion
- America/Atikokan
- America/Atka
- America/Bahia
- America/Bahia_Banderas
- America/Barbados
- America/Belem
- America/Belize
- America/Blanc-Sablon
- America/Boa_Vista
- America/Bogota
- America/Boise
- America/Buenos_Aires
- America/Cambridge_Bay
- America/Campo_Grande
- America/Cancun
- America/Caracas
- America/Catamarca
- America/Cayenne
- America/Cayman
- America/Chicago
- America/Chihuahua
- America/Coral_Harbour
- America/Cordoba
- America/Costa_Rica
- America/Creston
- America/Cuiaba
- America/Curacao
- America/Danmarkshavn
- America/Dawson
- America/Dawson_Creek
- America/Denver
- America/Detroit
- America/Dominica
- America/Edmonton
- America/Eirunepe
- America/El_Salvador
- America/Ensenada
- America/Fort_Nelson
- America/Fort_Wayne
- America/Fortaleza
- America/Glace_Bay
- America/Godthab
- America/Goose_Bay
- America/Grand_Turk
- America/Grenada
- America/Guadeloupe
- America/Guatemala
- America/Guayaquil
- America/Guyana
- America/Halifax
- America/Havana
- America/Hermosillo
- America/Indiana/Indianapolis
- America/Indiana/Knox
- America/Indiana/Marengo
- America/Indiana/Petersburg
- America/Indiana/Tell_City
- America/Indiana/Vevay
- America/Indiana/Vincennes
- America/Indiana/Winamac
- America/Indianapolis
- America/Inuvik
- America/Iqaluit
- America/Jamaica
- America/Jujuy
- America/Juneau
- America/Kentucky/Louisville
- America/Kentucky/Monticello
- America/Knox_IN
- America/Kralendijk
- America/La_Paz
- America/Lima
- America/Los_Angeles
- America/Louisville
- America/Lower_Princes
- America/Maceio
- America/Managua
- America/Manaus
- America/Marigot
- America/Martinique
- America/Matamoros
- America/Mazatlan
- America/Mendoza
- America/Menominee
- America/Merida
- America/Metlakatla
- America/Mexico_City
- America/Miquelon
- America/Moncton
- America/Monterrey
- America/Montevideo
- America/Montreal
- America/Montserrat
- America/Nassau
- America/New_York
- America/Nipigon
- America/Nome
- America/Noronha
- America/North_Dakota/Beulah
- America/North_Dakota/Center
- America/North_Dakota/New_Salem
- America/Nuuk
- America/Ojinaga
- America/Panama
- America/Pangnirtung
- America/Paramaribo
- America/Phoenix
- America/Port-au-Prince
- America/Port_of_Spain
- America/Porto_Acre
- America/Porto_Velho
- America/Puerto_Rico
- America/Punta_Arenas
- America/Rainy_River
- America/Rankin_Inlet
- America/Recife
- America/Regina
- America/Resolute
- America/Rio_Branco
- America/Rosario
- America/Santa_Isabel
- America/Santarem
- America/Santiago
- America/Santo_Domingo
- America/Sao_Paulo
- America/Scoresbysund
- America/Shiprock
- America/Sitka
- America/St_Barthelemy
- America/St_Johns
- America/St_Kitts
- America/St_Lucia
- America/St_Thomas
- America/St_Vincent
- America/Swift_Current
- America/Tegucigalpa
- America/Thule
- America/Thunder_Bay
- America/Tijuana
- America/Toronto
- America/Tortola
- America/Vancouver
- America/Virgin
- America/Whitehorse
- America/Winnipeg
- America/Yakutat
- America/Yellowknife
- Antarctica/Casey
- Antarctica/Davis
- Antarctica/DumontDUrville
- Antarctica/Macquarie
- Antarctica/Mawson
- Antarctica/McMurdo
- Antarctica/Palmer
- Antarctica/Rothera
- Antarctica/South_Pole
- Antarctica/Syowa
- Antarctica/Troll
- Antarctica/Vostok
- Arctic/Longyearbyen
- Asia/Aden
- Asia/Almaty
- Asia/Amman
- Asia/Anadyr
- Asia/Aqtau
- Asia/Aqtobe
- Asia/Ashgabat
- Asia/Ashkhabad
- Asia/Atyrau
- Asia/Baghdad
- Asia/Bahrain
- Asia/Baku
- Asia/Bangkok
- Asia/Barnaul
- Asia/Beirut
- Asia/Bishkek
- Asia/Brunei
- Asia/Calcutta
- Asia/Chita
- Asia/Choibalsan
- Asia/Chongqing
- Asia/Chungking
- Asia/Colombo
- Asia/Dacca
- Asia/Damascus
- Asia/Dhaka
- Asia/Dili
- Asia/Dubai
- Asia/Dushanbe
- Asia/Famagusta
- Asia/Gaza
- Asia/Harbin
- Asia/Hebron
- Asia/Ho_Chi_Minh
- Asia/Hong_Kong
- Asia/Hovd
- Asia/Irkutsk
- Asia/Istanbul
- Asia/Jakarta
- Asia/Jayapura
- Asia/Jerusalem
- Asia/Kabul
- Asia/Kamchatka
- Asia/Karachi
- Asia/Kashgar
- Asia/Kathmandu
- Asia/Katmandu
- Asia/Khandyga
- Asia/Kolkata
- Asia/Krasnoyarsk
- Asia/Kuala_Lumpur
- Asia/Kuching
- Asia/Kuwait
- Asia/Macao
- Asia/Macau
- Asia/Magadan
- Asia/Makassar
- Asia/Manila
- Asia/Muscat
- Asia/Nicosia
- Asia/Novokuznetsk
- Asia/Novosibirsk
- Asia/Omsk
- Asia/Oral
- Asia/Phnom_Penh
- Asia/Pontianak
- Asia/Pyongyang
- Asia/Qatar
- Asia/Qostanay
- Asia/Qyzylorda
- Asia/Rangoon
- Asia/Riyadh
- Asia/Saigon
- Asia/Sakhalin
- Asia/Samarkand
- Asia/Seoul
- Asia/Shanghai
- Asia/Singapore
- Asia/Srednekolymsk
- Asia/Taipei
- Asia/Tashkent
- Asia/Tbilisi
- Asia/Tehran
- Asia/Tel_Aviv
- Asia/Thimbu
- Asia/Thimphu
- Asia/Tokyo
- Asia/Tomsk
- Asia/Ujung_Pandang
- Asia/Ulaanbaatar
- Asia/Ulan_Bator
- Asia/Urumqi
- Asia/Ust-Nera
- Asia/Vientiane
- Asia/Vladivostok
- Asia/Yakutsk
- Asia/Yangon
- Asia/Yekaterinburg
- Asia/Yerevan
- Atlantic/Azores
- Atlantic/Bermuda
- Atlantic/Canary
- Atlantic/Cape_Verde
- Atlantic/Faeroe
- Atlantic/Faroe
- Atlantic/Jan_Mayen
- Atlantic/Madeira
- Atlantic/Reykjavik
- Atlantic/South_Georgia
- Atlantic/St_Helena
- Atlantic/Stanley
- Australia/ACT
- Australia/Adelaide
- Australia/Brisbane
- Australia/Broken_Hill
- Australia/Canberra
- Australia/Currie
- Australia/Darwin
- Australia/Eucla
- Australia/Hobart
- Australia/LHI
- Australia/Lindeman
- Australia/Lord_Howe
- Australia/Melbourne
- Australia/North
- Australia/NSW
- Australia/Perth
- Australia/Queensland
- Australia/South
- Australia/Sydney
- Australia/Tasmania
- Australia/Victoria
- Australia/West
- Australia/Yancowinna
- Brazil/Acre
- Brazil/DeNoronha
- Brazil/East
- Brazil/West
- Canada/Atlantic
- Canada/Central
- Canada/Eastern
- Canada/Mountain
- Canada/Newfoundland
- Canada/Pacific
- Canada/Saskatchewan
- Canada/Yukon
- CET
- Chile/Continental
- Chile/EasterIsland
- CST6CDT
- Cuba
- EET
- Egypt
- Eire
- EST
- EST5EDT
- Etc/GMT+0
- Etc/GMT+1
- Etc/GMT+10
- Etc/GMT+11
- Etc/GMT+12
- Etc/GMT+2
- Etc/GMT+3
- Etc/GMT+4
- Etc/GMT+5
- Etc/GMT+6
- Etc/GMT+7
- Etc/GMT+8
- Etc/GMT+9
- Etc/GMT
- Etc/GMT-0
- Etc/GMT-1
- Etc/GMT-10
- Etc/GMT-11
- Etc/GMT-12
- Etc/GMT-13
- Etc/GMT-14
- Etc/GMT-2
- Etc/GMT-3
- Etc/GMT-4
- Etc/GMT-5
- Etc/GMT-6
- Etc/GMT-7
- Etc/GMT-8
- Etc/GMT-9
- Etc/GMT0
- Etc/Greenwich
- Etc/UCT
- Etc/Universal
- Etc/UTC
- Etc/Zulu
- Europe/Amsterdam
- Europe/Andorra
- Europe/Astrakhan
- Europe/Athens
- Europe/Belfast
- Europe/Belgrade
- Europe/Berlin
- Europe/Bratislava
- Europe/Brussels
- Europe/Bucharest
- Europe/Budapest
- Europe/Busingen
- Europe/Chisinau
- Europe/Copenhagen
- Europe/Dublin
- Europe/Gibraltar
- Europe/Guernsey
- Europe/Helsinki
- Europe/Isle_of_Man
- Europe/Istanbul
- Europe/Jersey
- Europe/Kaliningrad
- Europe/Kiev
- Europe/Kirov
- Europe/Lisbon
- Europe/Ljubljana
- Europe/London
- Europe/Luxembourg
- Europe/Madrid
- Europe/Malta
- Europe/Mariehamn
- Europe/Minsk
- Europe/Monaco
- Europe/Moscow
- Europe/Nicosia
- Europe/Oslo
- Europe/Paris
- Europe/Podgorica
- Europe/Prague
- Europe/Riga
- Europe/Rome
- Europe/Samara
- Europe/San_Marino
- Europe/Sarajevo
- Europe/Saratov
- Europe/Simferopol
- Europe/Skopje
- Europe/Sofia
- Europe/Stockholm
- Europe/Tallinn
- Europe/Tirane
- Europe/Tiraspol
- Europe/Ulyanovsk
- Europe/Uzhgorod
- Europe/Vaduz
- Europe/Vatican
- Europe/Vienna
- Europe/Vilnius
- Europe/Volgograd
- Europe/Warsaw
- Europe/Zagreb
- Europe/Zaporozhye
- Europe/Zurich
- GB
- GB-Eire
- GMT+0
- GMT
- GMT-0
- GMT0
- Greenwich
- Hongkong
- HST
- Iceland
- Indian/Antananarivo
- Indian/Chagos
- Indian/Christmas
- Indian/Cocos
- Indian/Comoro
- Indian/Kerguelen
- Indian/Mahe
- Indian/Maldives
- Indian/Mauritius
- Indian/Mayotte
- Indian/Reunion
- Iran
- Israel
- Jamaica
- Japan
- Kwajalein
- Libya
- MET
- Mexico/BajaNorte
- Mexico/BajaSur
- Mexico/General
- MST
- MST7MDT
- Navajo
- NZ
- NZ-CHAT
- Pacific/Apia
- Pacific/Auckland
- Pacific/Bougainville
- Pacific/Chatham
- Pacific/Chuuk
- Pacific/Easter
- Pacific/Efate
- Pacific/Enderbury
- Pacific/Fakaofo
- Pacific/Fiji
- Pacific/Funafuti
- Pacific/Galapagos
- Pacific/Gambier
- Pacific/Guadalcanal
- Pacific/Guam
- Pacific/Honolulu
- Pacific/Johnston
- Pacific/Kanton
- Pacific/Kiritimati
- Pacific/Kosrae
- Pacific/Kwajalein
- Pacific/Majuro
- Pacific/Marquesas
- Pacific/Midway
- Pacific/Nauru
- Pacific/Niue
- Pacific/Norfolk
- Pacific/Noumea
- Pacific/Pago_Pago
- Pacific/Palau
- Pacific/Pitcairn
- Pacific/Pohnpei
- Pacific/Ponape
- Pacific/Port_Moresby
- Pacific/Rarotonga
- Pacific/Saipan
- Pacific/Samoa
- Pacific/Tahiti
- Pacific/Tarawa
- Pacific/Tongatapu
- Pacific/Truk
- Pacific/Wake
- Pacific/Wallis
- Pacific/Yap
- Poland
- Portugal
- PRC
- PST8PDT
- ROC
- ROK
- Singapore
- Turkey
- UCT
- Universal
- US/Alaska
- US/Aleutian
- US/Arizona
- US/Central
- US/East-Indiana
- US/Eastern
- US/Hawaii
- US/Indiana-Starke
- US/Michigan
- US/Mountain
- US/Pacific
- US/Samoa
- UTC
- W-SU
- WET
- Zulu
example: Asia/Kolkata
type: string
type: object
set_user_property:
properties:
"$set":
"$ref": "#/components/schemas/set_user_property_fields"
distinct_id:
"$ref": "#/components/schemas/distinct_id"
required:
- distinct_id
- $set
type: object
set_user_property_fields:
description: "Enter the property name as JSON key and the value to set as JSON value"
additionalProperties:
oneOf:
- type: string
- type: number
- type: boolean
- type: string
format: date
- type: array
example:
property_1: "some text"
property_2: 123
property_3: 45.67
property_4: true
property_5: false
property_6: "2020-10-01T18:30:00.000Z"
property_7: "2021-12-01"
property_8: ["iPhone 16 Pro", "iPad 32 GB"]
property_9: [23000, 20.34]
property_n:
["2020-10-01T18:30:00Z", "2021-11-01T13:35:00+02:00", "2023-12-05"]
type: object
set_user_property_once:
properties:
"$once":
"$ref": "#/components/schemas/set_user_property_once_fields"
distinct_id:
"$ref": "#/components/schemas/distinct_id"
required:
- distinct_id
- $once
type: object
set_user_property_once_fields:
description: Enter the property name as JSON key and the value to set as JSON value
additionalProperties:
oneOf:
- type: string
- type: number
- type: boolean
- type: string
format: date
- type: array
example:
property_1: "some text"
property_2: 123
property_3: 45.67
property_4: true
property_5: false
property_6: "2020-10-01T18:30:00.000Z"
property_7: "2021-12-01"
property_8: ["iPhone 16 Pro", "iPad 32 GB"]
property_9: [23000, 20.34]
property_n:
["2020-10-01T18:30:00Z", "2021-11-01T13:35:00+02:00", "2023-12-05"]
type: object
increment_user_property:
properties:
"$add":
"$ref": "#/components/schemas/increment_user_property_fields"
distinct_id:
"$ref": "#/components/schemas/distinct_id"
required:
- distinct_id
- $add
type: object
increment_user_property_fields:
description: Enter the property name as JSON key and the numeric value to increment/decrement as JSON value
example:
property_1: 23.4
property_2: 20301
property_n: -39.45
additionalProperties:
type: number
type: object
append_to_user_property:
properties:
"$append":
"$ref": "#/components/schemas/append_to_user_property_fields"
distinct_id:
"$ref": "#/components/schemas/distinct_id"
required:
- distinct_id
- $append
type: object
append_to_user_property_fields:
description: Enter the property name as JSON key and the numeric or string value to append as JSON value
additionalProperties:
oneOf:
- type: number
- type: string
- type: string
format: date
example:
property_1: "some text"
property_2: 123
property_3: 45.67
property_4: "2020-10-01T18:30:00.000Z"
property_5: "2021-12-01"
property_n: "2021-11-01T13:35:00+02:00"
type: object
remove_from_user_property_list:
properties:
"$remove":
"$ref": "#/components/schemas/remove_from_user_property_list_fields"
distinct_id:
"$ref": "#/components/schemas/distinct_id"
required:
- distinct_id
- $remove
type: object
remove_from_user_property_list_fields:
description: Enter the property name as JSON key and the value to remove as JSON value
additionalProperties:
oneOf:
- type: number
- type: string
- type: string
format: date
example:
property_1: "some text"
property_2: 123
property_3: 45.67
property_4: "2020-10-01T18:30:00.000Z"
property_5: "2021-12-01"
property_n: "2021-11-01T13:35:00+02:00"
type: object
unset_user_property:
properties:
"$unset":
"$ref": "#/components/schemas/unset_user_property_fields"
distinct_id:
"$ref": "#/components/schemas/distinct_id"
required:
- distinct_id
- $unset
type: object
unset_user_property_fields:
description: Enter the property names to unset in an array
example: ["property_1", "property_2", "property_n"]
items:
type: string
type: array
user_property_bulk:
properties:
batch:
description: "Enter an array of objects with `distinct_id` and `action` to perform on the user properties"
items:
type: object
properties:
distinct_id:
"$ref": "#/components/schemas/distinct_id"
action:
type: object
properties:
"$set":
"$ref": "#/components/schemas/set_user_property_fields"
"$once":
"$ref": "#/components/schemas/set_user_property_once_fields"
"$add":
"$ref": "#/components/schemas/increment_user_property_fields"
"$append":
"$ref": "#/components/schemas/append_to_user_property_fields"
"$remove":
"$ref": "#/components/schemas/remove_from_user_property_list_fields"
"$unset":
"$ref": "#/components/schemas/unset_user_property_fields"
example:
distinct_id: "XXXXX"
action:
$set:
property_1: "some text"
property_2: 123
property_3: 45.67
$once:
property_4: true
property_5: ["iPhone 16 Pro", "iPad 32 GB"]
property_6: "2020-10-01T18:30:00.000Z"
$add:
property_7: 10.23
property_8: -11.9
property_9: 223
$append:
property_10: "#12345"
property_11: 2030
property_12: "2022-11-11T10:30:00+02:00"
$remove:
property_13: "2023-11-10"
property_14: "ABC1234"
property_15: 4010
$unset: ["property_0", "old_property1"]
required:
- distinct_id
- action
type: array
required:
- batch
to:
properties:
discord:
description: Enter the discord ID of the user.
example: 101XXXXXXXXXX7XXXXX
type: string
email:
description: Enter the email address of the user.
example: abcde@fghi.com
type: string
inapp:
description: Enter the distinct ID or the generated token of the user.
example: "12345"
type: string
push:
description:
If you use multiple Push providers, add the following prefix for
the respective provider tokens:
- For Expo: `expo_token:`
-
For FCM: `fcm_token:`
- For OneSignal playerId:
`onesignal_player_id:`
- For OneSignal externalId:
`onesignal_external_id:`
- For Mi Push: `mi_token:`
If
you use just one provider, then the prefix is not required. However, if you
wish to use OneSignal with playerId token, then the prefix is required.
example: ExponentPushToken[XXXXX]
type: string
slack:
description: Enter the channel ID, user ID, or email address of the user.
example: CXXXXXXXXXX
type: string
sms:
description:
Enter the mobile number of the user. The number must start with
the country code (preferably in E.164 format). For example: +919879XXXXXX.
example: +919879XXXXXX
type: string
teams:
description:
Enter the channel name. For teams, we currently support sending
to one channel only. To send to multiple channels, do get in touch
and we can share a workaround.
example: General
type: string
voice:
description:
Enter the mobile number of the user. The number must start with
the country code (preferably in E.164 format). For example: +919879XXXXXX.
example: +919879XXXXXX
type: string
whatsapp:
description:
Enter the WhatsApp mobile number of the user. The number must start
with the country code (preferably in E.164 format). For example: +919879XXXXXX
example: +919879XXXXXX
type: string
type: object
update_subscription_multiple:
properties:
user_preference:
properties:
SXXXXXXXXX:
"$ref": "#/components/schemas/preference_channels"
type: object
type: object
required:
- user_preference
update_subscription_single:
properties:
channel:
enum:
- sms
- whatsapp
- email
- discord
- slack
- teams
- push
- voice
- inapp
- webpush
type: string
distinct_id:
type: string
status:
enum:
- opted-in
- opted-out
type: string
type: object
required:
- channel
- distinct_id
- status
updated_at:
properties:
discord:
type: string
email:
type: string
inapp:
type: string
push:
type: string
slack:
type: string
sms:
type: string
teams:
type: string
voice:
type: string
webpush:
type: string
whatsapp:
type: string
type: object
version_event_body:
oneOf:
- properties:
callback:
"$ref": "#/components/schemas/callback"
data:
"$ref": "#/components/schemas/data"
event:
"$ref": "#/components/schemas/event"
to:
"$ref": "#/components/schemas/to"
required:
- event
- to
type: object
- properties:
callback:
"$ref": "#/components/schemas/callback"
data:
"$ref": "#/components/schemas/data"
distinct_id:
"$ref": "#/components/schemas/distinct_id"
event:
"$ref": "#/components/schemas/event"
required:
- distinct_id
- event
type: object
- properties:
callback:
"$ref": "#/components/schemas/callback"
data:
"$ref": "#/components/schemas/data"
distinct_id:
"$ref": "#/components/schemas/distinct_id"
event:
"$ref": "#/components/schemas/event"
to:
"$ref": "#/components/schemas/to"
required:
- distinct_id
- event
- to
type: object
version_profiles_body:
properties:
channel:
"$ref": "#/components/schemas/WSIDversionprofiles_channel"
distinct_id:
description: Enter the distinct ID that you use to identify the user.
example: XXXXXXXX
type: string
name:
description: "(Optional) Enter the full name of the user."
example: John Doe
type: string
status:
description:
"(Optional) Enter 1 to specify that the user is active and should
receive notifications. Enter 0 to specify that the user in inactive and should
not receive any notifications. If null, the default value is 1."
enum:
- 1
- 0
type: integer
timezone:
description:
(Optional) Enter the timezone of the user. For a list of possible
values, please click here.
enum:
- Africa/Abidjan
- Africa/Accra
- Africa/Addis_Ababa
- Africa/Algiers
- Africa/Asmara
- Africa/Asmera
- Africa/Bamako
- Africa/Bangui
- Africa/Banjul
- Africa/Bissau
- Africa/Blantyre
- Africa/Brazzaville
- Africa/Bujumbura
- Africa/Cairo
- Africa/Casablanca
- Africa/Ceuta
- Africa/Conakry
- Africa/Dakar
- Africa/Dar_es_Salaam
- Africa/Djibouti
- Africa/Douala
- Africa/El_Aaiun
- Africa/Freetown
- Africa/Gaborone
- Africa/Harare
- Africa/Johannesburg
- Africa/Juba
- Africa/Kampala
- Africa/Khartoum
- Africa/Kigali
- Africa/Kinshasa
- Africa/Lagos
- Africa/Libreville
- Africa/Lome
- Africa/Luanda
- Africa/Lubumbashi
- Africa/Lusaka
- Africa/Malabo
- Africa/Maputo
- Africa/Maseru
- Africa/Mbabane
- Africa/Mogadishu
- Africa/Monrovia
- Africa/Nairobi
- Africa/Ndjamena
- Africa/Niamey
- Africa/Nouakchott
- Africa/Ouagadougou
- Africa/Porto-Novo
- Africa/Sao_Tome
- Africa/Timbuktu
- Africa/Tripoli
- Africa/Tunis
- Africa/Windhoek
- America/Adak
- America/Anchorage
- America/Anguilla
- America/Antigua
- America/Araguaina
- America/Argentina/Buenos_Aires
- America/Argentina/Catamarca
- America/Argentina/ComodRivadavia
- America/Argentina/Cordoba
- America/Argentina/Jujuy
- America/Argentina/La_Rioja
- America/Argentina/Mendoza
- America/Argentina/Rio_Gallegos
- America/Argentina/Salta
- America/Argentina/San_Juan
- America/Argentina/San_Luis
- America/Argentina/Tucuman
- America/Argentina/Ushuaia
- America/Aruba
- America/Asuncion
- America/Atikokan
- America/Atka
- America/Bahia
- America/Bahia_Banderas
- America/Barbados
- America/Belem
- America/Belize
- America/Blanc-Sablon
- America/Boa_Vista
- America/Bogota
- America/Boise
- America/Buenos_Aires
- America/Cambridge_Bay
- America/Campo_Grande
- America/Cancun
- America/Caracas
- America/Catamarca
- America/Cayenne
- America/Cayman
- America/Chicago
- America/Chihuahua
- America/Coral_Harbour
- America/Cordoba
- America/Costa_Rica
- America/Creston
- America/Cuiaba
- America/Curacao
- America/Danmarkshavn
- America/Dawson
- America/Dawson_Creek
- America/Denver
- America/Detroit
- America/Dominica
- America/Edmonton
- America/Eirunepe
- America/El_Salvador
- America/Ensenada
- America/Fort_Nelson
- America/Fort_Wayne
- America/Fortaleza
- America/Glace_Bay
- America/Godthab
- America/Goose_Bay
- America/Grand_Turk
- America/Grenada
- America/Guadeloupe
- America/Guatemala
- America/Guayaquil
- America/Guyana
- America/Halifax
- America/Havana
- America/Hermosillo
- America/Indiana/Indianapolis
- America/Indiana/Knox
- America/Indiana/Marengo
- America/Indiana/Petersburg
- America/Indiana/Tell_City
- America/Indiana/Vevay
- America/Indiana/Vincennes
- America/Indiana/Winamac
- America/Indianapolis
- America/Inuvik
- America/Iqaluit
- America/Jamaica
- America/Jujuy
- America/Juneau
- America/Kentucky/Louisville
- America/Kentucky/Monticello
- America/Knox_IN
- America/Kralendijk
- America/La_Paz
- America/Lima
- America/Los_Angeles
- America/Louisville
- America/Lower_Princes
- America/Maceio
- America/Managua
- America/Manaus
- America/Marigot
- America/Martinique
- America/Matamoros
- America/Mazatlan
- America/Mendoza
- America/Menominee
- America/Merida
- America/Metlakatla
- America/Mexico_City
- America/Miquelon
- America/Moncton
- America/Monterrey
- America/Montevideo
- America/Montreal
- America/Montserrat
- America/Nassau
- America/New_York
- America/Nipigon
- America/Nome
- America/Noronha
- America/North_Dakota/Beulah
- America/North_Dakota/Center
- America/North_Dakota/New_Salem
- America/Nuuk
- America/Ojinaga
- America/Panama
- America/Pangnirtung
- America/Paramaribo
- America/Phoenix
- America/Port-au-Prince
- America/Port_of_Spain
- America/Porto_Acre
- America/Porto_Velho
- America/Puerto_Rico
- America/Punta_Arenas
- America/Rainy_River
- America/Rankin_Inlet
- America/Recife
- America/Regina
- America/Resolute
- America/Rio_Branco
- America/Rosario
- America/Santa_Isabel
- America/Santarem
- America/Santiago
- America/Santo_Domingo
- America/Sao_Paulo
- America/Scoresbysund
- America/Shiprock
- America/Sitka
- America/St_Barthelemy
- America/St_Johns
- America/St_Kitts
- America/St_Lucia
- America/St_Thomas
- America/St_Vincent
- America/Swift_Current
- America/Tegucigalpa
- America/Thule
- America/Thunder_Bay
- America/Tijuana
- America/Toronto
- America/Tortola
- America/Vancouver
- America/Virgin
- America/Whitehorse
- America/Winnipeg
- America/Yakutat
- America/Yellowknife
- Antarctica/Casey
- Antarctica/Davis
- Antarctica/DumontDUrville
- Antarctica/Macquarie
- Antarctica/Mawson
- Antarctica/McMurdo
- Antarctica/Palmer
- Antarctica/Rothera
- Antarctica/South_Pole
- Antarctica/Syowa
- Antarctica/Troll
- Antarctica/Vostok
- Arctic/Longyearbyen
- Asia/Aden
- Asia/Almaty
- Asia/Amman
- Asia/Anadyr
- Asia/Aqtau
- Asia/Aqtobe
- Asia/Ashgabat
- Asia/Ashkhabad
- Asia/Atyrau
- Asia/Baghdad
- Asia/Bahrain
- Asia/Baku
- Asia/Bangkok
- Asia/Barnaul
- Asia/Beirut
- Asia/Bishkek
- Asia/Brunei
- Asia/Calcutta
- Asia/Chita
- Asia/Choibalsan
- Asia/Chongqing
- Asia/Chungking
- Asia/Colombo
- Asia/Dacca
- Asia/Damascus
- Asia/Dhaka
- Asia/Dili
- Asia/Dubai
- Asia/Dushanbe
- Asia/Famagusta
- Asia/Gaza
- Asia/Harbin
- Asia/Hebron
- Asia/Ho_Chi_Minh
- Asia/Hong_Kong
- Asia/Hovd
- Asia/Irkutsk
- Asia/Istanbul
- Asia/Jakarta
- Asia/Jayapura
- Asia/Jerusalem
- Asia/Kabul
- Asia/Kamchatka
- Asia/Karachi
- Asia/Kashgar
- Asia/Kathmandu
- Asia/Katmandu
- Asia/Khandyga
- Asia/Kolkata
- Asia/Krasnoyarsk
- Asia/Kuala_Lumpur
- Asia/Kuching
- Asia/Kuwait
- Asia/Macao
- Asia/Macau
- Asia/Magadan
- Asia/Makassar
- Asia/Manila
- Asia/Muscat
- Asia/Nicosia
- Asia/Novokuznetsk
- Asia/Novosibirsk
- Asia/Omsk
- Asia/Oral
- Asia/Phnom_Penh
- Asia/Pontianak
- Asia/Pyongyang
- Asia/Qatar
- Asia/Qostanay
- Asia/Qyzylorda
- Asia/Rangoon
- Asia/Riyadh
- Asia/Saigon
- Asia/Sakhalin
- Asia/Samarkand
- Asia/Seoul
- Asia/Shanghai
- Asia/Singapore
- Asia/Srednekolymsk
- Asia/Taipei
- Asia/Tashkent
- Asia/Tbilisi
- Asia/Tehran
- Asia/Tel_Aviv
- Asia/Thimbu
- Asia/Thimphu
- Asia/Tokyo
- Asia/Tomsk
- Asia/Ujung_Pandang
- Asia/Ulaanbaatar
- Asia/Ulan_Bator
- Asia/Urumqi
- Asia/Ust-Nera
- Asia/Vientiane
- Asia/Vladivostok
- Asia/Yakutsk
- Asia/Yangon
- Asia/Yekaterinburg
- Asia/Yerevan
- Atlantic/Azores
- Atlantic/Bermuda
- Atlantic/Canary
- Atlantic/Cape_Verde
- Atlantic/Faeroe
- Atlantic/Faroe
- Atlantic/Jan_Mayen
- Atlantic/Madeira
- Atlantic/Reykjavik
- Atlantic/South_Georgia
- Atlantic/St_Helena
- Atlantic/Stanley
- Australia/ACT
- Australia/Adelaide
- Australia/Brisbane
- Australia/Broken_Hill
- Australia/Canberra
- Australia/Currie
- Australia/Darwin
- Australia/Eucla
- Australia/Hobart
- Australia/LHI
- Australia/Lindeman
- Australia/Lord_Howe
- Australia/Melbourne
- Australia/North
- Australia/NSW
- Australia/Perth
- Australia/Queensland
- Australia/South
- Australia/Sydney
- Australia/Tasmania
- Australia/Victoria
- Australia/West
- Australia/Yancowinna
- Brazil/Acre
- Brazil/DeNoronha
- Brazil/East
- Brazil/West
- Canada/Atlantic
- Canada/Central
- Canada/Eastern
- Canada/Mountain
- Canada/Newfoundland
- Canada/Pacific
- Canada/Saskatchewan
- Canada/Yukon
- CET
- Chile/Continental
- Chile/EasterIsland
- CST6CDT
- Cuba
- EET
- Egypt
- Eire
- EST
- EST5EDT
- Etc/GMT+0
- Etc/GMT+1
- Etc/GMT+10
- Etc/GMT+11
- Etc/GMT+12
- Etc/GMT+2
- Etc/GMT+3
- Etc/GMT+4
- Etc/GMT+5
- Etc/GMT+6
- Etc/GMT+7
- Etc/GMT+8
- Etc/GMT+9
- Etc/GMT
- Etc/GMT-0
- Etc/GMT-1
- Etc/GMT-10
- Etc/GMT-11
- Etc/GMT-12
- Etc/GMT-13
- Etc/GMT-14
- Etc/GMT-2
- Etc/GMT-3
- Etc/GMT-4
- Etc/GMT-5
- Etc/GMT-6
- Etc/GMT-7
- Etc/GMT-8
- Etc/GMT-9
- Etc/GMT0
- Etc/Greenwich
- Etc/UCT
- Etc/Universal
- Etc/UTC
- Etc/Zulu
- Europe/Amsterdam
- Europe/Andorra
- Europe/Astrakhan
- Europe/Athens
- Europe/Belfast
- Europe/Belgrade
- Europe/Berlin
- Europe/Bratislava
- Europe/Brussels
- Europe/Bucharest
- Europe/Budapest
- Europe/Busingen
- Europe/Chisinau
- Europe/Copenhagen
- Europe/Dublin
- Europe/Gibraltar
- Europe/Guernsey
- Europe/Helsinki
- Europe/Isle_of_Man
- Europe/Istanbul
- Europe/Jersey
- Europe/Kaliningrad
- Europe/Kiev
- Europe/Kirov
- Europe/Lisbon
- Europe/Ljubljana
- Europe/London
- Europe/Luxembourg
- Europe/Madrid
- Europe/Malta
- Europe/Mariehamn
- Europe/Minsk
- Europe/Monaco
- Europe/Moscow
- Europe/Nicosia
- Europe/Oslo
- Europe/Paris
- Europe/Podgorica
- Europe/Prague
- Europe/Riga
- Europe/Rome
- Europe/Samara
- Europe/San_Marino
- Europe/Sarajevo
- Europe/Saratov
- Europe/Simferopol
- Europe/Skopje
- Europe/Sofia
- Europe/Stockholm
- Europe/Tallinn
- Europe/Tirane
- Europe/Tiraspol
- Europe/Ulyanovsk
- Europe/Uzhgorod
- Europe/Vaduz
- Europe/Vatican
- Europe/Vienna
- Europe/Vilnius
- Europe/Volgograd
- Europe/Warsaw
- Europe/Zagreb
- Europe/Zaporozhye
- Europe/Zurich
- GB
- GB-Eire
- GMT+0
- GMT
- GMT-0
- GMT0
- Greenwich
- Hongkong
- HST
- Iceland
- Indian/Antananarivo
- Indian/Chagos
- Indian/Christmas
- Indian/Cocos
- Indian/Comoro
- Indian/Kerguelen
- Indian/Mahe
- Indian/Maldives
- Indian/Mauritius
- Indian/Mayotte
- Indian/Reunion
- Iran
- Israel
- Jamaica
- Japan
- Kwajalein
- Libya
- MET
- Mexico/BajaNorte
- Mexico/BajaSur
- Mexico/General
- MST
- MST7MDT
- Navajo
- NZ
- NZ-CHAT
- Pacific/Apia
- Pacific/Auckland
- Pacific/Bougainville
- Pacific/Chatham
- Pacific/Chuuk
- Pacific/Easter
- Pacific/Efate
- Pacific/Enderbury
- Pacific/Fakaofo
- Pacific/Fiji
- Pacific/Funafuti
- Pacific/Galapagos
- Pacific/Gambier
- Pacific/Guadalcanal
- Pacific/Guam
- Pacific/Honolulu
- Pacific/Johnston
- Pacific/Kanton
- Pacific/Kiritimati
- Pacific/Kosrae
- Pacific/Kwajalein
- Pacific/Majuro
- Pacific/Marquesas
- Pacific/Midway
- Pacific/Nauru
- Pacific/Niue
- Pacific/Norfolk
- Pacific/Noumea
- Pacific/Pago_Pago
- Pacific/Palau
- Pacific/Pitcairn
- Pacific/Pohnpei
- Pacific/Ponape
- Pacific/Port_Moresby
- Pacific/Rarotonga
- Pacific/Saipan
- Pacific/Samoa
- Pacific/Tahiti
- Pacific/Tarawa
- Pacific/Tongatapu
- Pacific/Truk
- Pacific/Wake
- Pacific/Wallis
- Pacific/Yap
- Poland
- Portugal
- PRC
- PST8PDT
- ROC
- ROK
- Singapore
- Turkey
- UCT
- Universal
- US/Alaska
- US/Aleutian
- US/Arizona
- US/Central
- US/East-Indiana
- US/Eastern
- US/Hawaii
- US/Indiana-Starke
- US/Michigan
- US/Mountain
- US/Pacific
- US/Samoa
- UTC
- W-SU
- WET
- Zulu
example: Asia/Kolkata
type: string
required:
- distinct_id
type: object
fetch_suppression_list:
properties:
_id:
type: string
example: 68763be4b8cee01156d9fa8a
description: Unique identifier of the suppression record
destination:
type: string
example: 919XXXXXXXX
description: Phone number or email of the suppressed user
distinct_id:
type: string
example: XXXX-XXX-XXXX
description: Unique identifier (used as an alternative to destination)
channel:
type: string
example: sms
description: Communication channel (e.g., sms, whatsapp, email)
description:
type: string
example: DND
description: Reason or tag for suppression (e.g., "DND", "Testing").
created_at:
type: string
example: "2025-07-15T16:20:16.302+05:30"
description: Timestamp when the suppression was created
expiry_ts:
type: string
example: "2025-07-15T16:25:16.302+05:30"
description: Optional timestamp for expiration of suppression
type: object
add_suppression_list:
oneOf:
- properties:
distinct_id:
type: string
example: XXXX-XXX-XXXX
description: Unique identifier (used as an alternative to destination)
channel:
type: string
example: sms
description: Communication channel (e.g., sms, whatsapp, email)
description:
type: string
example: DND
description: Reason or tag for suppression (e.g., "DND", "Testing").
type: object
required:
- distinct_id
- channel
- properties:
destination:
type: string
example: 919XXXXXXXX
description: Phone number or email of the suppressed user
channel:
type: string
example: sms
description: Communication channel (e.g., sms, whatsapp, email)
description:
type: string
example: DND
description: Reason or tag for suppression (e.g., "DND", "Testing").
type: object
required:
- destination
- channel