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

# Get sequence email stats

> <Warning>
  **Coming soon.** This endpoint will be available by early October 2026.
</Warning>

<small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small>

Compare A/B variants: get one sequence's email stats per step and per variant, as on its Stats → Email tab. Set the window with a preset or from and to, not both; if omitted give you the last week.



## OpenAPI

````yaml /api-reference/bundled.yaml post /v3/sequences/{id}/stats/emails
openapi: 3.1.0
info:
  version: 3.0.0
  title: Reply API
  description: API for managing email sequences, contacts, and automation workflows
servers:
  - url: https://api.reply.io
security:
  - bearerAuth: []
tags:
  - name: Contacts
    description: Manage individual contacts
  - name: Contact Lists
    description: Manage contact lists and contact membership
  - name: Accounts
    description: Manage accounts (companies/organizations)
  - name: Account Lists
    description: Manage account lists and account membership
  - name: Custom Fields
    description: Manage custom contact fields
  - name: Prompt Actions
    description: Save reusable AI prompts and run them on contacts to fill custom fields
  - name: Contact Blacklist Rules
    description: Manage blacklist rules for domains, emails, and email exceptions
  - name: Live Data
    description: >-
      Find new contacts via Live Data searches and read typeahead values for the
      Live Data / Autopilot filter sidebar
  - name: Contact Enrichment
    description: >-
      Enrich contacts with emails, phone numbers, LinkedIn data, and AI-filled
      custom fields
  - name: Email Validations
    description: Estimate and schedule asynchronous email validation jobs
  - name: AI SDR Web Search
    description: Find contacts via AI-driven web search and review past searches
  - name: Sequences
    description: Manage email automation sequences
  - name: Sequence Steps
    description: Manage individual steps in sequences
  - name: Sequence Contacts
    description: Manage contacts within sequences
  - name: Sequence Folders
    description: Organize sequences into folders
  - name: Email Accounts
    description: Manage email accounts used for sending and receiving
  - name: Sequence Email Accounts
    description: Manage email accounts linked to sequences
  - name: LinkedIn Accounts
    description: Manage LinkedIn accounts for outreach
  - name: Sequence LinkedIn Accounts
    description: Manage LinkedIn accounts linked to sequences
  - name: Sequence Templates
    description: Manage sequence templates
  - name: Email Templates
    description: Manage email templates and template folders
  - name: Voices
    description: Manage cloned voices used for AI voice message steps
  - name: Schedules
    description: Manage email send schedules and timing
  - name: Holiday Calendars
    description: Manage holiday calendars for scheduling
  - name: Inbox
    description: >-
      Manage inbox threads — list/filter, read state, replies, category
      assignment, and meeting-intent flagging
  - name: Inbox Categories
    description: Manage per-team inbox thread categories and assign threads to them
  - name: Direct Outreach
    description: >-
      Send one-off outreach directly to a contact outside of any sequence —
      direct emails and LinkedIn connection requests, messages, InMails, and
      voice messages
  - name: Tasks
    description: Manage tasks and to-do items
  - name: Reports
    description: >-
      Generate and access performance reports across email, calls, tasks,
      LinkedIn, and team performance
  - name: AI SDR Sequences
    description: >-
      Manage AI SDR sequences and their AI SDR-specific settings — create, read
      settings, partial update, autopilot enable/disable/force-start, approval
      mode, generated step types, and playbook/knowledge-base connections
  - name: AI SDR Strategist
    description: Trigger AI Strategist runs
  - name: AI SDR Playbooks
    description: >-
      Manage AI SDR playbooks — tone, voice, and style guides applied during
      personalized message generation
  - name: AI SDR Knowledge Bases
    description: >-
      Manage AI SDR knowledge bases — collections of documents, links, reply
      handlers, and reengagement cards that inform the agent's responses
  - name: AI SDR Offers
    description: >-
      Manage AI SDR offers — bundles of company-context inputs (ICP, pain
      points, value propositions, etc.) used to personalize outreach
  - name: AI SDR Pending Approvals
    description: >-
      Review, send, regenerate, and provide feedback on AI-generated messages
      awaiting human approval
  - name: AI SDR Sequence Preview
    description: >-
      Read and regenerate per-contact previews of the messages a sequence will
      send, and provide feedback on preview messages
  - name: AI SDR Insights
    description: Read AI SDR insights for sequence contacts
  - name: AI SDR Intent Signals
    description: >-
      Read Reply industry IDs and technology slugs used in AI SDR intent-signal
      configuration (typeahead)
  - name: AI Prompts
    description: >-
      Manage the AI prompts used to configure sequence steps, and preview the
      output a prompt produces
  - name: AI SDR Learnings
    description: >-
      Manage the standing rules that shape how the AI writes — list, read,
      create, partially update and delete AI learnings
  - name: Registration
    description: Register the contact that domain purchases are filed under
  - name: Domains
    description: Find domains available to buy for outreach
  - name: User Account
    description: Account information and authentication verification
  - name: Settings
    description: Manage team and user settings
  - name: Billing
    description: Subscription details and monthly active contacts usage
  - name: Webhooks
    description: Manage webhook subscriptions and inspect delivery history
  - name: Background Jobs
    description: >-
      Track and cancel asynchronous background operations (e.g., email
      validation)
  - name: Attachments
    description: >-
      Upload file attachments used across email templates, sequence steps, and
      direct emails
