Incentivio · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Incentivio Admin API

8 actions 8 updates documentation extends ../openapi/incentivio-admin-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Incentivio's API. It is a proposal applied on top of the contract, not a document Incentivio publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

descriptiontitleversionx-api-evangelist-notesecuritySchemessecurityIncClientIdHeaderIncMerchantIdHeader

Targets 8

$.info
$.servers[0]
$.components
$
$.components.parameters
$.components.responses
$.paths.*.*.responses
$.paths.*.*.responses.200

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Incentivio Admin API
  version: 1.0.0
x-provenance:
  generated: '2026-08-13'
  method: generated
  source: >-
    openapi/incentivio-admin-api-openapi.yml, plus live probes of
    https://adminapi.incentivio.com/incentivio-admin-api recorded in
    authentication/, conventions/ and errors/
  note: >-
    As with the mobile definition, this is a springdoc auto-generation with no
    title, no descriptions, no securitySchemes and success-only responses. Every
    action below adds information established by probe or from the published
    OAuth 2.0 metadata. The original definition is never modified.
extends: ../openapi/incentivio-admin-api-openapi.yml
actions:
  - target: $.info
    description: Name and describe the API.
    update:
      title: Incentivio Admin API
      version: v0
      description: >-
        The operator-facing REST API behind Incentivio's brand administration
        console. Covers client and merchant configuration, stores and locations,
        menu import and menu intelligence, items and sub-items, campaigns and
        offer distribution, guest journeys and personas, customer segments and
        tags, loyalty administration, gift card issuance and ACH funding,
        payments, refunds and fund transfers, Spreedly payment gateway
        connectors, role and module permissions, and a large reporting surface
        with CSV export. Tenancy is carried by the Inc-Client-Id header and
        clientid path parameters.
      x-api-evangelist-note: >-
        This API moves money (refunds, fund transfers, gift card ACH funding) and
        distributes marketing at brand scale. It is served publicly and
        anonymously at /v3/api-docs with no documentation of any kind.
  - target: $.servers[0]
    description: Replace the springdoc default description.
    update:
      description: Production — brand administration and reporting
  - target: $.components
    description: Declare the security schemes the service enforces.
    update:
      securitySchemes:
        bearerAuth:
          type: http
          scheme: bearer
          bearerFormat: JWT
          description: >-
            OAuth 2.0 access token. Unauthenticated requests return 401 with
            incentivio-code "Unknown" and, unlike the mobile service, no
            WWW-Authenticate header.
        incentivioAdminOAuth2:
          type: oauth2
          description: >-
            Authorization server metadata is published at
            /.well-known/oauth-authorization-server (issuer
            https://admin.incentivio.com/issuer). No scopes_supported array is
            published.
          flows:
            authorizationCode:
              authorizationUrl: https://admin.incentivio.com/issuer/oauth2/authorize
              tokenUrl: https://admin.incentivio.com/issuer/oauth/token
              refreshUrl: https://admin.incentivio.com/issuer/oauth/token
              scopes: {}
            clientCredentials:
              tokenUrl: https://admin.incentivio.com/issuer/oauth/token
              scopes: {}
  - target: $
    description: Apply bearer security to the whole surface.
    update:
      security:
        - bearerAuth: []
  - target: $.components.parameters
    description: Make the tenant headers reusable named parameters.
    update:
      IncClientIdHeader:
        name: Inc-Client-Id
        in: header
        required: true
        description: >-
          Identifier of the restaurant brand tenant. Declared on 52 of 421
          operations but required in practice across the surface; 121 operations
          instead carry it as a clientid path parameter.
        schema:
          type: string
      IncMerchantIdHeader:
        name: Inc-Merchant-Id
        in: header
        required: false
        description: Merchant scope within the client tenant.
        schema:
          type: string
  - target: $.components.responses
    description: Add the error responses the definition omits.
    update:
      BadRequest:
        description: A required parameter is missing or malformed. Body is empty.
        headers:
          incentivio-code:
            schema:
              type: string
          incentivio-message:
            schema:
              type: string
          trace-id:
            schema:
              type: string
      Unauthorized:
        description: >-
          No bearer token was presented, or it was rejected. Body is empty and
          incentivio-code / incentivio-message are both literally "Unknown".
        headers:
          incentivio-code:
            schema:
              type: string
          incentivio-message:
            schema:
              type: string
      Forbidden:
        description: >-
          The operator's role or module permission does not allow the operation.
          Inferred from role-module-permission-controller; not directly observed,
          since an authenticated session was not available.
        x-confidence: low
      ServerError:
        description: Unhandled server-side failure. Body is empty.
        headers:
          incentivio-code:
            schema:
              type: string
          trace-id:
            schema:
              type: string
  - target: $.paths.*.*.responses
    description: Attach the error responses to every operation.
    update:
      '400':
        $ref: '#/components/responses/BadRequest'
      '401':
        $ref: '#/components/responses/Unauthorized'
      '500':
        $ref: '#/components/responses/ServerError'
  - target: $.paths.*.*.responses.200
    description: Record the success envelope headers carried on every response.
    update:
      headers:
        incentivio-code:
          schema:
            type: string
        incentivio-message:
          schema:
            type: string
        trace-id:
          schema:
            type: string
        span-id:
          schema:
            type: string