Capsule CRM · OpenAPI Overlay 1.0.0

API Evangelist enrichment overlay for Capsule CRM REST Opportunities Parties API

Non-destructive overlay carrying API Evangelist enrichments: proposed operationIds (the base contract declares none), the OAuth 2.0/OIDC schemes Capsule serves from discovery, published rate-limit and error semantics, pagination, and a per-write reversibility record. Apply with an OpenAPI Overlay 1.0.0 processor; the base document in openapi/ is never mutated.

17 actions 17 updates documentation extends capsule-parties-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Capsule CRM's API. It is a proposal applied on top of the contract, not a document Capsule CRM publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

operationIdx-paginationx-reversibilityx-apis-io-enrichmentx-rate-limitx-idempotencyx-error-formatcapsuleOAuth

Targets 10

$.info
$.components.securitySchemes
$.paths['/parties'].get
$.paths['/parties'].post
$.paths['/parties/{partyId}'].get
$.paths['/parties/{partyId}'].put
$.paths['/parties/{partyId}'].delete
$.paths['/parties/{partyId}/people'].get
$.paths['/parties/deleted'].get
$.paths['/parties/search'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enrichment overlay for Capsule CRM REST Opportunities Parties API
  version: 1.0.0
  x-generated: '2026-09-05'
  x-method: generated
  x-source: https://developer.capsulecrm.com/v2/overview/ + api.capsulecrm.com/.well-known/
  description: 'Non-destructive overlay carrying API Evangelist enrichments: proposed operationIds (the
    base contract declares none), the OAuth 2.0/OIDC schemes Capsule serves from discovery, published
    rate-limit and error semantics, pagination, and a per-write reversibility record. Apply with an OpenAPI
    Overlay 1.0.0 processor; the base document in openapi/ is never mutated.'
extends: capsule-parties-api-openapi.yml
actions:
- target: $.info
  description: Record the API Evangelist enrichment provenance and the runtime semantics Capsule documents
    outside the contract.
  update:
    x-apis-io-enrichment:
      generated: '2026-09-05'
      artifacts:
      - conventions/capsule-conventions.yml
      - errors/capsule-problem-types.yml
      - rate-limits/capsule-rate-limits.yml
      - authentication/capsule-authentication.yml
      - scopes/capsule-scopes.yml
      - mcp/capsule-mcp.yml
      - asyncapi/capsule-rest-hooks-webhooks.yml
    x-rate-limit:
      limit: 4000
      window: hour
      scope: per Capsule user
      headers:
      - X-RateLimit-Limit
      - X-RateLimit-Remaining
      - X-RateLimit-Reset
      status: 429
      source: https://developer.capsulecrm.com/v2/overview/handling-api-responses
    x-idempotency:
      supported: false
      coverage: none
      source: https://developer.capsulecrm.com/v2/overview/writing-to-the-api
    x-error-format:
      rfc9457: false
      fields:
      - message
      - resource
      - field
      source: https://developer.capsulecrm.com/v2/overview/handling-api-responses
- target: $.components.securitySchemes
  description: Add the OAuth 2.0 / OpenID Connect schemes Capsule serves from its discovery documents,
    alongside the bearer scheme already in the contract.
  update:
    capsuleOAuth:
      type: oauth2
      description: Capsule OAuth 2.0 authorization code flow with PKCE. Access tokens expire after 604799
        seconds.
      flows:
        authorizationCode:
          authorizationUrl: https://api.capsulecrm.com/oauth/authorise
          tokenUrl: https://api.capsulecrm.com/oauth/token
          refreshUrl: https://api.capsulecrm.com/oauth/token
          scopes:
            read: Read-only access to Capsule data
            write: Create, update and delete Capsule data
            user_preference: Access the authenticated user's preferences
            openid: Request an OpenID Connect ID token
            profile: OIDC profile claims
            email: OIDC email claim
            tenant: Capsule tenant/subdomain claim
    capsuleOpenId:
      type: openIdConnect
      openIdConnectUrl: https://api.capsulecrm.com/.well-known/openid-configuration
      description: Capsule is a full OpenID Provider; discovery and JWKS are served on the API host.
