> ## Documentation Index
> Fetch the complete documentation index at: https://help.doozy.live/llms.txt
> Use this file to discover all available pages before exploring further.

# List what was sent to a cohort

> Everything sent to one cohort, newest first: its program's tracks and the tracks, quizzes, surveys and polls sent to the cohort directly, each with its progress and the IDs to fetch its report.



## OpenAPI

````yaml /openapi.json get /v1/cohorts/{cohort_id}/sends
openapi: 3.0.3
info:
  title: Doozy Public API
  version: 1.0.0
  description: >-
    The Doozy Public API allows you to programmatically access your
    organization's data.


    ## Authentication


    All API requests require an API key passed in the `x-api-key` header.


    ```

    x-api-key: dzy_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    ```


    API keys can be generated and managed through the Doozy dashboard. Each key
    is associated with a user account and inherits that user's permissions.


    ## Rate Limiting


    API requests are rate limited. Rate limiting is handled by Cloudflare. If
    you exceed the rate limit, you'll receive a 429 Too Many Requests response.


    ## Pagination


    List endpoints support cursor-based pagination using `limit` and
    `starting_after` query parameters.
  contact:
    name: Doozy Support
    email: support@doozy.live
    url: https://help.doozy.live/api
servers:
  - url: https://api.doozy.live
    description: Production
security:
  - apiKey: []
tags:
  - name: Quizzes
    description: Quiz analytics and reporting endpoints
  - name: Tracks
    description: Track management and analytics endpoints
  - name: Surveys
    description: Survey and poll analytics endpoints
  - name: Introductions
    description: Doozy Roulette and Matchmaking introduction endpoints
  - name: Account
    description: 'Owner-only workspace settings: user provisioning and feature permissions'