paths:
  /v3/sequences/{id}/stats/emails:
    post:
      tags:
        - Sequences
      summary: Get sequence email stats
      description: >-
        <Warning>
          **Coming soon.** This endpoint will be available by early October 2026.
        </Warning>


        <small>_Requires the `sequences:read` scope (or a broader one that
        includes it)._</small>


        Compare A/B variants: get one sequence's email stats per step and per
        variant, as on its Stats → Email tab. Set the window with a preset or
        from and to, not both; if omitted give you the last week.
      operationId: GetSequenceEmailStats
      parameters:
        - name: id
          in: path
          required: true
          description: Sequence ID
          schema:
            type: integer
            minimum: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: object
                  description: Date range filters for sequence stats
                  properties:
                    from:
                      type: string
                      format: date-time
                      description: Start date of the reporting period
                    to:
                      type: string
                      format: date-time
                      description: End date of the reporting period
                    dateRangePreset:
                      type: string
                      enum:
                        - lastWeek
                        - lastMonth
                        - lastYear
                        - allTime
                      description: >-
                        Predefined date range. Cannot be combined with from/to.
                        Defaults to `lastWeek` if no dates provided.
            example:
              filters:
                dateRangePreset: lastMonth
      responses:
        '200':
          description: Sequence email stats retrieved successfully
          content:
            application/json:
              schema:
                type: object
                title: Sequence Email Stats Response
                description: >-
                  Email stats for one sequence, broken down per step and per A/B
                  variant — the figures on the sequence's Stats → Email tab.
                properties:
                  overview:
                    description: >-
                      Sequence-wide email figures, counted per contact across
                      the whole sequence — the same figures as `emailOverview`
                      in `POST /v3/sequences/{id}/stats`.
                    type: object
                    title: Sequence Email Overview
                    properties:
                      contacted:
                        type: integer
                        description: Number of people contacted
                      delivered:
                        type: integer
                        description: Number of emails delivered
                      opened:
                        type: integer
                        description: Number of emails opened
                      replied:
                        type: integer
                        description: Number of emails replied to
                      interested:
                        type: integer
                        description: Number of replies marked as interested
                      notReached:
                        type: integer
                        description: Number of contacts not reached
                      optedOut:
                        type: integer
                        description: Number of opt-outs
                      outOfOffice:
                        type: integer
                        description: Number of out-of-office replies
                      bounced:
                        type: integer
                        description: Number of bounced emails
                      autoReplied:
                        type: integer
                        description: Number of auto-replies received
                      meetingsBooked:
                        type: integer
                        description: Number of meetings booked
                      deliveredPercentage:
                        type: number
                        format: double
                        description: Delivery rate as a percentage (0–100)
                      openedPercentage:
                        type: number
                        format: double
                        description: Open rate as a percentage (0–100)
                      repliedPercentage:
                        type: number
                        format: double
                        description: Reply rate as a percentage (0–100)
                      interestedPercentage:
                        type: number
                        format: double
                        description: Interested rate as a percentage (0–100)
                      notReachedPercentage:
                        type: number
                        format: double
                        description: Not-reached rate as a percentage (0–100)
                      optedOutPercentage:
                        type: number
                        format: double
                        description: Opt-out rate as a percentage (0–100)
                      outOfOfficePercentage:
                        type: number
                        format: double
                        description: Out-of-office rate as a percentage (0–100)
                      bouncedPercentage:
                        type: number
                        format: double
                        description: Bounce rate as a percentage (0–100)
                      autoRepliedPercentage:
                        type: number
                        format: double
                        description: Auto-reply rate as a percentage (0–100)
                      meetingsBookedPercentage:
                        type: number
                        format: double
                        description: Meetings booked rate as a percentage (0–100)
                  steps:
                    type: array
                    description: >-
                      One row per email step that sent at least one email in the
                      date range, sorted by `stepNumber`. LinkedIn steps are not
                      included.
                    items:
                      title: Sequence Email Step Stats
                      description: >-
                        Email stats for one email step, with a breakdown per A/B
                        variant. Counts are per step, so step rows don't add up
                        to the sequence `overview`.
                      allOf:
                        - type: object
                          properties:
                            stepId:
                              type: integer
                              description: ID of the sequence step
                            stepNumber:
                              type: integer
                              description: Position of the step in the sequence
                            displayName:
                              type: string
                              description: >-
                                Display name of the step, as shown in the Reply
                                UI
                            isArchived:
                              type: boolean
                              description: >-
                                Whether the step is archived. An archived step
                                that had activity in the window is still listed
                                and can share its `stepNumber` with the step
                                that replaced it; tell them apart by `stepId`.
                            variants:
                              type: array
                              description: >-
                                The step's A/B variants, sorted by `id`. Deleted
                                variants are not listed, but their sends still
                                count in the step row.
                              items:
                                title: Sequence Email Variant Stats
                                description: >-
                                  Email stats for one A/B variant of a step.
                                  Customized and AI-personalized sends count
                                  toward the variant they were customized from.
                                allOf:
                                  - type: object
                                    properties:
                                      id:
                                        type: integer
                                        description: >-
                                          Variant ID — the `id` from `GET
                                          /v3/sequences/{id}/steps/{step_id}/variants`,
                                          the `sent_email_variant_id` on email
                                          webhooks, and the `variantId` on `POST
                                          /v3/reporting/emails` rows.
                                      isEnabled:
                                        type: boolean
                                        description: Whether the variant is currently enabled
                                      generatedByAi:
                                        type: boolean
                                        description: Whether the variant was generated by AI
                                  - type: object
                                    title: Sequence Email Stats Counters
                                    description: >-
                                      Email counters shared by a step row and
                                      its variant rows. Percentages run 0–100,
                                      rounded to 2 decimals:
                                      `deliveredPercentage` and
                                      `notReachedPercentage` are of all emails
                                      sent; `openedPercentage`,
                                      `repliedPercentage`, `optedOutPercentage`
                                      and `clickThroughRate` are of delivered
                                      emails; `interestedPercentage` and
                                      `meetingsBookedPercentage` are of
                                      contacted people.
                                    properties:
                                      delivered:
                                        type: integer
                                        description: Number of emails delivered
                                      deliveredPercentage:
                                        type: number
                                        format: double
                                        description: >-
                                          Delivered emails as a percentage of all
                                          emails sent (0–100)
                                      opened:
                                        type: integer
                                        description: Number of emails opened
                                      openedPercentage:
                                        type: number
                                        format: double
                                        description: >-
                                          Open rate as a percentage of delivered
                                          emails (0–100)
                                      replied:
                                        type: integer
                                        description: Number of emails replied to
                                      repliedPercentage:
                                        type: number
                                        format: double
                                        description: >-
                                          Reply rate as a percentage of delivered
                                          emails (0–100)
                                      interested:
                                        type: integer
                                        description: Number of replies marked as interested
                                      interestedPercentage:
                                        type: number
                                        format: double
                                        description: >-
                                          Interested replies as a percentage of
                                          contacted people (0–100)
                                      notReached:
                                        type: integer
                                        description: >-
                                          Number of emails that did not reach the
                                          contact
                                      notReachedPercentage:
                                        type: number
                                        format: double
                                        description: >-
                                          Not-reached emails as a percentage of
                                          all emails sent (0–100)
                                      optedOut:
                                        type: integer
                                        description: Number of opt-outs
                                      optedOutPercentage:
                                        type: number
                                        format: double
                                        description: >-
                                          Opt-outs as a percentage of delivered
                                          emails (0–100)
                                      linksClicked:
                                        type: integer
                                        description: >-
                                          Number of emails with at least one
                                          tracked link clicked
                                      clickThroughRate:
                                        type: number
                                        format: double
                                        description: >-
                                          Emails with a clicked link as a
                                          percentage of delivered emails (0–100)
                                      meetingsBooked:
                                        type: integer
                                        description: Number of meetings booked
                                      meetingsBookedPercentage:
                                        type: number
                                        format: double
                                        description: >-
                                          Meetings booked as a percentage of
                                          contacted people (0–100)
                        - type: object
                          title: Sequence Email Stats Counters
                          description: >-
                            Email counters shared by a step row and its variant
                            rows. Percentages run 0–100, rounded to 2 decimals:
                            `deliveredPercentage` and `notReachedPercentage` are
                            of all emails sent; `openedPercentage`,
                            `repliedPercentage`, `optedOutPercentage` and
                            `clickThroughRate` are of delivered emails;
                            `interestedPercentage` and
                            `meetingsBookedPercentage` are of contacted people.
                          properties:
                            delivered:
                              type: integer
                              description: Number of emails delivered
                            deliveredPercentage:
                              type: number
                              format: double
                              description: >-
                                Delivered emails as a percentage of all emails
                                sent (0–100)
                            opened:
                              type: integer
                              description: Number of emails opened
                            openedPercentage:
                              type: number
                              format: double
                              description: >-
                                Open rate as a percentage of delivered emails
                                (0–100)
                            replied:
                              type: integer
                              description: Number of emails replied to
                            repliedPercentage:
                              type: number
                              format: double
                              description: >-
                                Reply rate as a percentage of delivered emails
                                (0–100)
                            interested:
                              type: integer
                              description: Number of replies marked as interested
                            interestedPercentage:
                              type: number
                              format: double
                              description: >-
                                Interested replies as a percentage of contacted
                                people (0–100)
                            notReached:
                              type: integer
                              description: Number of emails that did not reach the contact
                            notReachedPercentage:
                              type: number
                              format: double
                              description: >-
                                Not-reached emails as a percentage of all emails
                                sent (0–100)
                            optedOut:
                              type: integer
                              description: Number of opt-outs
                            optedOutPercentage:
                              type: number
                              format: double
                              description: >-
                                Opt-outs as a percentage of delivered emails
                                (0–100)
                            linksClicked:
                              type: integer
                              description: >-
                                Number of emails with at least one tracked link
                                clicked
                            clickThroughRate:
                              type: number
                              format: double
                              description: >-
                                Emails with a clicked link as a percentage of
                                delivered emails (0–100)
                            meetingsBooked:
                              type: integer
                              description: Number of meetings booked
                            meetingsBookedPercentage:
                              type: number
                              format: double
                              description: >-
                                Meetings booked as a percentage of contacted
                                people (0–100)
                example:
                  overview:
                    contacted: 120
                    delivered: 118
                    opened: 64
                    replied: 11
                    interested: 4
                    notReached: 2
                    optedOut: 1
                    outOfOffice: 3
                    bounced: 2
                    autoReplied: 1
                    meetingsBooked: 2
                    deliveredPercentage: 98.33
                    openedPercentage: 54.24
                    repliedPercentage: 9.32
                    interestedPercentage: 3.33
                    notReachedPercentage: 1.67
                    optedOutPercentage: 0.85
                    outOfOfficePercentage: 2.54
                    bouncedPercentage: 1.67
                    autoRepliedPercentage: 0.85
                    meetingsBookedPercentage: 1.67
                  steps:
                    - stepId: 3101
                      stepNumber: 1
                      displayName: Intro email
                      isArchived: false
                      delivered: 118
                      deliveredPercentage: 98.33
                      opened: 60
                      openedPercentage: 50.85
                      replied: 8
                      repliedPercentage: 6.78
                      interested: 3
                      interestedPercentage: 2.5
                      notReached: 2
                      notReachedPercentage: 1.67
                      optedOut: 1
                      optedOutPercentage: 0.85
                      linksClicked: 9
                      clickThroughRate: 7.63
                      meetingsBooked: 2
                      meetingsBookedPercentage: 1.67
                      variants:
                        - id: 5001
                          isEnabled: true
                          generatedByAi: false
                          delivered: 59
                          deliveredPercentage: 98.33
                          opened: 34
                          openedPercentage: 57.63
                          replied: 6
                          repliedPercentage: 10.17
                          interested: 2
                          interestedPercentage: 3.33
                          notReached: 1
                          notReachedPercentage: 1.67
                          optedOut: 0
                          optedOutPercentage: 0
                          linksClicked: 5
                          clickThroughRate: 8.47
                          meetingsBooked: 2
                          meetingsBookedPercentage: 3.33
                        - id: 5002
                          isEnabled: true
                          generatedByAi: false
                          delivered: 59
                          deliveredPercentage: 98.33
                          opened: 26
                          openedPercentage: 44.07
                          replied: 2
                          repliedPercentage: 3.39
                          interested: 1
                          interestedPercentage: 1.67
                          notReached: 1
                          notReachedPercentage: 1.67
                          optedOut: 1
                          optedOutPercentage: 1.69
                          linksClicked: 4
                          clickThroughRate: 6.78
                          meetingsBooked: 0
                          meetingsBookedPercentage: 0
        '400':
          description: Invalid `id` parameter, or request-body validation failure.
          content:
            application/problem+json:
              schema:
                allOf:
                  - allOf:
                      - type: object
                        title: Problem Details
                        description: >-
                          Bare RFC 9457 problem-details envelope. Returned by
                          middleware-level errors

                          that don't carry domain context: 401 Unauthorized
                          (auth middleware),

                          429 Too Many Requests (rate-limit middleware), and
                          route-level 404 / 405 /

                          415 (framework middleware).


                          Business and validation responses extend this envelope
                          and add additional

                          fields — see `business-problem.model.yaml` (adds
                          `code` slug) and

                          `validation-problem.model.yaml` (adds `errors[]`
                          array).
                        properties:
                          title:
                            type: string
                            description: Short, human-readable summary of the problem.
                          status:
                            type: integer
                            description: HTTP status code.
                            minimum: 100
                            maximum: 599
                          detail:
                            type: string
                            description: >-
                              Human-readable explanation specific to this
                              occurrence.
                      - type: object
                        properties:
                          errors:
                            type: array
                            description: >-
                              List of field-level validation errors. Always
                              non-empty when this

                              envelope is returned. Each entry pins a single
                              offending field

                              via JSON Pointer plus a sanitized detail string.
                            items:
                              type: object
                              title: Validation Error
                              description: A single field-level validation error.
                              properties:
                                pointer:
                                  type: string
                                  description: >-
                                    JSON Pointer (RFC 6901) to the offending
                                    field — e.g.

                                    `/steps/0/subject`.


                                    * An empty string (`""`) means the error
                                    applies to the whole
                                      request body (e.g. body is missing or unparseable).
                                    * For route or query parameter failures the
                                    pointer is the parameter
                                      name (e.g. `id`, `top`).
                                  example: /steps/0/subject
                                detail:
                                  type: string
                                  description: >-
                                    Sanitized, human-readable explanation of
                                    this field's error. One of a

                                    small set of templates — `"Field is
                                    required."`, `"Value has an

                                    invalid type."`, `"Value has an invalid
                                    format."`, `"Request body is

                                    not valid JSON."`, `"The request body is
                                    required and cannot be

                                    empty."` — or a FluentValidator message on
                                    body endpoints.
                                  example: Field is required.
                    title: Validation Problem
                    description: >-
                      Input-validation error response at 400. Returned when the
                      request body

                      fails binding, FluentValidator rules, or when route/query
                      parameter

                      attribute validation (`[Range]`, `[Required]`) fails.
                      Route, query, and

                      body errors are combined into a single `errors[]` array —
                      clients should

                      not assume one error per request.
                  - example:
                      title: Validation failed
                      status: 400
                      detail: The request body contains validation errors.
                      errors:
                        - pointer: /name
                          detail: Field is required.
              examples:
                invalid_id:
                  summary: Route-parameter validation failure
                  value:
                    title: Validation failed
                    status: 400
                    detail: One or more validation errors occurred.
                    errors:
                      - pointer: id
                        detail: The field id must be between 1 and 2147483647.
                preset_with_dates:
                  summary: Date range preset combined with from/to
                  value:
                    title: Validation failed
                    status: 400
                    detail: The request body contains validation errors.
                    errors:
                      - pointer: /filters
                        detail: >-
                          Cannot specify both DateRangePreset and From/To dates.
                          Use either DateRangePreset or From/To.
        '401':
          description: >-
            Unauthorized. The response body is empty; check the
            `WWW-Authenticate` header for the expected scheme.
          content:
            application/problem+json:
              schema:
                allOf:
                  - type: object
                    title: Problem Details
                    description: >-
                      Bare RFC 9457 problem-details envelope. Returned by
                      middleware-level errors

                      that don't carry domain context: 401 Unauthorized (auth
                      middleware),

                      429 Too Many Requests (rate-limit middleware), and
                      route-level 404 / 405 /

                      415 (framework middleware).


                      Business and validation responses extend this envelope and
                      add additional

                      fields — see `business-problem.model.yaml` (adds `code`
                      slug) and

                      `validation-problem.model.yaml` (adds `errors[]` array).
                    properties:
                      title:
                        type: string
                        description: Short, human-readable summary of the problem.
                      status:
                        type: integer
                        description: HTTP status code.
                        minimum: 100
                        maximum: 599
                      detail:
                        type: string
                        description: >-
                          Human-readable explanation specific to this
                          occurrence.
                  - example:
                      title: Unauthorized
                      status: 401
                      detail: Authentication credentials are missing or invalid.
        '403':
          description: >-
            Your role doesn't allow viewing the email report, or doesn't allow
            viewing this sequence (for example it only lets you see your own
            sequences and you don't own this one).
          content:
            application/problem+json:
              schema:
                allOf:
                  - allOf:
                      - type: object
                        title: Problem Details
                        description: >-
                          Bare RFC 9457 problem-details envelope. Returned by
                          middleware-level errors

                          that don't carry domain context: 401 Unauthorized
                          (auth middleware),

                          429 Too Many Requests (rate-limit middleware), and
                          route-level 404 / 405 /

                          415 (framework middleware).


                          Business and validation responses extend this envelope
                          and add additional

                          fields — see `business-problem.model.yaml` (adds
                          `code` slug) and

                          `validation-problem.model.yaml` (adds `errors[]`
                          array).
                        properties:
                          title:
                            type: string
                            description: Short, human-readable summary of the problem.
                          status:
                            type: integer
                            description: HTTP status code.
                            minimum: 100
                            maximum: 599
                          detail:
                            type: string
                            description: >-
                              Human-readable explanation specific to this
                              occurrence.
                      - type: object
                        properties:
                          code:
                            type: string
                            description: >-
                              Stable, machine-readable error slug in the form

                              `"<resource>.<variant>"`.


                              * `resource` is the camelCased domain — e.g.
                              `sequence`,
                                `contact`, `inboxThread`, `blacklistDomainRule`.
                              * `variant` is the camelCased specific failure
                              mode — e.g.
                                `notFound`, `forbidden`, `duplicateName`, `globalRuleReadOnly`.

                              Use `code` for programmatic error handling; use
                              `detail` for

                              user-facing messages. Slugs are stable across
                              server-side enum

                              reorderings and never change meaning under a given
                              resource.
                            pattern: ^[a-z][a-zA-Z0-9]*(\.[a-z][a-zA-Z0-9]*)+$
                            example: sequence.notFound
                    title: Business Problem
                    description: >-
                      Domain error response carrying a stable, namespaced error
                      slug.

                      Emitted for most 4xx responses (business 400, 403, 404,
                      409, …) and

                      for 503 when a downstream dependency is unavailable.
                  - example:
                      title: Forbidden
                      status: 403
                      detail: You do not have permission to access this resource.
                      code: sequence.forbidden
              examples:
                report_forbidden:
                  summary: Report not allowed for your role
                  value:
                    title: Forbidden
                    status: 403
                    detail: >-
                      You do not have permission to view reports for this
                      sequence.
                    code: sequenceStats.forbidden
                sequence_forbidden:
                  summary: Sequence not visible to your role
                  value:
                    title: Forbidden
                    status: 403
                    detail: You do not have permission to view this sequence.
                    code: sequenceStats.forbidden
        '404':
          description: Sequence not found, or it belongs to another team.
          content:
            application/problem+json:
              schema:
                allOf:
                  - allOf:
                      - type: object
                        title: Problem Details
                        description: >-
                          Bare RFC 9457 problem-details envelope. Returned by
                          middleware-level errors

                          that don't carry domain context: 401 Unauthorized
                          (auth middleware),

                          429 Too Many Requests (rate-limit middleware), and
                          route-level 404 / 405 /

                          415 (framework middleware).


                          Business and validation responses extend this envelope
                          and add additional

                          fields — see `business-problem.model.yaml` (adds
                          `code` slug) and

                          `validation-problem.model.yaml` (adds `errors[]`
                          array).
                        properties:
                          title:
                            type: string
                            description: Short, human-readable summary of the problem.
                          status:
                            type: integer
                            description: HTTP status code.
                            minimum: 100
                            maximum: 599
                          detail:
                            type: string
                            description: >-
                              Human-readable explanation specific to this
                              occurrence.
                      - type: object
                        properties:
                          code:
                            type: string
                            description: >-
                              Stable, machine-readable error slug in the form

                              `"<resource>.<variant>"`.


                              * `resource` is the camelCased domain — e.g.
                              `sequence`,
                                `contact`, `inboxThread`, `blacklistDomainRule`.
                              * `variant` is the camelCased specific failure
                              mode — e.g.
                                `notFound`, `forbidden`, `duplicateName`, `globalRuleReadOnly`.

                              Use `code` for programmatic error handling; use
                              `detail` for

                              user-facing messages. Slugs are stable across
                              server-side enum

                              reorderings and never change meaning under a given
                              resource.
                            pattern: ^[a-z][a-zA-Z0-9]*(\.[a-z][a-zA-Z0-9]*)+$
                            example: sequence.notFound
                    title: Business Problem
                    description: >-
                      Domain error response carrying a stable, namespaced error
                      slug.

                      Emitted for most 4xx responses (business 400, 403, 404,
                      409, …) and

                      for 503 when a downstream dependency is unavailable.
                  - example:
                      title: Not Found
                      status: 404
                      detail: The requested resource was not found.
                      code: sequence.notFound
              example:
                title: Not Found
                status: 404
                detail: Sequence with ID 42 is not found.
                code: sequenceStats.notFound
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Seconds to wait before retrying
              schema:
                type: integer
                minimum: 1
          content:
            application/problem+json:
              schema:
                allOf:
                  - type: object
                    title: Problem Details
                    description: >-
                      Bare RFC 9457 problem-details envelope. Returned by
                      middleware-level errors

                      that don't carry domain context: 401 Unauthorized (auth
                      middleware),

                      429 Too Many Requests (rate-limit middleware), and
                      route-level 404 / 405 /

                      415 (framework middleware).


                      Business and validation responses extend this envelope and
                      add additional

                      fields — see `business-problem.model.yaml` (adds `code`
                      slug) and

                      `validation-problem.model.yaml` (adds `errors[]` array).
                    properties:
                      title:
                        type: string
                        description: Short, human-readable summary of the problem.
                      status:
                        type: integer
                        description: HTTP status code.
                        minimum: 100
                        maximum: 599
                      detail:
                        type: string
                        description: >-
                          Human-readable explanation specific to this
                          occurrence.
              example:
                title: Too Many Requests
                status: 429
                detail: API calls quota exceeded! maximum admitted 100 per 1m.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Authenticate every request with a Bearer token. Pass your Reply API key
        in the

        `Authorization` header:


        ```

        Authorization: Bearer <your-api-key>

        ```


        Get your API key from the Reply dashboard: **Settings → API Key**.

````

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