---
title: "List schedule recipients"
method: GET
path: "/v1/schedules/{scheduleId}/recipients"
tags: ["Schedule recipients"]
---

# List schedule recipients

`GET /v1/schedules/{scheduleId}/recipients`

## Request

- Base URL: `https://blobsrus.omniapp.co/api`
- URL: `https://blobsrus.omniapp.co/api/v1/schedules/{scheduleId}/recipients`
- Auth: HTTP bearer

Retrieve the list of recipients for the specified schedule. Successful responses will include the recipients and details about the schedule's destination type.

To retrieve a schedule's full configuration, use the [List schedules](/api/schedules#list-schedules) endpoint.

## Path parameters

- `scheduleId` string, uuid, required

## Response `200`

Successful requests return a `200 OK` status and response body specific to the schedule's destination type.

- union
  - ScheduleRecipientsEmail: Response for schedules with email destinations.
    - `type` 'email': The destination type.
    - `recipients` object[]
      - `email` string, email: The recipient's email address.
      - `emailOnly` boolean: Indicates whether the recipient is an email-only user.
      - `id` string, uuid: The recipient's unique identifier.
      - `name` string: The recipient's name.
    - `userGroupRecipients` object[]: Recipients added as members of a user group, grouped by user group.
      - `id` string: The user group's ID.
      - `name` string: The user group's name.
      - `recipients` object[]: The email recipients who belong to the user group.
        - `email` string, email: The recipient's email address.
        - `id` string, uuid: The recipient's unique identifier.
        - `name` string: The recipient's name.
  - ScheduleRecipientsSftp: Response for schedules with SFTP destinations.
    - `type` 'sftp': The destination type.
    - `address` string: The SFTP server address.
    - `port` integer: The SFTP server port.
    - `username` string: **Required if `destinationType: sftp`.** SFTP username.
  - ScheduleRecipientsSlack: Response for schedules with Slack destinations.
    - `type` 'slack': The destination type.
    - `recipients` object[]
      - `recipientType` 'channel' | 'users': **Required if `destinationType: slack`.** Specifies whether recipients are a channel or individual users. - `channel`: Deliver to a Slack channel. If the channel is private, you'll also need to invite the Omni Slackbot to the channel. - `users`: Deliver to individual Slack users
      - `slackId` string: The Slack channel or user ID.
  - ScheduleRecipientsWebhook: Response for schedules with webhook destinations.
    - `type` 'webhook': The destination type.
    - `url` string, uri: A webhook URL. Must be a public HTTPS URL: IP addresses in private, loopback, link-local or reserved ranges, and `.internal`, `.local` or `.localhost` hosts, are rejected.
  - ScheduleRecipientsS3: Response for schedules with Amazon S3 destinations.
    - `type` 's3': The destination type.
    - `bucketName` string: **Required if `destinationType: s3`.** The name of the target S3 bucket. Must be 3-63 characters, lowercase letters, numbers, hyphens, and periods only.
    - `region` string: **Required if `destinationType: s3`.** The AWS region of the S3 bucket (e.g., `us-east-1`).
    - `roleArn` string: **Required if `destinationType: s3`.** The ARN of the IAM role in the customer's AWS account that grants Omni write access to the S3 bucket.
    - `externalId` string: The external ID for IAM trust policy configuration.
    - `keyPrefix` string: **Applicable to S3 destinations.** Folder path prefix for the uploaded file (e.g., `reports/daily/`). Must not contain path traversal sequences.
    - `filename` string: **Applicable to S3 destinations.** Filename template (without extension) using Mustache syntax. Supported variables: - `{{currentDate}}` - `{{currentTime}}` - `{{currentYear}}` - `{{currentMonth}}` - `{{currentMonthName}}` - `{{currentDay}}` - `{{yesterdayDate}}` - `{{tomorrowDate}}` - `{{previousMonth}}` - `{{previousMonthName}}` - `{{previousMonthYear}}` - `{{timeZone}}` - `{{entityName}}` - `{{format}}` - `{{scheduledTaskName}}`

## Other responses

- `400`: Bad Request. Possible error messages include: - `Bad Request: scheduleId: Invalid uuid`
- `404`: Not Found. Possible error messages include: - `Scheduled task with id {scheduleId} does not exist`
- `405`: Method Not Allowed - Invalid HTTP method for this endpoint
- `429`: Too Many Requests - Rate limit exceeded (60 requests/minute)

## Changes

- **2026-11-03** `43290040f88f`: 6 info
  - the endpoint scheme security `bearerAuth` was added to the API
  - added the non-success response with the status `400`
  - added the non-success response with the status `404`
  - added the non-success response with the status `405`
  - …2 more

[Operation history](https://skmtc.dev/omni/apis/omni-api/changes/v1/schedules/:scheduleId/recipients/get.md)

---

[API](https://skmtc.dev/omni/apis/omni-api.md) - [All operations](https://skmtc.dev/omni/apis/omni-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omni/apis/omni-api/revisions/43290040f88f?raw)
