Credo AI · OpenAPI Overlay 1.0.0

API Evangelist enhancements — Credo AI Governance Platform API (v2)

5 actions 5 updates update
Derived by API Evangelist Built from the contracts Credo AI publishes. Credo AI did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

versioncontactx-source-urlx-harvestedhostschemesx-serversx-token-exchange

Targets 4

$.info
$
$.securityDefinitions.Bearer
$.tags[?(@.name=='webhooks')]

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements — Credo AI Governance Platform API (v2)
  version: 1.0.0
x-provenance:
  generated: '2026-08-11'
  method: generated
  source: openapi/credo-ai-governance-platform-swagger.json
  extends: openapi/credo-ai-governance-platform-swagger.json
  note: >-
    Non-destructive enhancement layer. The harvested Swagger 2.0 document at
    openapi/_original/credo-ai-swagger.json is never mutated. Every action below
    adds information Credo AI's own contract omits but which is evidenced
    elsewhere in this repo (live probes, the OpenAPI 3.0.0 sibling contract, or
    the SDK documentation).
actions:
- target: $.info
  description: >-
    The published document declares no version and no contact. Both are evidenced
    in the sibling OpenAPI 3.0.0 document served at https://api.credo.ai/openapi.
  update:
    version: '2.0.0'
    contact:
      name: Credo AI Support
      email: support@credo.ai
      url: https://credo.ai/contact
    x-source-url: https://api.credo.ai/swagger.json
    x-harvested: '2026-08-11'
- target: $
  description: >-
    The document declares basePath but no host, so it names no callable server.
    The production host is evidenced by the sibling OpenAPI 3.0.0 servers[] block
    and by live 401 responses from https://api.credo.ai/api/v2/credoai/.
  update:
    host: api.credo.ai
    schemes:
    - https
    x-servers:
    - url: https://api.credo.ai/api/v2/{tenant}
      description: >-
        Production. {tenant} is issued per customer by support@credo.ai; the
        published basePath hard-codes Credo AI's own 'credoai' tenant.
- target: $.securityDefinitions.Bearer
  description: >-
    Records how the Authorization value is obtained. The published definition says
    only "apiKey in header named Authorization".
  update:
    x-token-exchange:
      operation: POST /auth/exchange
      operationId: CredoAIWeb.Auth.TokenController.exchange
      input: tenant API token + tenant identifier
      output: JWT access token
      format: 'Authorization: Bearer <jwt>'
      source: openapi/credo-ai-audit-logs-shadow-ai-openapi.json
- target: $.tags[?(@.name=='webhooks')]
  description: >-
    The webhooks tag is declared with a description but carries zero operations in
    the published document. Flagged so downstream tooling does not present a
    webhook capability that cannot be reached.
  update:
    x-operation-count: 0
    x-status: declared-empty
    x-evidence: >-
      No path in the 183-path document is tagged `webhooks`, and no webhook,
      subscription or event schema exists among the 346 definitions. The only
      related artifact is TenantInfoResource.webhook_app_id.
- target: $
  description: >-
    Runtime semantics an agent needs that the contract does not state. Every value
    is evidenced in this repo, not assumed.
  update:
    x-conventions:
      standard: 'JSON:API 1.0'
      media_type: application/vnd.api+json
      pagination:
        style: cursor
        request:
        - 'page[after]'
        - 'page[before]'
        - 'page[limit]'
        response: meta.{after,before,limit}
        note: >-
          Declared on only 10 of 300 operations although many more return a paged
          response schema.
      filtering: 'filter[...] bracket syntax'
      sorting: sort
      inclusion: include
      idempotency:
        supported: false
        note: >-
          No idempotency key on any of the 60 POST operations. Retries are unsafe.
      rate_limits:
        published: false
        headers: none
        note: 'Policy stated ("limited based on your subscription plan"), values undisclosed.'
      request_tracing:
        header: x-request-id
        observed: '2026-08-11'
        note: Returned on every response including 401s; not declared in the contract.
      errors:
        envelope: '{"errors":[{"code","title","detail"}]}'
        rfc9457: false
        code_ranges:
          '404': not-found
          1000-1999: auth
          2000-2999: validation
          9000-9999: internal
      deprecation:
        deprecated_operations: 3
        sunset_header: false
        policy_published: false
      responses:
        five_xx_declared: 0
        note: >-
          No 5xx is declared on any operation despite a documented 9000-9999
          internal error-code range.
    x-artifacts:
      authentication: authentication/credo-ai-authentication.yml
      conventions: conventions/credo-ai-conventions.yml
      errors: errors/credo-ai-problem-types.yml
      lifecycle: lifecycle/credo-ai-lifecycle.yml
      rate_limits: rate-limits/credo-ai-rate-limits.yml
      data_model: data-model/credo-ai-data-model.yml
      conformance: conformance/credo-ai-conformance.yml

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/credo-ai-governance-platform-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.