paths:
  /v1/cohorts/{cohort_id}/sends:
    get:
      tags:
        - Cohorts
      summary: List what was sent to a cohort
      description: >-
        Everything sent to one cohort, newest first: its program's tracks and
        the tracks, quizzes, surveys and polls sent to the cohort directly, each
        with its progress and the IDs to fetch its report.
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 128
            pattern: ^[A-Za-z0-9_-]+$
            example: a7Aj3iEr4vqL6XAN0h2n
          required: true
          name: cohort_id
          in: path
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
            description: Maximum number of sends to return (1-100, default 25)
          required: false
          description: Maximum number of sends to return (1-100, default 25)
          name: limit
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 512
            pattern: ^[A-Za-z0-9_:-]+$
            description: 'Cursor for pagination: the last send ID from the previous page'
          required: false
          description: 'Cursor for pagination: the last send ID from the previous page'
          name: starting_after
          in: query
      responses:
        '200':
          description: Sends to the cohort
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CohortSendList'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication required - missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Cohort not found or user does not have access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKey: []
components:
  schemas:
    CohortSendList:
      type: object
      properties:
        object:
          type: string
          enum:
            - list
        data:
          type: array
          items:
            $ref: '#/components/schemas/CohortSend'
        has_more:
          type: boolean
        url:
          type: string
      required:
        - object
        - data
        - has_more
        - url
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - api_error
                - authentication_error
                - invalid_request_error
                - rate_limit_error
                - not_found_error
                - permission_error
              description: The type of error returned
              example: invalid_request_error
            code:
              type: string
              nullable: true
              enum:
                - api_key_required
                - api_key_invalid
                - firebase_id_token_required
                - firebase_id_token_invalid
                - appcheck_token_required
                - appcheck_token_invalid
                - account_id_required
                - account_id_invalid
                - api_access_disabled
                - api_access_unauthorized
                - api_access_role_not_allowed
                - parameter_missing
                - parameter_invalid
                - resource_already_exists
                - resource_in_use
                - resource_not_found
                - permission_denied
                - not_implemented
                - internal_error
                - rate_limit_exceeded
                - upstream_error
                - user_not_found
                - user_not_connected_to_slack
                - user_missing_roles_for_track
                - user_already_on_track
                - user_already_completed_track
                - enrollee_already_terminal
                - track_not_active
                - track_not_enrollable
                - action_forbidden
                - api_access_plan_not_supported
                - plan_not_supported
                - draft_stale
                - invalid_cursor
                - program_archived
                - program_not_active
                - program_track_not_live
                - invalid_status_transition
                - mentorship_not_proposed
                - mentorship_ended
                - approval_waiting_on_mentor
                - no_reachable_manager
                - application_already_decided
                - participant_not_in_program
                - participant_already_answered
                - participant_not_mentor
                - reminder_pending
                - mentee_not_waiting
                - mentor_not_active
                - mentor_full
                - mentor_at_total
                - mentor_unchanged
                - same_person
                - invite_expired
                - invite_revoked
                - null
              description: Machine-readable error code for specific error conditions
              example: resource_not_found
            message:
              type: string
              description: Human-readable error message
              example: 'No such quiz: tYYueINbgmmyss8O3LiD'
            param:
              type: string
              nullable: true
              description: The parameter related to the error, if applicable
              example: id
            doc_url:
              type: string
              format: uri
              description: URL to documentation about this error
              example: https://docs.doozy.live/api/errors#resource_not_found
            request_id:
              type: string
              description: ID of the request, for support
              example: req_8KSh4mNxQ1aZbPoLcVrT
          required:
            - type
            - code
            - message
            - request_id
      required:
        - error
    CohortSend:
      type: object
      properties:
        object:
          type: string
          enum:
            - cohort_send
        id:
          type: string
          description: Stable for the life of the send, from scheduled to sent
        source:
          type: string
          enum:
            - program
            - one_off
          description: >-
            program: runs for every cohort in the program. one_off: sent to this
            cohort.
        content:
          $ref: '#/components/schemas/CohortSendContent'
        delivery:
          type: string
          enum:
            - shared
            - each_person
          description: >-
            shared: one post or run for the cohort. each_person: everyone gets
            their own.
        status:
          type: string
          enum:
            - scheduled
            - active
            - completed
            - failed
            - canceled
        created_at:
          type: string
          format: date-time
          description: When the send was created. Lists are sorted by this, newest first.
        scheduled_at:
          type: string
          nullable: true
          format: date-time
          description: When a scheduled send will go out. Null once sent.
        sent_at:
          type: string
          nullable: true
          format: date-time
          description: When it went out. Null until then.
        created_by:
          type: string
          nullable: true
        include_future_members:
          type: boolean
          description: Whether people who join the cohort later also get it
        progress:
          type: object
          properties:
            done:
              type: integer
              description: People who finished, responses received, or steps delivered
            total:
              type: integer
            average_score:
              type: number
              nullable: true
              description: 'Quizzes only: average share of correct answers, 0 to 1'
          required:
            - done
            - total
            - average_score
        track:
          $ref: '#/components/schemas/CohortSendTrack'
        quiz:
          $ref: '#/components/schemas/CohortSendQuiz'
        survey:
          $ref: '#/components/schemas/CohortSendSurvey'
      required:
        - object
        - id
        - source
        - content
        - delivery
        - status
        - created_at
        - scheduled_at
        - sent_at
        - created_by
        - include_future_members
        - progress
        - track
        - quiz
        - survey
    CohortSendContent:
      type: object
      properties:
        type:
          type: string
          enum:
            - track
            - quiz
            - survey
            - poll
          description: What was sent. Picks which of track, quiz or survey holds its IDs.
        id:
          type: string
          nullable: true
          description: >-
            The track, quiz or survey ID. Null for a quiz with no saved quiz
            behind it.
        name:
          type: string
      required:
        - type
        - id
        - name
    CohortSendTrack:
      type: object
      nullable: true
      properties:
        track_id:
          type: string
        track_instance_id:
          type: string
          nullable: true
          description: The shared run, when delivery is shared
        cohort_enrollment_id:
          type: string
          nullable: true
          description: Set when the track was enrolled for this cohort on its own
      required:
        - track_id
        - track_instance_id
        - cohort_enrollment_id
      description: Set when content.type is track
    CohortSendQuiz:
      type: object
      nullable: true
      properties:
        quiz_id:
          type: string
          nullable: true
        quiz_instance_id:
          type: string
          description: >-
            The quiz instance (/v1/quiz-instances). Pass as instance_id to the
            quiz report.
      required:
        - quiz_id
        - quiz_instance_id
      description: Set when content.type is quiz
    CohortSendSurvey:
      type: object
      nullable: true
      properties:
        survey_id:
          type: string
        survey_schedule_id:
          type: string
          nullable: true
          description: The survey schedule (/v1/survey-schedules) behind this send
        survey_instance_id:
          type: string
          nullable: true
          description: The latest time it went out. Null while scheduled.
      required:
        - survey_id
        - survey_schedule_id
        - survey_instance_id
      description: Set when content.type is survey or poll
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication. Generate keys in the Doozy dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.