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

# List signing sessions

> Retrieves signing sessions with optional filtering by status or signer email. Returns paginated results.



## OpenAPI

````yaml /openapi.json get /esign/sessions
openapi: 3.1.0
info:
  title: DocsAutomator API
  version: '2.0'
  description: >-
    REST API for programmatic document generation, automation management, and
    e-signature workflows.
  contact:
    name: DocsAutomator Support
    email: support@docsautomator.co
    url: https://docsautomator.co
servers:
  - url: https://api.docsautomator.co
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Documents
    description: Create documents and manage async jobs
  - name: Automations
    description: CRUD operations for automations
  - name: Templates
    description: Template placeholders and duplication
  - name: E-Signatures
    description: Manage signing sessions, links, and audit trails
  - name: Email
    description: Test email delivery
paths:
  /esign/sessions:
    get:
      tags:
        - E-Signatures
      summary: List signing sessions
      description: >-
        Retrieves signing sessions with optional filtering by status or signer
        email. Returns paginated results.
      operationId: listSigningSessions
      parameters:
        - name: status
          in: query
          schema:
            type: string
            enum:
              - pending
              - in_progress
              - completed
              - declined
              - cancelled
          description: Filter by session status.
        - name: email
          in: query
          schema:
            type: string
          description: Filter by signer email (partial match, case-insensitive).
        - name: page
          in: query
          schema:
            type: integer
            default: 1
          description: Page number.
        - name: limit
          in: query
          schema:
            type: integer
            default: 20
            maximum: 250
          description: Results per page (max 250).
      responses:
        '200':
          description: Signing sessions list
          content:
            application/json:
              schema:
                type: object
                properties:
                  sessions:
                    type: array
                    items:
                      $ref: '#/components/schemas/SigningSessionSummary'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    SigningSessionSummary:
      type: object
      properties:
        id:
          type: string
        documentName:
          type: string
        status:
          type: string
          enum:
            - pending
            - in_progress
            - completed
            - declined
            - cancelled
        signingOrder:
          type: string
          enum:
            - sequential
            - parallel
        signers:
          type: array
          items:
            type: object
            properties:
              index:
                type: integer
              email:
                type: string
              name:
                type: string
              status:
                type: string
        webhookParams:
          type: object
          additionalProperties: true
          nullable: true
          description: >-
            Custom parameters passed in the original document creation request
            (`webhookParams`), returned verbatim. The trigger record identifier
            is folded in automatically — `recId` (Airtable, SmartSuite, Notion),
            `taskId` (ClickUp) or `rowNumber` (Google Sheets; positional at
            trigger time) — useful for correlating sessions with records in your
            data source. Caller-supplied keys are never overwritten. `null` when
            no identifier or parameters were provided.
          example:
            recId: recAbC123XyZ
            orderId: ORD-123
        expiresAt:
          type: string
          format: date-time
        completedAt:
          type: string
          format: date-time
          nullable: true
        createdAt:
          type: string
          format: date-time
    Pagination:
      type: object
      properties:
        page:
          type: integer
        limit:
          type: integer
        total:
          type: integer
        pages:
          type: integer
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message.
  responses:
    Unauthorized:
      description: Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Incorrect or missing API key
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key from your workspace settings. Pass as `Authorization: Bearer
        <key>` or `X-API-Key: <key>`. Find it at
        [app.docsautomator.co/settings/workspace/api](https://app.docsautomator.co/settings/workspace/api).

````