API Pulse Publish API

The API Pulse Publish API accepts survey signal submissions from organizations documenting their API practices. Signals include people and organization profiling, API inventory counts, technology stack mapping, authentication methods, standards adoption, CI/CD integration status, and experience prioritization dimensions.

OpenAPI Specification

api-pulse-publish-openapi.yml Raw ↑
openapi: 3.1.0
info:

  title: API Pulse Publishing
  description: |
    This is the  API for publishing to the API pulse.

  version: 0.1.0

  contact:
    name: API Evangelist
    url: https://apievangelist.com
    email: [email protected]

  termsOfService: http://theapipulse.com//terms/

  license:
    name: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
    identifier: CC-BY-NC-SA-4.0

externalDocs:
  description: API Pulse
  url: http://theapipulse.com/

servers:

  - url: http://api.theapipulse.com
    description: The base URL for the API Pulse.

tags:

  - name: Signals
    description: |
      The overall signal.                                                                     

paths:

  /signals:
    post:
      operationId: submitSignal
      summary: API Pulse Submit Signal
      description: Submits an entire signal.
      tags:
        - Signals
      requestBody:
        required: true
        description: A valid signal schema.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Signal'
      responses:
        '201':
          description: People Pulse Submitted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Submitted'
              examples:
                Submitted:
                  $ref: '#/components/examples/Submitted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'

