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

# Extend a Domain pause's scheduled resume

> Admin only. Pushes a pause's scheduled resume further out, IN PLACE: the record gains an entry in its `extensions` audit array and keeps its identity, so "what is holding dispatch right now?" stays one record rather than a chain to reconstruct. Provide `duration_seconds` (relative to now) or an absolute `expires_at`.

Extension is forward-only: a released record and an expiry that is not later than the current one are both refused with 409 — shortening a hold is an explicit release-and-re-pause, never a silent edit. Explicit JSON `null` is rejected; omit a field instead. Cross-tenant access returns 404, never 403.



## OpenAPI

````yaml /openapi.json patch /platforms/five9/domains/{tenancy_id}/pauses/{pause_id}
openapi: 3.1.0
info:
  title: GetDialed Flows API
  version: 0.1.0
servers:
  - url: https://api.getdialed.ai/flows
    description: Production
security: []
paths:
  /platforms/five9/domains/{tenancy_id}/pauses/{pause_id}:
    patch:
      tags:
        - five9-domains
      summary: Extend a Domain pause's scheduled resume
      description: >-
        Admin only. Pushes a pause's scheduled resume further out, IN PLACE: the
        record gains an entry in its `extensions` audit array and keeps its
        identity, so "what is holding dispatch right now?" stays one record
        rather than a chain to reconstruct. Provide `duration_seconds` (relative
        to now) or an absolute `expires_at`.


        Extension is forward-only: a released record and an expiry that is not
        later than the current one are both refused with 409 — shortening a hold
        is an explicit release-and-re-pause, never a silent edit. Explicit JSON
        `null` is rejected; omit a field instead. Cross-tenant access returns
        404, never 403.
      operationId: >-
        extend_five9_domain_pause_platforms_five9_domains__tenancy_id__pauses__pause_id__patch
      parameters:
        - name: tenancy_id
          in: path
          required: true
          schema:
            type: string
            title: Tenancy Id
        - name: pause_id
          in: path
          required: true
          schema:
            type: string
            title: Pause Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DispatchPauseExtend'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DispatchPauseResponse'
        '401':
          description: Missing or invalid authentication
          content:
            application/json:
              example:
                detail: Authentication required
        '403':
          description: Caller is authenticated but not an admin
          content:
            application/json:
              example:
                detail: Admin role required
        '404':
          description: >-
            No such Domain or pause for this organization (cross-tenant access
            also returns 404)
          content:
            application/json:
              example:
                detail: Pause not found
        '409':
          description: >-
            The extension could not be applied: the pause is already released,
            the requested expiry is not later than the current one, or the
            record changed concurrently.
          content:
            application/json:
              example:
                detail: >-
                  This pause is already released and can never be extended —
                  open a new pause instead.
        '422':
          description: >-
            The body failed validation — an out-of-range safety margin, an
            unknown lane, an unknown rate bucket, an unknown action id, or an
            explicit null.
          content:
            application/json:
              example:
                detail: margins['Upload'] must be between 1 and 100
        '429':
          description: Rate limit exceeded — retry after the Retry-After header
          headers:
            Retry-After:
              description: Seconds to wait before retrying
              schema:
                type: integer
          content:
            application/json:
              example:
                detail: 'Rate limit exceeded: 100 per 1 minute'
      security:
        - APIKeyHeader: []
        - HTTPBearer: []
components:
  schemas:
    DispatchPauseExtend:
      properties:
        duration_seconds:
          anyOf:
            - type: integer
              maximum: 604800
              minimum: 1
            - type: 'null'
          title: Duration Seconds
        expires_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
      type: object
      title: DispatchPauseExtend
      description: |-
        Push a pause's scheduled resume further out.

        Provide `duration_seconds` (relative to now) or an absolute
        `expires_at` — at least one is required. Extension is forward-only: a
        hold can never be silently shortened, only released and re-opened.
      example:
        duration_seconds: 1800
    DispatchPauseResponse:
      properties:
        id:
          type: string
          title: Id
        scope:
          type: string
          title: Scope
        tenancy_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Tenancy Id
        bucket:
          anyOf:
            - type: string
            - type: 'null'
          title: Bucket
        lane:
          anyOf:
            - type: string
            - type: 'null'
          title: Lane
        batch_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Batch Id
        status:
          type: string
          title: Status
        cause:
          type: string
          title: Cause
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
        created_by:
          type: string
          title: Created By
        created_at:
          type: string
          format: date-time
          title: Created At
        expires_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
        released_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Released At
        released_by:
          anyOf:
            - type: string
            - type: 'null'
          title: Released By
        extensions:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Extensions
      type: object
      required:
        - id
        - scope
        - tenancy_id
        - bucket
        - lane
        - batch_id
        - status
        - cause
        - reason
        - created_by
        - created_at
        - expires_at
        - released_at
        - released_by
        - extensions
      title: DispatchPauseResponse
      description: |-
        One hold on dispatch — an admin hold or an automatic backoff.

        Both kinds share this one shape, so a single listing shows everything
        currently holding dispatch. `scope` says how much is held and the
        matching target field (`tenancy_id`, `lane`, `bucket`, or `batch_id`)
        says exactly what. `cause` is the machine-readable origin
        (`admin_request` for a human hold, the provider fault tag for an
        automatic backoff) and `reason` is the human note, if any. A released
        pause keeps its record: `released_at` and `released_by` complete the
        audit trail, and `extensions` lists every time a scheduled resume was
        pushed out.
      example:
        cause: admin_request
        created_at: '2026-07-29T12:00:00Z'
        created_by: user_11223344
        expires_at: '2026-07-29T13:00:00Z'
        extensions: []
        id: pause_9f2c1a7b3d4e5f60
        reason: Provider maintenance window
        scope: global
        status: active
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    HTTPBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````