- target: $.paths['/parties'].get
  description: Propose a stable operationId for GET /parties; the published contract declares none.
  update:
    operationId: listParties
- target: $.paths['/parties'].post
  description: Propose a stable operationId for POST /parties; the published contract declares none.
  update:
    operationId: createParties
- target: $.paths['/parties/{partyId}'].get
  description: Propose a stable operationId for GET /parties/{partyId}; the published contract declares
    none.
  update:
    operationId: getParties
- target: $.paths['/parties/{partyId}'].put
  description: Propose a stable operationId for PUT /parties/{partyId}; the published contract declares
    none.
  update:
    operationId: updateParties
- target: $.paths['/parties/{partyId}'].delete
  description: Propose a stable operationId for DELETE /parties/{partyId}; the published contract declares
    none.
  update:
    operationId: deleteParties
- target: $.paths['/parties/{partyId}/people'].get
  description: Propose a stable operationId for GET /parties/{partyId}/people; the published contract
    declares none.
  update:
    operationId: listPartiesPeople
- target: $.paths['/parties/deleted'].get
  description: Propose a stable operationId for GET /parties/deleted; the published contract declares
    none.
  update:
    operationId: listDeletedParties
- target: $.paths['/parties/search'].get
  description: Propose a stable operationId for GET /parties/search; the published contract declares none.
  update:
    operationId: searchParties
- target: $.paths['/parties'].get
  description: Document the page/perPage pagination and RFC 5988 Link header behaviour on /parties.
  update:
    x-pagination:
      style: page-number
      params:
        page:
          default: 1
        perPage:
          default: 50
          max: 100
      link_header: true
      rels:
      - next
      - prev
      source: https://developer.capsulecrm.com/v2/overview/reading-from-the-api
- target: $.paths['/parties'].post
  description: Record reversibility for POST /parties. Capsule documents no restore path and no window.
  update:
    x-reversibility:
      grade: none
      reversal_operation: null
      window: null
      source: https://developer.capsulecrm.com/v2/overview/writing-to-the-api
- target: $.paths['/parties/{partyId}'].put
  description: Record reversibility for PUT /parties/{partyId}. Capsule documents no restore path and
    no window.
  update:
    x-reversibility:
      grade: none
      reversal_operation: null
      window: null
      source: https://developer.capsulecrm.com/v2/overview/writing-to-the-api
- target: $.paths['/parties/{partyId}'].delete
  description: Record reversibility for DELETE /parties/{partyId}. Capsule documents no restore path and
    no window.
  update:
    x-reversibility:
      grade: none
      reversal_operation: null
      window: null
      source: https://developer.capsulecrm.com/v2/overview/writing-to-the-api
- target: $.paths['/parties/{partyId}/people'].get
  description: Document the page/perPage pagination and RFC 5988 Link header behaviour on /parties/{partyId}/people.
  update:
    x-pagination:
      style: page-number
      params:
        page:
          default: 1
        perPage:
          default: 50
          max: 100
      link_header: true
      rels:
      - next
      - prev
      source: https://developer.capsulecrm.com/v2/overview/reading-from-the-api
- target: $.paths['/parties/deleted'].get
  description: Document the page/perPage pagination and RFC 5988 Link header behaviour on /parties/deleted.
  update:
    x-pagination:
      style: page-number
      params:
        page:
          default: 1
        perPage:
          default: 50
          max: 100
      link_header: true
      rels:
      - next
      - prev
      source: https://developer.capsulecrm.com/v2/overview/reading-from-the-api
- target: $.paths['/parties/search'].get
  description: Document the page/perPage pagination and RFC 5988 Link header behaviour on /parties/search.
  update:
    x-pagination:
      style: page-number
      params:
        page:
          default: 1
        perPage:
          default: 50
          max: 100
      link_header: true
      rels:
      - next
      - prev
      source: https://developer.capsulecrm.com/v2/overview/reading-from-the-api