SpotDraft website screenshot

SpotDraft

SpotDraft is an AI-powered Contract Lifecycle Management (CLM) platform headquartered in Bangalore, India, with offices in San Francisco, New York, and London. The platform lets legal, sales, procurement, and operations teams create, negotiate, sign, store, and analyze contracts in one place. Core capabilities include conditional workflows and approval routing, collaborative Word-based negotiation, a searchable contract repository with granular access controls, embedded SpotDraft AI for metadata extraction and risk flagging, ESIGN/EIDAS-compliant e-signatures, Clickwrap agreements, obligation tracking, and analytics dashboards. SpotDraft serves 450+ companies and is recognized as a Leader in the IDC MarketScape for AI-enabled buy-side CLMs and a G2 Leader. The company exposes a documented Public API (OpenAPI 3.0.3) with versions v1, v2, and v2.1 covering contracts, templates, counterparties, approvals, workflows, clickwrap, webhooks, analytics, users, and organizations across four regional clusters (India, United States, European Union, Middle East). Webhooks notify external systems of contract lifecycle events in real time. Native integrations exist for Salesforce, HubSpot, Zoho, Slack, Microsoft Teams, Google Drive, Dropbox, Box, OneDrive, SharePoint, DocuSign, Okta, Jira, Coupa, Zapier, and Greenhouse.

1 APIs 0 Features
Contract Lifecycle ManagementCLMContractsLegal TechE-SignatureClickwrapWorkflowsApprovalsNegotiationTemplatesCounterpartiesObligationsAnalyticsWebhooksAISaaSBangalore

APIs

SpotDraft Public API

The SpotDraft Public API is a unified OpenAPI 3.0.3 surface for managing contracts, templates, counterparties, approvals, metadata, obligations, versions, recipients, clickwrap ...

Collections

Pricing Plans

Spotdraft Plans Pricing

4 plans

PLANS

Rate Limits

Spotdraft Rate Limits

0 limits

RATE LIMITS

FinOps

Semantic Vocabularies

Spotdraft Context

43 classes · 0 properties

JSON-LD

API Governance Rules

SpotDraft API Rules

9 rules · 2 errors 5 warnings 2 info

SPECTRAL

Example Payloads

Resources

🔗
Website
Website
🔗
Documentation
Documentation
💬
Support
Support
💬
Support
Support
💰
Pricing
Pricing
📝
Signup
Signup
🔗
Login
Login
📰
Blog
Blog
📰
Newsroom
Newsroom
🔗
Careers
Careers
🔗
Security
Security
🔗
Trust
Trust
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
👥
GitHub
GitHub
🔗
LinkedIn
LinkedIn
🔗
Twitter
Twitter
👥
YouTube
YouTube

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: SpotDraft API
  version: v1
items:
- info:
    name: V2.1 Analytics Query
    type: folder
  items:
  - info:
      name: Execute Read-only Analytics SQL (GoogleSQL)
      type: http
    http:
      method: POST
      url: https://api.eu.spotdraft.com/api/v2.1/public/analytics/query/
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: "Runs **read-only** analytics SQL in **GoogleSQL** (Google Standard SQL), including for timestamps, dates, and functions.\
      \ Submit exactly one **`SELECT`** statement (optional **`WITH`** / **`UNION`**). Inserts, updates, deletes, DDL, and\
      \ multi-statement batches are rejected.\n\n**Enablement**  \nThis capability must be enabled for your workspace. If\
      \ it is not, the API returns **501** with code `SD_PUBLIC_00045`. Contact SpotDraft support to request access.\n\n**Authentication**\
      \  \nOAuth 2.0 Bearer JWT i"
