iBanFirst · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the iBanFirst API
9 actions
9 updates
update
extends
openapi/ibanfirst-clientapi-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for iBanFirst's API. It is a proposal applied on top of the contract, not a document iBanFirst publishes.
What the actions change
x-apievangelist-notex-apievangelist-detailx-apievangelist-profilex-apievangelist-sourcex-apievangelist-harvestedx-apievangelist-artifactsx-apievangelist-gapsx-apievangelist-gap
Targets 8
$.info
$.servers
$.components.securitySchemes['X-WSSE']
$.components.schemas.Error
$.components.schemas.ErrorVOP
$.components.schemas.events
$.components.schemas.PaymentOption
$.components.schemas.Log
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for the iBanFirst API
version: 1.0.0
extends: openapi/ibanfirst-clientapi-openapi.yml
x-generated: '2026-08-17'
x-method: generated
x-source: >-
Derived from the harvested spec at https://docs.ibanfirst.com/_spec/api/ClientAPI.yaml plus the
artifacts in this repo. This overlay records API Evangelist annotations only; the harvested spec
is never mutated. Nothing here changes the provider's contract semantics - every action either
adds an x- extension or adds the production server the provider documents but omits from
servers[].
actions:
- target: $.info
description: Provenance and companion artifacts.
update:
x-apievangelist-profile: https://apis.io/provider/ibanfirst/
x-apievangelist-source: https://docs.ibanfirst.com/_spec/api/ClientAPI.yaml
x-apievangelist-harvested: '2026-08-17'
x-apievangelist-artifacts:
authentication: authentication/ibanfirst-authentication.yml
conventions: conventions/ibanfirst-conventions.yml
errors: errors/ibanfirst-problem-types.yml
lifecycle: lifecycle/ibanfirst-lifecycle.yml
data_model: data-model/ibanfirst-data-model.yml
webhooks: asyncapi/ibanfirst-webhooks.yml
sandbox: sandbox/ibanfirst-sandbox.yml
mcp: mcp/ibanfirst-mcp.yml
tool_crosswalk: mcp/ibanfirst-tool-crosswalk.yml
conformance: conformance/ibanfirst-conformance.yml
- target: $.servers
description: >-
The published spec lists only the demo host. The provider documents the live host at
https://docs.ibanfirst.com/api/clientapi/section/environments, so add it - annotated, and
after the demo entry, so a generated client still defaults to demo.
update:
- url: https://api.ibanfirst.com/api
description: >-
Live (production). Documented by iBanFirst under "Environments" but absent from the
published servers[] block.
x-apievangelist-added: true
- target: $.info
description: >-
Record the conventions this API does NOT implement, so a consumer or agent does not have to
re-discover the absences. Each value is a measured finding, not a recommendation.
update:
x-apievangelist-gaps:
operation_ids: >-
None of the 38 operations declares an operationId, so no stable, language-neutral handle
exists for code generation, Arazzo workflows, or MCP tool binding.
idempotency: >-
No Idempotency-Key parameter on any write operation; POST /payments, POST /trades and
POST /fixed-forwards can duplicate on retry.
error_status_codes: >-
No 4xx or 5xx status code is enumerated on any operation; all failures bind to a single
`default` response.
rate_limits: No rate limits documented and no rate-limit response headers.
examples: No request or response examples are declared in the spec.
problem_details: >-
Errors are a proprietary object rather than RFC 9457 application/problem+json.
pagination_metadata: >-
page / per_page / sort are accepted but responses are bare arrays with no total count and
no next/prev links.
deprecation: No deprecation policy, no Sunset/Deprecation header support.
- target: $.components.securitySchemes['X-WSSE']
description: Cross-reference the derived authentication profile.
update:
x-apievangelist-detail: authentication/ibanfirst-authentication.yml
x-apievangelist-note: >-
WS-Security UsernameToken profile with a SHA-1 binary digest, recomputed per request;
tokens live ~5 minutes. Credentials are issued by iBanFirst support per method - there is
no scope model and no self-serve key console.
- target: $.components.schemas.Error
description: Cross-reference the error catalog.
update:
x-apievangelist-detail: errors/ibanfirst-problem-types.yml
x-apievangelist-note: >-
errorCode values are not published in any public registry; the `link` field is the only
route to an explanation.
- target: $.components.schemas.ErrorVOP
description: Flag the verification-of-payee variant as actionable rather than terminal.
update:
x-apievangelist-note: >-
A PARTIAL status carries payeeVerification.corrections with the expected
account_holder_name and account_holder_type - resubmit with the correction. FAILED is a
stop.
- target: $.components.schemas.events
description: Cross-reference the webhook catalog.
update:
x-apievangelist-detail: asyncapi/ibanfirst-webhooks.yml
x-apievangelist-note: >-
13 event types. Deliveries are signed HMAC-SHA256 over
"{x-ibanfirst-timestamp}.{raw body}" and retried twice, 60 seconds apart, on HTTP 400/500 -
three attempts total. No AsyncAPI document is published.
- target: $.components.schemas.PaymentOption
description: Record that this schema is untyped in the published contract.
update:
x-apievangelist-gap: >-
Declared as a bare `object` with a single untyped `paymentOption` property, so the fee and
speed options an integrator needs cannot be read from the contract - only observed at
runtime.
- target: $.components.schemas.Log
description: Note the tracing role this resource plays in the absence of a request-id header.
update:
x-apievangelist-note: >-
The API publishes no request-id header. GET /logs/{nonce} retrieves the log entry for a
call by its X-WSSE nonce, so clients should persist the nonce they generate for every write
- it is the only after-the-fact way to establish whether a request was received.