BanQu · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the BanQu API

6 actions 6 updates update extends openapi/banqu-openapi-original.json
Derived by API Evangelist Built from the contracts BanQu publishes. BanQu did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-notecontactx-apievangelist-profilex-apievangelist-reviewedx-apievangelist-artifactsx-apievangelist-findings

Targets 5

$.info
$.servers
$.tags
$.components.parameters.Limit
$.components.responses['429']

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the BanQu API
  version: 1.0.0
extends: openapi/banqu-openapi-original.json
x-generated: '2026-08-06'
x-method: generated
x-source: >-
  Derived from the live OpenAPI 3.0.3 document at https://banqu.app/api/v1/schema plus the artifacts
  in this repository. The original spec is never mutated; every enhancement below is expressed as an
  overlay action.
actions:
- target: $.info
  update:
    contact:
      name: BanQu Support
      email: info@banqu.co
      url: https://www.banqu.co/support-policy
    x-apievangelist-profile: https://apievangelist.com/providers/banqu
    x-apievangelist-reviewed: '2026-08-06'
    x-apievangelist-artifacts:
      authentication: authentication/banqu-authentication.yml
      conventions: conventions/banqu-conventions.yml
      errors: errors/banqu-problem-types.yml
      data_model: data-model/banqu-data-model.yml
      lifecycle: lifecycle/banqu-lifecycle.yml
      conformance: conformance/banqu-conformance.yml
      webhooks: asyncapi/banqu-webhooks.yml
      skills: skills/_index.yml
- target: $.info
  update:
    x-apievangelist-findings:
      operation_ids: >-
        None of the 191 operations declares an operationId. Every generator, SDK, MCP bridge and
        agent tool built against this spec must synthesize identifiers from method+path, and any two
        tools will synthesize them differently. Adding stable operationIds is the single
        highest-leverage change to this document.
      operation_summaries: >-
        No operation declares a `summary`; several declare only a terse `description`. Tag-level
        descriptions exist for 8 of the 25 tags.
      error_schemas: >-
        The shared 4xx response components carry a description but no content or schema, so no error
        body is machine-readable from the contract.
      rate_limits: >-
        A 429 response component is defined but referenced by zero operations, and no rate-limit
        headers are declared.
      idempotency: >-
        No idempotency-key mechanism, including on the two batch write endpoints
        (POST /transactions/batch and POST /assets/{assetId}/transfers/batch).
      auth_header: >-
        components.securitySchemes declares HTTP Bearer while components.schemas.AuthTokens
        documents an X-BQ-Token header. The two statements conflict.
      server_url: >-
        servers[0].url is "https://banqu.app:443/api/v1" - the explicit :443 is redundant for https
        and breaks some strict URL parsers and code generators.
- target: $.servers
  update:
  - url: https://banqu.app/api/v1
    description: >-
      Production (API Evangelist normalization of the published
      "https://banqu.app:443/api/v1" - same host, redundant default port removed)
- target: $.tags
  update:
  - name: Authentication
    description: >-
      Account discovery, short-lived session tokens, and persistent API tokens. Start here: list
      accounts, mint a token for the account you intend to act as, then call everything else.
  - name: Assets
    description: >-
      Tracked commodity or product units - the nouns that move through the chain of custody.
  - name: Asset Transfers
    description: >-
      Movements of asset quantity between accounts. /sources on a transfer or an asset is what makes
      farm-to-shelf traceability queryable.
  - name: Forms
    description: >-
      Structured questionnaire definitions used to capture supplier, plot, and compliance evidence.
  - name: Form Data Entries
    description: >-
      Submitted form instances with an approve / deny / review / reject / withdraw lifecycle.
      Entries may be addressed by a double-pipe-separated natural key instead of a BanQu id.
  - name: Public Profiles
    description: Read-only supplier profile data shared to the acting account by another party.
  - name: Attachments
    description: Pre-signed upload URL minting for files referenced by assets, forms, and processors.
  - name: Notifications
    description: >-
      Polled notification feed. Writes accept a `preventNotify` query parameter to suppress
      notification side effects during bulk import.
- target: $.components.parameters.Limit
  update:
    x-apievangelist-note: >-
      No maximum is declared. Clients should not assume an unbounded page size.
- target: $.components.responses['429']
  update:
    x-apievangelist-note: >-
      Defined but referenced by zero operations, and no RateLimit-* or Retry-After headers are
      declared. Treat rate limits as undocumented and back off on 429 regardless.

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/banqu-openapi-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.