components:

  examples:

    SignalOne:
      description: Entire Signal One
      value:
        people:
          name: Kin Lane
          email: [email protected]
          role: API Evangelist
          countries:
            - US
        organization:
          name: API Evangelist
          countries:
            - US
          employees: 1
        sectors:
          industries:
            - Software Delivery
        access:
          internal: 500
          partner: 50
          public: 5
        distribution:
          publicPortal: 1
          internalPortal: 2
          gateway: 1
        authentication:
          basicAuth: false
          keys: true
          jwt: false
          oauth: false
        httpApis:
          producedCount: 150
          producedPercentage: 100
          consumeCount: 20
          consumePercentage: 100
          openApi: true
          designFirst: true
          openApiDocumentation: true
          openApiMockServers: true
          openApiSdks: true
          openApiTesting: true
          openApiSecurity: false
          openApiPortal: false
          openApiRespository: true
        graphQlApis:
          producedCount: 1
          producedPercentage: 5
          consumeCount: 1
          consumePercentage: 5
          internally: true
          externally: false
        eventDrivenApis:
          webhooksPublish: 1
          webhooksSubscribe: 1
          webSocketsProduce: 1
          webSocketsPublish: 1
          webSocketsSubscribe: 1
          kafkaProduce: 1
          kafkaPublish: 1
          kafkaSubscribe: 1
          asyncApi: true
          designFirst: true
          asyncApiDocumentation: true
          asyncApiMockServers: true
          asyncApiSdks: true
          asyncApiTesting: true
          asyncApiSecurity: true
          asyncApiPortal: true
          asyncApiRespository: true
        schema:
          data: true
          apis: true
          validation: true
          forms: true
          registry: true
          repository: true
        contracts:
          discovery: true
          portal: true
          repository: true
        experience:
          discovery: 10
          onboarding: 10
          quality: 10
          reliability: 10
          consistency: 10
          communication: 10
          automation: 10
          integration: 10
        properties:
          editor: 10
          documentation: 10
          mockServers: 10
          sdks: 10
          testing: 10
          security: 10
          versioning: 10
        plans:
          applications: true
          rateLimits: true
          chargeAccess: true
          usage: true
          report: true
        governance:
          spectral: true
          vacuum: true
          design: true
          development: true
          pipelines: true
          gateway: true

    PeopleOne:
      description: People one.
      value:
        name: Kin Lane
        email: [email protected]
        role: API Evangelist
        countries:
          - US

    OrganizationOne:
      description: Organization one.
      value:
        name: API Evangelist
        countries:
          - US
        employees: 1

    SectorOne:
      description: Sector one.
      value:
        industries:
          - Software Delivery

    AccessOne:
      description: Access one.
      value:
        internal: 500
        partner: 50
        public: 5

    DistributionOne:
      description: Distribution one.
      value:
        publicPortal: 1
        internalPortal: 2
        gateway: 1

    AuthenticationOne:
      description: Authentication one.
      value:
        basicAuth: false
        keys: true
        jwt: false
        oauth: false

    HttpApisOne:
      description: HTTP APIs one.
      value:
        producedCount: 150
        producedPercentage: 100
        consumeCount: 20
        consumePercentage: 100
        openApi: true
        designFirst: true
        openApiDocumentation: true
        openApiMockServers: true
        openApiSdks: true
        openApiTesting: true
        openApiSecurity: false
        openApiPortal: false
        openApiRespository: true

    GraphQlApisOne:
      description: GraphQL APIs one.
      value:
        producedCount: 1
        producedPercentage: 5
        consumeCount: 1
        consumePercentage: 5
        internally: true
        externally: false

    EventDrivenApisOne:
      description: Event-Driven APIs one.
      value:
        webhooksPublish: 1
        webhooksSubscribe: 1
        webSocketsProduce: 1
        webSocketsPublish: 1
        webSocketsSubscribe: 1
        kafkaProduce: 1
        kafkaPublish: 1
        kafkaSubscribe: 1
        asyncApi: true
        designFirst: true
        asyncApiDocumentation: true
        asyncApiMockServers: true
        asyncApiSdks: true
        asyncApiTesting: true
        asyncApiSecurity: true
        asyncApiPortal: true
        asyncApiRespository: true

    SchemaOne:
      description: Schema one.
      value:
        data: true
        apis: true
        validation: true
        forms: true
        registry: true
        repository: true

    ContractOne:
      description: Contract one.
      value:
        discovery: true
        portal: true
        repository: true

    ExperienceOne:
      description: Experience one.
      value:
        discovery: 10
        onboarding: 10
        quality: 10
        reliability: 10
        consistency: 10
        communication: 10
        automation: 10
        integration: 10

    PropertiesOne:
      description: Properties one.
      value:
        editor: 10
        documentation: 10
        mockServers: 10
        sdks: 10
        testing: 10
        security: 10
        versioning: 10

    PlanOne:
      description: Plan one.
      value:
        applications: true
        rateLimits: true
        chargeAccess: true
        usage: true
        report: true

    GovernanceOne:
      description: Governance one.
      value:
        spectral: true
        vacuum: true
        design: true
        development: true
        pipelines: true
        gateway: true

    Submitted:
      description: Submitted
      value:
        message: The people pulse was submitted.

  schemas:

    Signal:
      type: object
      description: A pulse signal.
      required:
        - access
        - authentication
        - contracts
        - distribution
        - eventDrivenApis
        - experience
        - governance
        - graphQlApis
        - httpApis
        - organization
        - people
        - plans
        - properties
        - schema
        - sector
      properties:
        access:
          $ref: '#/components/schemas/Access'
        authentication:
          $ref: '#/components/schemas/Authentication'
        contracts:
          $ref: '#/components/schemas/Contract'
        distribution:
          $ref: '#/components/schemas/Distribution'
        eventDrivenApis:
          $ref: '#/components/schemas/EventDrivenApi'
        experience:
          $ref: '#/components/schemas/Experience'
        governance:
          $ref: '#/components/schemas/Governance'
        graphQlApis:
          $ref: '#/components/schemas/GraphQlApi'
        httpApis:
          $ref: '#/components/schemas/HttpApi'
        organization:
          $ref: '#/components/schemas/Organization'
        people:
          $ref: '#/components/schemas/People'
        plans:
          $ref: '#/components/schemas/Plan'
        properties:
          $ref: '#/components/schemas/Properties'
        schema:
          $ref: '#/components/schemas/Schema'
        sector:
          $ref: '#/components/schemas/Sector'

    People:
      type: object
      description: Pulse of the people.
      required:
        - name
        - email
        - role
        - countries
      properties:
        name:
          type: string
          description: A name.
          minLength: 5
          maxLength: 250
          example: Kin Lane
        email:
          type: string
          description: Valid email address.
          minLength: 1
          maxLength: 500
          example: [email protected]
        role:
          type: string
          description: Role of the person.
          minLength: 10
          maxLength: 250
          example: Evangelist
        linkedIn:
          type: string
          description: Valid LinkedIn URL.
          minLength: 10
          maxLength: 500
          example: https://www.linkedin.com/in/kinlane/
        countries:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 10
          description: A valid ISO 3166 country for the person.
          example:
            - US
        other:
          type: string
          description: Other information (People).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Organization:
      type: object
      description: Pulse of the organization.
      required:
        - employees
      properties:
        name:
          type: string
          description: The company name.
          minLength: 1
          maxLength: 500
          example: API Evangelist
        countries:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 10
          description: A valid ISO 3166 country for the organization.
          example:
            - US
        employees:
          type: integer
          description: The number of employees that work at an enterprise organization.
          minLength: 1
          maxLength: 500000
          example: 100
        other:
          type: string
          description: Other information (Organization).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Sector:
      type: object
      description: Pulse of the sector.
      required:
        - industries
      properties:
        industries:
          type: array
          items:
            type: string
            enum:
              - Technology
              - Healthcare & Pharmaceuticals
              - Finance & Insurance
              - Energy & Utilities
              - Retail & E-Commerce
              - Automotive & Transportation
              - Construction & Real Estate
              - Media & Entertainment
              - Manufacturing & Industrial Production
              - Telecommunications
              - Food & Beverage
              - Agriculture & Agribusiness
              - Education & EdTech
              - Aerospace & Defense
              - Hospitality & Tourism
              - Chemicals & Materials
              - Biotechnology & Life Sciences
              - Environmental & Sustainability
              - Legal & Professional Services
              - Sports & Recreation
              - Mining & Metals
              - Fashion & Apparel
              - Supply Chain & Logistics
              - Nonprofit & Philanthropy
              - Government
          minItems: 1
          maxItems: 10
          description: A valid North American Industry Classification System (NAICS) entry.
          example:
            - Technology

    Access:
      type: object
      description: Pulse of access.
      required:
        - internal
        - partner
        - public
      properties:
        internal:
          type: integer
          description: How many internal APIs do you produce?
          minLength: 0
          maxLength: 50000
          example: 2500
        partner:
          type: integer
          description: How many partner APIs do you produce?
          minLength: 0
          maxLength: 50000
          example: 50
        public:
          type: integer
          description: How many public APIs do you produce?
          minLength: 0
          maxLength: 50000
          example: 50
        other:
          type: string
          description: Other information (Access).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Distribution:
      type: object
      description: Pulse of distribution.
      required:
        - publicPortal
      properties:
        publicPortal:
          type: integer
          description: How many public API portals do you have?
          minLength: 0
          maxLength: 25
          example: 1
        internalPortal:
          type: integer
          description: How many internal API portals do you have?
          minLength: 0
          maxLength: 25
          example: 1
        gateway:
          type: integer
          description: How many API gateways do you have?
          minLength: 0
          maxLength: 25
          example: 2
        other:
          type: string
          description: Other information (Distribution).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Authentication:
      type: object
      description: Pulse of authentication.
      required:
        - basicAuth
        - keys
        - jwt
        - oauth
      properties:
        basicAuth:
          type: boolean
          description: Do you use BasicAuth to authenticate with APIs?
          example: true
        keys:
          type: boolean
          description: Do you use API keys to authenticate with APIs?
          example: true
        jwt:
          type: boolean
          description: HDo you use JWT to authenticate with APIs?
          example: true
        oauth:
          type: boolean
          description: Do you use OAuth to authenticate with APIs?
          example: true
        other:
          type: string
          description: Other information (Authentication).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    HttpApi:
      type: object
      description: Pulse of HTTP APIs.
      required:
        - producedCount
        - producedPercentage
        - consumeCount
        - consumePercentage
        - openApi
        - designFirst
        - openApiDocumentation
        - openApiMockServers
        - openApiSdks
        - openApiTesting
        - openApiSecurity
        - openApiPortal
        - openApiRespository
      properties:
        producedCount:
          type: integer
          description: How many HTTP APIs do you produce?
          minLength: 0
          maxLength: 10000
          example: 500
        producedPercentage:
          type: integer
          description: What percentage of APIs you produce are HTTP APIs?
          minLength: 0
          maxLength: 100
          example: 50
        consumeCount:
          type: integer
          description: How many HTTP APIs do you consume?
          minLength: 0
          maxLength: 1000
          example: 25
        consumePercentage:
          type: integer
          description: What percentage of APIs you consume are HTTP APIs?
          minLength: 0
          maxLength: 100
          example: 90
        openApi:
          type: boolean
          description: Do you use OpenAPI?
          example: true
        designFirst:
          type: boolean
          description: Are you design-first when producing HTTP APIs?
          example: true
        openApiDocumentation:
          type: boolean
          description: Do you use OpenAPI for Generating Documentation?
          example: true
        openApiMockServers:
          type: boolean
          description: Do you use OpenAPI for Generating Mock Servers?
          example: true
        openApiSdks:
          type: boolean
          description: Do you use OpenAPI for Software Development Kits (SDKs)?
          example: true
        openApiTesting:
          type: boolean
          description: Do you use OpenAPI for Testing?
          example: true
        openApiSecurity:
          type: boolean
          description: Do you use OpenAPI for Security?
          example: true
        openApiPortal:
          type: boolean
          description: Do you publish OpenAPI to a portal?
          example: true
        openApiRespository:
          type: boolean
          description: Do you publish OpenAPI to a repository?
          example: true
        other:
          type: string
          description: Other information (HTTP APIs).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    GraphQlApi:
      type: object
      description: Pulse of GraphQL APIs.
      required:
        - producedCount
        - producedPercentage
        - consumeCount
        - consumePercentage
        - internally
        - externally
      properties:
        producedCount:
          type: integer
          description: How many GraphQL APIs do you produce?
          minLength: 0
          maxLength: 10000
          example: 500
        producedPercentage:
          type: integer
          description: What percentage of the  APIs you produce are GraphQL?
          minLength: 0
          maxLength: 100
          example: 50
        consumeCount:
          type: integer
          description: How many GraphQL APIs do you consume?
          minLength: 0
          maxLength: 1000
          example: 25
        consumePercentage:
          type: integer
          description: What percentage of the APIs you consume are GraphQL APIs?
          minLength: 0
          maxLength: 100
          example: 90
        internally:
          type: boolean
          description: Do you use GraphQL internally?
          example: true
        externally:
          type: boolean
          description: Do you use GraphQL externally?
          example: true
        other:
          type: string
          description: Other information (GraphQL APIs).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    EventDrivenApi:
      type: object
      description: Pulse of Event-Driven APIs.
      required:
        - webhooksPublish
        - webhooksSubscribe
        - webSocketsProduce
        - webSocketsPublish
        - webSocketsSubscribe
        - kafkaProduce
        - kafkaPublish
        - kafkaSubscribe
        - asyncApi
        - designFirst
        - asyncApiDocumentation
        - asyncApiMockServers
        - asyncApiSdks
        - asyncApiTesting
        - asyncApiSecurity
        - asyncApiPortal
        - asyncApiRespository
      properties:
        webhooksPublish:
          type: integer
          description: How many Webhooks to you publish?
          minLength: 0
          maxLength: 10000
          example: 500
        webhooksSubscribe:
          type: integer
          description: How many Webhooks to you subscribe?
          minLength: 0
          maxLength: 1000
          example: 25
        webSocketsProduce:
          type: integer
          description: How many WebSockets to you produce?
          minLength: 0
          maxLength: 10000
          example: 500
        webSocketsPublish:
          type: integer
          description: How many WebSockets to you publish to?
          minLength: 0
          maxLength: 10000
          example: 500
        webSocketsSubscribe:
          type: integer
          description: How many WebSockets to you subscribe to?
          minLength: 0
          maxLength: 1000
          example: 25
        kafkaProduce:
          type: integer
          description: How many Kafka APIs to you produce?
          minLength: 0
          maxLength: 10000
          example: 500
        kafkaPublish:
          type: integer
          description: How many Kafka APIs to you publish to?
          minLength: 0
          maxLength: 10000
          example: 500
        kafkaSubscribe:
          type: integer
          description: How many Kafka APIs to you subscribe to?
          minLength: 0
          maxLength: 1000
          example: 25
        asyncApi:
          type: boolean
          description: Do you use AsyncAPI?
          example: true
        designFirst:
          type: boolean
          description: Are you design-first when producing event-driven APIs?
          example: true
        asyncApiDocumentation:
          type: boolean
          description: Do you use AsyncAPI for Generating Documentation?
          example: true
        asyncApiMockServers:
          type: boolean
          description: Do you use AsyncAPI for Generating Mock Servers?
          example: true
        asyncApiSdks:
          type: boolean
          description: Do you use AsyncAPI for Software Development Kits (SDKs)?
          example: true
        asyncApiTesting:
          type: boolean
          description: Do you use AsyncAPI for Testing?
          example: true
        asyncApiSecurity:
          type: boolean
          description: Do you use AsyncAPI for Security?
          example: true
        asyncApiPortal:
          type: boolean
          description: Do you publish AsyncAPI to a portal?
          example: true
        asyncApiRespository:
          type: boolean
          description: Do you publish AsyncAPI to a repository?
          example: true
        other:
          type: string
          description: Other information (Event-Driven APIs).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Schema:
      type: object
      description: Pulse of schema.
      required:
        - data
        - apis
        - validation
        - forms
        - registry
        - repository
      properties:
        data:
          type: boolean
          description: Do you use JSON Schema to define data?
          example: true
        apis:
          type: boolean
          description: Do you use JSON Schema to define APIs?
          example: true
        validation:
          type: boolean
          description: Do you use JSON Schema to validate data?
          example: true
        forms:
          type: boolean
          description: Do you use JSON Schema to generate forms?
          example: true
        registry:
          type: boolean
          description: Do you publish JSON Schema to registry?
          example: true
        repository:
          type: boolean
          description: Do you publish JSON Schema to repository?
          example: true
        other:
          type: string
          description: Other information (Schema).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Contract:
      type: object
      description: Pulse of contract.
      required:
        - discovery
        - portal
        - repository
      properties:
        discovery:
          type: boolean
          description: Do you use APIs.json for discovery?
          example: true
        portal:
          type: boolean
          description: Do you publish APIs.json to portal?
          example: true
        repository:
          type: boolean
          description: Do you publish APIs.json to repository?
          example: true
        other:
          type: string
          description: Other information (Contract).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Experience:
      type: object
      description: Pulse of experience.
      required:
        - discovery
        - onboarding
        - quality
        - reliability
        - consistency
        - communication
      properties:
        discovery:
          type: integer
          description: How much of a priority is API discovery?
          example: 10
          minLength: 3
          maxLength: 3
        onboarding:
          type: integer
          description: How much of a priority is API onboarding?
          example: 10
          minLength: 3
          maxLength: 3
        quality:
          type: integer
          description: How much of a priority is API quality?
          example: 10
          minLength: 3
          maxLength: 3
        reliability:
          type: integer
          description: How much of a priority is API reliability?
          example: 10
          minLength: 3
          maxLength: 3
        consistency:
          type: integer
          description: How much of a priority is API consistency?
          example: 10
          minLength: 3
          maxLength: 3
        communication:
          type: integer
          description: How much of a priority is API communication?
          example: 10
          minLength: 3
          maxLength: 3
        automation:
          type: integer
          description: How much of a priority is API automation?
          example: 10
          minLength: 3
          maxLength: 3
        integration:
          type: integer
          description: How much of a priority is API integration?
          example: 10
          minLength: 3
          maxLength: 3
        other:
          type: string
          description: Other information (Experience).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Properties:
      type: object
      description: Pulse of API operational properties.
      required:
        - documentation
        - mockServers
        - sdks
        - testing
        - security
      properties:
        documentation:
          type: integer
          description: How much of a priority is API documentation?
          example: 10
          minLength: 3
          maxLength: 3
        mockServers:
          type: integer
          description: How much of a priority is API mock servers?
          example: 10
          minLength: 3
          maxLength: 3
        sdks:
          type: integer
          description: How much of a priority is SDKs?
          example: 10
          minLength: 3
          maxLength: 3
        testing:
          type: integer
          description: How much of a priority is API testing?
          example: 10
          minLength: 3
          maxLength: 3
        security:
          type: integer
          description: How much of a priority is API security?
          example: 10
          minLength: 3
          maxLength: 3
        versioning:
          type: integer
          description: How much of a priority is API versioning?
          example: 10
          minLength: 3
          maxLength: 3
        other:
          type: string
          description: Other information (Properties).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Plan:
      type: object
      description: Pulse of API planning.
      required:
        - applications
        - rateLimits
        - chargeAccess
        - usage
        - report
      properties:
        applications:
          type: boolean
          description: Do you require an application to be defined to access APIs?
          example: true
        rateLimits:
          type: boolean
          description: Do you enforce rate limits across all APIs?
          example: true
        chargeAccess:
          type: boolean
          description: Do you charge for access to any APIs?
          example: true
        usage:
          type: boolean
          description: Do you monitor API usage for APIs in production?
          example: true
        report:
          type: boolean
          description: Do you report on API usage data with consumers?
          example: true
        other:
          type: string
          description: Other information (Plan).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Governance:
      type: object
      description: Pulse of API governance.
      required:
        - spectral
        - vacuum
        - design
        - development
        - pipelines
        - gateway
      properties:
        spectral:
          type: boolean
          description: Do you use Spectral for governance rules?
          example: true
        vacuum:
          type: boolean
          description: Do you use Vacuum for governance?
          example: true
        design:
          type: boolean
          description: Do you apply rules during design of APIs?
          example: true
        development:
          type: boolean
          description: Do you apply rules during development of APIs?
          example: true
        pipelines:
          type: boolean
          description: Do you apply rules during pipeline builds of APIs?
          example: true
        gateway:
          type: boolean
          description: Do you validate JSON Schema at the API gateway?
          example: true
        other:
          type: string
          description: Other information (Governance).
          minLength: 10
          maxLength: 250
          example: Something additional I wanted to say.

    Submitted:
      type: object
      description: The submitted pulse.
      required:
        - message
      properties:
        message:
          type: string
          minLength: 10
          maxLength: 50
          description: The message being returned.
          example: The people pulse was submitted.

    Problem:
      type: object
      description: This is a Problem Details for HTTP APIs object.
      required:
        - title
        - status
      xml:
        name: problem
        namespace: urn:ietf:rfc:7807
      properties:
        type:
          type: string
          description: A URI reference that identifies the problem type
          example: https://example.com/probs/out-of-credit
          minLength: 10
          maxLength: 2048
        title:
          type: string
          description: A short, human-readable summary of the problem type
          example: You do not have enough credit.
          minLength: 5
          maxLength: 250
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem
          example: A valid current balance is 30, but that costs 50.
          minLength: 10
          maxLength: 1000
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence of the problem
          example: /account/12345/msgs/abc
          minLength: 10
          maxLength: 250
        status:
          type: integer
          description: The HTTP status code
          example: 400
          minLength: 3
          maxLength: 3

  headers:

    RateLimit:
      description: |
        The RateLimit header communicates quota policies. It contains a `limit` to
        convey the expiring limit, `remaining` to convey the remaining quota units,
        and `reset` to convey the time window reset time.
      schema:
        type: string
        minLength: 10
        maxLength: 250
        example: limit=10, remaining=0, reset=10

    Retry-After:
      description: |
        The Retry-After header indicates how long the user agent s

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/api-pulse/refs/heads/main/openapi/api-pulse-publish-openapi.yml