- info:
    name: V2.1 Users
    type: folder
  items:
  - info:
      name: Get Active Roles
      type: http
    http:
      method: GET
      url: https://api.eu.spotdraft.com/api/v2.1/public/auth/roles/
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: Returns the Roles that exist for the workspace whose credentials are used.
  - info:
      name: Add Role Member
      type: http
    http:
      method: POST
      url: https://api.eu.spotdraft.com/api/v2.1/public/auth/roles/:role_id/members
      params:
      - name: role_id
        value: ''
        type: path
        description: Use the [Get Active Roles](#tag/v21-users/GET/api/v2.1/public/auth/roles/) API to get the role ID.
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: '

      Adds one or more users to the specified role within the current workspace.

      Use this when role membership is managed separately from user invitation.

      '
  - info:
      name: Delete Role Member
      type: http
    http:
      method: DELETE
      url: https://api.eu.spotdraft.com/api/v2.1/public/auth/roles/:role_id/members
      params:
      - name: role_id
        value: ''
        type: path
        description: Use the [Get Active Roles](#tag/v21-users/GET/api/v2.1/public/auth/roles/) API to get the role ID.
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: '

      Removes one or more users from the specified role within the current workspace.

      The role itself is not deleted.

      '
  - info:
      name: Get User List
      type: http
    http:
      method: GET
      url: https://api.eu.spotdraft.com/api/v2.1/public/auth/users/
      params:
      - name: limit
        value: ''
        type: query
        description: The number of items to return per page.
      - name: page
        value: ''
        type: query
        description: The page to return. Page numbers start at 1.
      - name: user_email
        value: ''
        type: query
        description: User email address for which that user list should be filtered. Please make sure that the value is url
          encoded. So for example, if the email address is `abc+123@xyz.com` the value passed should be `abc%2B123%40xyz.com`.
      - name: user_name
        value: ''
        type: query
        description: Filter users whose full name starts with the provided value. The comparison is case-insensitive and uses
          the format 'first name + last name'.
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: '

      Lists organization users together with their assigned roles.

      Use `page`, `limit`, `user_email`, and `user_name` to page through results or narrow the list.

      '
  - info:
      name: Create and Invite User
      type: http
    http:
      method: POST
      url: https://api.eu.spotdraft.com/api/v2.1/public/auth/users/
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: '

      Invites a new user into the organization and assigns the requested roles in one call.

      Use this when onboarding workspace users from your own admin surface.

      '
  - info:
      name: Get Contract Authorized Users List
      type: http
    http:
      method: GET
      url: https://api.eu.spotdraft.com/api/v2.1/public/contracts/:contract_id/authorized_users/
      params:
      - name: contract_id
        value: ''
        type: path
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: Gets all the users with authorized access to a contract
- info:
    name: V2.1 Clickwrap
    type: folder
  items:
  - info:
      name: Preview Clickwrap Agreement
      type: http
    http:
      method: POST
      url: https://api.eu.spotdraft.com/api/v2.1/public/clickwrap/:clickwrap_id/agreements/preview/
      params:
      - name: clickwrap_id
        value: ''
        type: path
        description: Numeric id of the clickwrap.
      body:
        type: json
        data: '{}'
    docs: 'Generates an HTML preview of a clickwrap agreement for the given clickwrap.


      Exposed on the **public** API so custom scripts can run under the clickwrap/CSP domain instead of the main app domain.'
  - info:
      name: Get Clickwrap
      type: http
    http:
      method: GET
      url: https://api.eu.spotdraft.com/api/v2.1/public/clickwrap/:clickwrap_public_id/
      params:
      - name: clickwrap_public_id
        value: ''
        type: path
        description: Public Id of Clickwrap
      auth:
        type: apikey
        key: clickwrap-id
        value: '{{clickwrap-id}}'
        placement: header
    docs: Returns the clickwrap corresponding to the clickwrap public id
  - info:
      name: Get Consent Status
      type: http
    http:
      method: POST
      url: https://api.eu.spotdraft.com/api/v2.1/public/clickwrap/:clickwrap_public_id/consent_status/
      params:
      - name: clickwrap_public_id
        value: ''
        type: path
        description: Public Id of Clickwrap
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: "\nUsed to know if a particular user has given consent to a specific clickwrap.\n\nReturns one of the following\
      \ values as consent status for the user.\n<table>\n    <thead>\n    <tr>\n        <th>Status field value</td>\n    \
      \    <th>Details</td>\n    </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>NOT_ACCEPTED</td>\n     \
      \       <td>When the user hasn’t accepted this clickwrap before.</td>\n        </tr>\n        <tr>\n            <td>ACCEPTED_OLDER_VERSION</td>\n\
      \            <td>When the user has ac"
  - info:
      name: Create Clickwrap Contract
      type: http
    http:
      method: POST
      url: https://api.eu.spotdraft.com/api/v2.1/public/clickwrap/:clickwrap_public_id/execute/
      params:
      - name: clickwrap_public_id
        value: ''
        type: path
        description: Public Id of Clickwrap
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: clickwrap-id
        value: '{{clickwrap-id}}'
        placement: header
    docs: Creates the clickwrap contract
- info:
    name: V2.1 Contract Types
    type: folder
  items:
  - info:
      name: Get Contract Type List
      type: http
    http:
      method: GET
      url: https://api.eu.spotdraft.com/api/v2.1/public/contract_types/
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: Returns the contract types available to the authenticated workspace. Use these ids when creating contracts, uploading
      third-party paper, or querying intake-form requirements.
  - info:
      name: Get Access Control List for Contract Type
      type: http
    http:
      method: POST
      url: https://api.eu.spotdraft.com/api/v2.1/public/contract_types/:contract_type_id/access_control
      params:
      - name: contract_type_id
        value: ''
        type: path
        description: ID of the Contract Type.
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: Returns the contract-type access rules for the requested permission filters. Use this to understand which users
      and roles receive access automatically for contracts created from this contract type.
  - info:
      name: List Contract Type Entities
      type: http
    http:
      method: GET
      url: https://api.eu.spotdraft.com/api/v2.1/public/contract_types/:contract_type_id/entities
      params:
      - name: contract_type_id
        value: ''
        type: path
        description: ID of the Contract Type.
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: Returns the organization entities that can be used with this contract type. Use these ids when the workflow requires
      a creator-side legal entity.
  - info:
      name: Get Intake Form Questionnaire Details
      type: http
    http:
      method: GET
      url: https://api.eu.spotdraft.com/api/v2.1/public/contract_types/:contract_type_id/intake_form/questionnaire/
      params:
      - name: contract_type_id
        value: ''
        type: path
        description: ID of the Contract Type.
      auth:
        type: apikey
        key: client-id
        value: '{{client-id}}'
        placement: header
    docs: Returns the intake-form questions configured for the contract type. Use the response to build a valid questionnaire
      payload before you create or upload a contract for this workflow.
- info:
    name: V2.1 Contract APIs
    type: folder
  items:
  - info:
      name: List Contracts
      type: http
    http:
      method: GET
      url: https://api.eu.spotdraft.com/api/v2.1/public/contracts/
      params:
      - name: filter__approvals_pending
        value: ''
        type: query
        description: Filter by approvals pending (exact match). Equivalent to filter__approvals_pending[$eq]=value.
      - name: filter__approvals_pending[$eq]
        value: ''
        type: query
        description: Filter by approvals pending using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__approvals_pending[$in]
        value: ''
        type: query
        description: Filter by approvals pending using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__approvals_pending[$ne]
        value: ''
        type: query
        description: Filter by approvals pending using $ne operator. Expects a single value for not-equal comparison (e.g.,
          string).
      - name: filter__assigned_to
        value: ''
        type: query
        description: Filter by assigned to (exact match). Equivalent to filter__assigned_to[$eq]=value.
      - name: filter__assigned_to[$eq]
        value: ''
        type: query
        description: Filter by assigned to using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__assigned_to[$gt]
        value: ''
        type: query
        description: Filter by assigned to using $gt operator. Expects a single value (e.g., number or ISO string).
      - name: filter__assigned_to[$gte]
        value: ''
        type: query
        description: Filter by assigned to using $gte operator. Expects a single value (e.g., number or ISO string).
      - name: filter__assigned_to[$in]
        value: ''
        type: query
        description: Filter by assigned to using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__assigned_to[$lt]
        value: ''
        type: query
        description: Filter by assigned to using $lt operator. Expects a single value (e.g., number or ISO string).
      - name: filter__assigned_to[$lte]
        value: ''
        type: query
        description: Filter by assigned to using $lte operator. Expects a single value (e.g., number or ISO string).
      - name: filter__assigned_to[$ne]
        value: ''
        type: query
        description: Filter by assigned to using $ne operator. Expects a single value for not-equal comparison (e.g., string).
      - name: filter__business_user_id
        value: ''
        type: query
        description: Filter by business user id (exact match). Equivalent to filter__business_user_id[$eq]=value.
      - name: filter__business_user_id[$eq]
        value: ''
        type: query
        description: Filter by business user id using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__business_user_id[$gt]
        value: ''
        type: query
        description: Filter by business user id using $gt operator. Expects a single value (e.g., number or ISO string).
      - name: filter__business_user_id[$gte]
        value: ''
        type: query
        description: Filter by business user id using $gte operator. Expects a single value (e.g., number or ISO string).
      - name: filter__business_user_id[$in]
        value: ''
        type: query
        description: Filter by business user id using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__business_user_id[$lt]
        value: ''
        type: query
        description: Filter by business user id using $lt operator. Expects a single value (e.g., number or ISO string).
      - name: filter__business_user_id[$lte]
        value: ''
        type: query
        description: Filter by business user id using $lte operator. Expects a single value (e.g., number or ISO string).
      - name: filter__business_user_id[$ne]
        value: ''
        type: query
        description: Filter by business user id using $ne operator. Expects a single value for not-equal comparison (e.g.,
          string).
      - name: filter__client_brand_name
        value: ''
        type: query
        description: Filter by client brand name (exact match). Equivalent to filter__client_brand_name[$eq]=value.
      - name: filter__client_brand_name[$eq]
        value: ''
        type: query
        description: Filter by client brand name using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__client_brand_name[$in]
        value: ''
        type: query
        description: Filter by client brand name using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__client_brand_name[$ne]
        value: ''
        type: query
        description: Filter by client brand name using $ne operator. Expects a single value for not-equal comparison (e.g.,
          string).
      - name: filter__client_email
        value: ''
        type: query
        description: Filter by client email (exact match). Equivalent to filter__client_email[$eq]=value.
      - name: filter__client_email[$eq]
        value: ''
        type: query
        description: Filter by client email using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__client_email[$in]
        value: ''
        type: query
        description: Filter by client email using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__client_email[$ne]
        value: ''
        type: query
        description: Filter by client email using $ne operator. Expects a single value for not-equal comparison (e.g., string).
      - name: filter__client_email_address
        value: ''
        type: query
        description: Filter by client email address (exact match). Equivalent to filter__client_email_address[$eq]=value.
      - name: filter__client_email_address[$eq]
        value: ''
        type: query
        description: Filter by client email address using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__client_email_address[$in]
        value: ''
        type: query
        description: Filter by client email address using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__client_email_address[$ne]
        value: ''
        type: query
        description: Filter by client email address using $ne operator. Expects a single value for not-equal comparison (e.g.,
          string).
      - name: filter__client_name
        value: ''
        type: query
        description: Filter by client name (exact match). Equivalent to filter__client_name[$eq]=value.
      - name: filter__client_name[$eq]
        value: ''
        type: query
        description: Filter by client name using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__client_name[$in]
        value: ''
        type: query
        description: Filter by client name using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__client_name[$ne]
        value: ''
        type: query
        description: Filter by client name using $ne operator. Expects a single value for not-equal comparison (e.g., string).
      - name: filter__contract_id
        value: ''
        type: query
        description: Filter by contract id (exact match). Equivalent to filter__contract_id[$eq]=value.
      - name: filter__contract_id[$eq]
        value: ''
        type: query
        description: Filter by contract id using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__contract_id[$in]
        value: ''
        type: query
        description: Filter by contract id using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__contract_id[$ne]
        value: ''
        type: query
        description: Filter by contract id using $ne operator. Expects a single value for not-equal comparison (e.g., string).
      - name: filter__contract_kind
        value: ''
        type: query
        description: Filter by contract kind (exact match). Equivalent to filter__contract_kind[$eq]=value.
      - name: filter__contract_kind[$eq]
        value: ''
        type: query
        description: Filter by contract kind using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__contract_kind[$in]
        value: ''
        type: query
        description: Filter by contract kind using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__contract_kind[$ne]
        value: ''
        type: query
        description: Filter by contract kind using $ne operator. Expects a single value for not-equal comparison (e.g., string).
      - name: filter__contract_packet_name
        value: ''
        type: query
        description: Filter by contract packet name (exact match). Equivalent to filter__contract_packet_name[$eq]=value.
      - name: filter__contract_packet_name[$eq]
        value: ''
        type: query
        description: Filter by contract packet name using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__contract_packet_name[$in]
        value: ''
        type: query
        description: Filter by contract packet name using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__contract_packet_name[$ne]
        value: ''
        type: query
        description: Filter by contract packet name using $ne operator. Expects a single value for not-equal comparison (e.g.,
          string).
      - name: filter__contract_reference_id
        value: ''
        type: query
        description: Filter by contract reference id (exact match). Equivalent to filter__contract_reference_id[$eq]=value.
      - name: filter__contract_reference_id[$eq]
        value: ''
        type: query
        description: Filter by contract reference id using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__contract_reference_id[$in]
        value: ''
        type: query
        description: Filter by contract reference id using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__contract_reference_id[$ne]
        value: ''
        type: query
        description: Filter by contract reference id using $ne operator. Expects a single value for not-equal comparison (e.g.,
          string).
      - name: filter__contract_type_id
        value: ''
        type: query
        description: Filter by contract type id (exact match). Equivalent to filter__contract_type_id[$eq]=value.
      - name: filter__contract_type_id[$eq]
        value: ''
        type: query
        description: Filter by contract type id using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__contract_type_id[$gt]
        value: ''
        type: query
        description: Filter by contract type id using $gt operator. Expects a single value (e.g., number or ISO string).
      - name: filter__contract_type_id[$gte]
        value: ''
        type: query
        description: Filter by contract type id using $gte operator. Expects a single value (e.g., number or ISO string).
      - name: filter__contract_type_id[$in]
        value: ''
        type: query
        description: Filter by contract type id using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__contract_type_id[$lt]
        value: ''
        type: query
        description: Filter by contract type id using $lt operator. Expects a single value (e.g., number or ISO string).
      - name: filter__contract_type_id[$lte]
        value: ''
        type: query
        description: Filter by contract type id using $lte operator. Expects a single value (e.g., number or ISO string).
      - name: filter__contract_type_id[$ne]
        value: ''
        type: query
        description: Filter by contract type id using $ne operator. Expects a single value for not-equal comparison (e.g.,
          string).
      - name: filter__contract_type_name
        value: ''
        type: query
        description: Filter by contract type name (exact match). Equivalent to filter__contract_type_name[$eq]=value.
      - name: filter__contract_type_name[$eq]
        value: ''
        type: query
        description: Filter by contract type name using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__contract_type_name[$in]
        value: ''
        type: query
        description: Filter by contract type name using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__contract_type_name[$ne]
        value: ''
        type: query
        description: Filter by contract type name using $ne operator. Expects a single value for not-equal comparison (e.g.,
          string).
      - name: filter__created_at
        value: ''
        type: query
        description: Filter by created at (exact match). Equivalent to filter__created_at[$eq]=value.
      - name: filter__created_at[$eq]
        value: ''
        type: query
        description: Filter by created at using $eq operator. Expects a single value for equality (e.g., date-time).
      - name: filter__created_at[$gt]
        value: ''
        type: query
        description: Filter by created at using $gt operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__created_at[$gte]
        value: ''
        type: query
        description: Filter by created at using $gte operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__created_at[$in]
        value: ''
        type: query
        description: Filter by created at using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__created_at[$lt]
        value: ''
        type: query
        description: Filter by created at using $lt operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__created_at[$lte]
        value: ''
        type: query
        description: Filter by created at using $lte operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__created_at[$ne]
        value: ''
        type: query
        description: Filter by created at using $ne operator. Expects a single value for not-equal comparison (e.g., date-time).
      - name: filter__display_status
        value: ''
        type: query
        description: 'Filter by display status (exact match). Equivalent to filter__display_status[$eq]=value. Allowed values:
          DRAFT, REDLINING, SIGN, EXECUTED, ON_HOLD, VOIDED.'
      - name: filter__display_status[$eq]
        value: ''
        type: query
        description: 'Filter by display status using $eq operator. Expects a single value for equality (e.g., string). Allowed
          values: DRAFT, REDLINING, SIGN, EXECUTED, ON_HOLD, VOIDED.'
      - name: filter__display_status[$in]
        value: ''
        type: query
        description: 'Filter by display status using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values. Allowed values: DRAFT, REDLINING, SIGN, EXECUTED, ON_HOLD, VOIDED.'
      - name: filter__display_status[$ne]
        value: ''
        type: query
        description: 'Filter by display status using $ne operator. Expects a single value for not-equal comparison (e.g.,
          string). Allowed values: DRAFT, REDLINING, SIGN, EXECUTED, ON_HOLD, VOIDED.'
      - name: filter__entity_name
        value: ''
        type: query
        description: Filter by entity name (exact match). Equivalent to filter__entity_name[$eq]=value.
      - name: filter__entity_name[$eq]
        value: ''
        type: query
        description: Filter by entity name using $eq operator. Expects a single value for equality (e.g., string).
      - name: filter__entity_name[$in]
        value: ''
        type: query
        description: Filter by entity name using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__entity_name[$ne]
        value: ''
        type: query
        description: Filter by entity name using $ne operator. Expects a single value for not-equal comparison (e.g., string).
      - name: filter__execution_date
        value: ''
        type: query
        description: Filter by execution date (exact match). Equivalent to filter__execution_date[$eq]=value.
      - name: filter__execution_date[$eq]
        value: ''
        type: query
        description: Filter by execution date using $eq operator. Expects a single value for equality (e.g., date-time).
      - name: filter__execution_date[$gt]
        value: ''
        type: query
        description: Filter by execution date using $gt operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__execution_date[$gte]
        value: ''
        type: query
        description: Filter by execution date using $gte operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__execution_date[$in]
        value: ''
        type: query
        description: Filter by execution date using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__execution_date[$lt]
        value: ''
        type: query
        description: Filter by execution date using $lt operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__execution_date[$lte]
        value: ''
        type: query
        description: Filter by execution date using $lte operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__execution_date[$ne]
        value: ''
        type: query
        description: Filter by execution date using $ne operator. Expects a single value for not-equal comparison (e.g., date-time).
      - name: filter__expiring_at
        value: ''
        type: query
        description: Filter by expiring at (exact match). Equivalent to filter__expiring_at[$eq]=value.
      - name: filter__expiring_at[$eq]
        value: ''
        type: query
        description: Filter by expiring at using $eq operator. Expects a single value for equality (e.g., date-time).
      - name: filter__expiring_at[$gt]
        value: ''
        type: query
        description: Filter by expiring at using $gt operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__expiring_at[$gte]
        value: ''
        type: query
        description: Filter by expiring at using $gte operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__expiring_at[$in]
        value: ''
        type: query
        description: Filter by expiring at using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__expiring_at[$lt]
        value: ''
        type: query
        description: Filter by expiring at using $lt operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__expiring_at[$lte]
        value: ''
        type: query
        description: Filter by expiring at using $lte operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__expiring_at[$ne]
        value: ''
        type: query
        description: Filter by expiring at using $ne operator. Expects a single value for not-equal comparison (e.g., date-time).
      - name: filter__last_updated_on
        value: ''
        type: query
        description: Filter by last updated on (exact match). Equivalent to filter__last_updated_on[$eq]=value.
      - name: filter__last_updated_on[$eq]
        value: ''
        type: query
        description: Filter by last updated on using $eq operator. Expects a single value for equality (e.g., date-time).
      - name: filter__last_updated_on[$gt]
        value: ''
        type: query
        description: Filter by last updated on using $gt operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__last_updated_on[$gte]
        value: ''
        type: query
        description: Filter by last updated on using $gte operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__last_updated_on[$in]
        value: ''
        type: query
        description: Filter by last updated on using $in operator. Expects a comma-separated list of values (e.g., val1,val2).
          Use \, to include literal commas in values.
      - name: filter__last_updated_on[$lt]
        value: ''
        type: query
        description: Filter by last updated on using $lt operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__last_updated_on[$lte]
        value: ''
        type: query
        description: Filter by last updated on using $lte operator. Expects a single value (e.g., number or ISO date-time).
      - name: filter__last_updated_on[$ne]
        value: ''
        type: query
        description: Filter by last updated on using $ne operator. Expects a single value for not-equal comparison (

# --- truncated at 32 KB (162 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spotdraft/refs/heads/main/apis.yml