Kredivo · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Kredivo Checkout API

12 actions 12 updates update extends ../openapi/kredivo-checkout-openapi.yml
Derived by API Evangelist Built from the contracts Kredivo publishes. Kredivo did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-agentic-accessx-idempotencyx-async-outcomex-api-evangelistx-error-contractx-auth-contractx-reconciliationx-verification

Targets 12

$.info
$.paths['/kredivo/v2/checkout_url'].post
$.paths['/kredivo/v2/cancel_transaction'].post
$.paths['/offline/v1/init_checkout'].post
$.paths['/offline/v1/reversal_transaction'].post
$.paths['/kredivo/v2/deactive_user_token'].post
$.paths['/kredivo/v2/get_user_credit_details'].post
$.paths['/kredivo/transaction/status'].post
$.paths['/kredivo/v2/payments'].post
$.paths['/kredivo/v2/update'].get
$.components.schemas.TransactionStatus.properties.transaction_status
$.components.schemas.ErrorDetail

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Kredivo Checkout API
  version: 1.0.0
  x-description: |
    OpenAPI Overlay 1.0.0 capturing the API Evangelist enrichment layered onto the Kredivo Checkout
    API description. Kredivo publishes no OpenAPI of its own — openapi/kredivo-checkout-openapi.yml
    was transcribed from the published HTML documentation — so this overlay records the
    interpretation and agent-readiness annotations added on top of that transcription, keeping them
    separable from the faithful transcription itself.
  x-generated: '2026-07-19'
  x-method: generated
  x-source: https://doc.kredivo.com/
extends: ../openapi/kredivo-checkout-openapi.yml
actions:
- target: $.info
  description: Record provenance and the non-standard response contract on the API description.
  update:
    x-api-evangelist:
      enriched: '2026-07-19'
      artifacts:
        conventions: conventions/kredivo-conventions.yml
        errors: errors/kredivo-error-codes.yml
        decline_codes: errors/kredivo-decline-codes.yml
        lifecycle: lifecycle/kredivo-lifecycle.yml
        sandbox: sandbox/kredivo-sandbox.yml
        authentication: authentication/kredivo-authentication.yml
        data_model: data-model/kredivo-data-model.yml
        webhooks: asyncapi/kredivo-checkout-webhooks.yml
    x-error-contract:
      http_status_is_not_a_signal: true
      note: |
        Kredivo returns HTTP 200 for application errors. Clients must branch on the body `status`
        field (OK or ERROR), never on the HTTP status code.
    x-auth-contract:
      location: request-body
      field: server_key
      note: |
        The credential is a body field, which OpenAPI securitySchemes cannot express. The
        securitySchemes entry in the base document is documentation only.
- target: $.paths['/kredivo/v2/checkout_url'].post
  description: Flag the checkout operation as credit-creating and escalation-gated for agents.
  update:
    x-agentic-access:
      action_class: write
      consequence: creates a consumer credit obligation
      autonomous: false
      escalation: required
      reversible: partially
      reversal_operation: cancelTransaction
    x-idempotency:
      key_field: transaction_details.order_id
      scope: natural-key
      replay_behavior: |
        A repeated order_id returns status ERROR with "This order is already PROCESSED." rather than
        replaying the original response.
    x-async-outcome:
      note: |
        The response is NOT the outcome. It returns a redirect_url; the authoritative transaction
        result arrives asynchronously at push_uri and must be verified via confirmTransaction.
- target: $.paths['/kredivo/v2/cancel_transaction'].post
  description: Document the idempotency key and its one-hour fallback window.
  update:
    x-agentic-access:
      action_class: write
      consequence: moves money
      autonomous: false
      escalation: required
      reversible: false
    x-idempotency:
      key_field: cancellation_id
      max_length: 60
      fallback_key:
      - order_id
      - cancellation_amount
      fallback_window: PT1H
      replay_behavior: |
        Returns status ERROR with "This cancellation_id is already PROCESSED." Kredivo does not
        replay the original success body.
      guidance: |
        Always send an explicit cancellation_id. The implicit fallback key rejects two legitimately
        identical partial cancellations inside one hour.
- target: $.paths['/offline/v1/init_checkout'].post
  description: Flag offline checkout as credit-creating.
  update:
    x-agentic-access:
      action_class: write
      consequence: creates a consumer credit obligation
      autonomous: false
      escalation: required
    x-async-outcome:
      note: Outcome arrives at push_uri; verify via confirmTransaction.
- target: $.paths['/offline/v1/reversal_transaction'].post
  description: Flag reversal as money-moving.
  update:
    x-agentic-access:
      action_class: write
      consequence: moves money
      autonomous: false
      escalation: required
- target: $.paths['/kredivo/v2/deactive_user_token'].post
  description: Flag token deactivation as destructive to a stored consumer credential.
  update:
    x-agentic-access:
      action_class: write
      consequence: destroys a stored consumer credential
      autonomous: false
      escalation: required
- target: $.paths['/kredivo/v2/get_user_credit_details'].post
  description: Flag the credit lookup as consumer-financial-data disclosure.
  update:
    x-agentic-access:
      action_class: read
      consequence: discloses consumer credit data
      autonomous: false
      data_sensitivity: personal-financial
- target: $.paths['/kredivo/transaction/status'].post
  description: Mark status polling as safely autonomous and note its role as the callback fallback.
  update:
    x-agentic-access:
      action_class: read
      consequence: none
      autonomous: true
    x-reconciliation:
      note: |
        Documented fallback when a push notification fails to arrive. Because Kredivo publishes no
        webhook retry policy, a periodic sweep over unresolved orders using this operation is
        effectively required for correctness.
- target: $.paths['/kredivo/v2/payments'].post
  description: Mark the calculator as safely autonomous.
  update:
    x-agentic-access:
      action_class: read
      consequence: none
      autonomous: true
- target: $.paths['/kredivo/v2/update'].get
  description: Mark confirmation as the authoritative read and the only valid basis for fulfilment.
  update:
    x-agentic-access:
      action_class: read
      consequence: none
      autonomous: true
    x-verification:
      note: |
        This operation is the webhook signature check. Never fulfil an order on the notification
        payload alone — only on this response.
- target: $.components.schemas.TransactionStatus.properties.transaction_status
  description: Mark the only fulfilable state explicitly.
  update:
    x-fulfilable-state: settlement
    x-terminal-states:
    - settlement
    - deny
    - cancel
    - expire
    x-decline-catalog: errors/kredivo-decline-codes.yml
- target: $.components.schemas.ErrorDetail
  description: Annotate the proprietary error envelope against RFC 9457.
  update:
    x-rfc9457: false
    x-catalog: errors/kredivo-error-codes.yml
    x-caveat: |
      error.code is frequently null, forcing clients to match on error.message. Messages appear in
      both English and Indonesian.

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/kredivo-checkout-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.