Kredivo Tokenization API

Managing tokenized (0-click) shoppers and their credit limits.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/kredivo-tokenization-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no email required.

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

OpenAPI Specification

kredivo-tokenization-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Kredivo Checkout Calculator Tokenization API
  version: v2
  summary: Merchant-facing installment ("Buy Now, Pay Later") checkout API for Kredivo.
  description: "The Kredivo Checkout API lets an ecommerce store, marketplace, POS or EDC terminal offer\nKredivo installment payment at checkout.\n\nSurfaces documented by Kredivo:\n\n* **2-click Checkout** — merchant posts the cart, receives a `redirect_url`, and sends the\n  shopper to Kredivo to authenticate with phone + PIN + OTP.\n* **0-click Checkout** — once a shopper is tokenized (`tokenize_user: true` /\n  `client_user_key`), later purchases are placed with the stored `user_token`.\n* **QR Checkout** — dynamic (per-transaction) or static (per-store) QR for physical stores.\n* **EDC Checkout** — checkout initiated from a physical EDC terminal, with reversal support.\n* **Additional APIs** — transaction status, full/partial cancellation, and an installment\n  and interest calculator.\n\nEvery operation authenticates with the per-merchant `server_key` carried **in the JSON\nrequest body**, not in a header. Transaction outcomes arrive asynchronously as an HTTP POST\nto the merchant's `push_uri`; the merchant confirms by calling `GET /kredivo/v2/update`\nwith the `transaction_id` and `signature_key` from the notification.\n\nThis description was generated by the API Evangelist enrichment pipeline from Kredivo's\npublished developer documentation at https://doc.kredivo.com/. It is a faithful\ntranscription of the documented request/response surface — it is not published by Kredivo.\n"
  contact:
    name: Kredivo Merchant Operations
    email: merchops@finaccel.co
    url: https://doc.kredivo.com/
  termsOfService: https://kredivo.com/p/in/tos.html
  x-generated: '2026-07-19'
  x-method: generated
  x-source: https://doc.kredivo.com/
servers:
- url: https://sandbox.kredivo.com
  description: Sandbox. Published server key and test account are documented under Environment Setup.
- url: https://{productionHost}
  description: 'Production. Kredivo does not publish the production endpoint; merchants must request it from

    merchops@kredivo.com before going live.

    '
  variables:
    productionHost:
      default: production-endpoint-provided-by-kredivo
      description: Production host supplied by Kredivo merchant operations.
tags:
- name: Tokenization
  description: Managing tokenized (0-click) shoppers and their credit limits.
paths:
  /kredivo/v2/deactive_user_token:
    post:
      operationId: deactivateUserToken
      tags:
      - Tokenization
      summary: Deactivate a tokenized user
      description: 'Invalidates a `user_token`, ending 0-click eligibility for that shopper. A shopper can also

        deactivate a tokenized account from the Kredivo app, in which case Kredivo sends a push

        notification to a merchant endpoint registered with Kredivo so the merchant can invalidate

        the token on its side.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserTokenRequest'
            example:
              server_key: ABCD-XXXX-1234
              user_token: XXXX-YYYY
      responses:
        '200':
          description: Token deactivation result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserTokenResponse'
              examples:
                ok:
                  value:
                    Status: OK
                    user_token: XXXX-YYYY
                    is_active: false
                    remarks: deactive user successful
                invalidToken:
                  value:
                    status: ERROR
                    error:
                      kind: deprecated
                      message: Invalid user_token
                      code: null
  /kredivo/v2/get_user_credit_details:
    post:
      operationId: getUserCreditDetails
      tags:
      - Tokenization
      summary: Get a tokenized user's remaining credit limit
      description: 'Returns the remaining limit, account status and account type of a tokenized shopper, broken

        down per installment tenure. Requires a valid `user_token`.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserTokenRequest'
            example:
              server_key: ABCD-XXXX-1234
              user_token: XXXX-YYYY
      responses:
        '200':
          description: Shopper identity and per-tenure remaining credit limits.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserCreditDetailsResponse'
              example:
                Status: OK
                user_details:
                  legal_name: Rangge Septyo
                  mobile_number: 62812xxxx0581
                user_credit_details:
                  account_status: 1
                  account_type: 2
                  credit_limit_details:
                  - payment_type: 30_days
                    remaining_user_limit: '1500000'
                  - payment_type: 3_months
                    remaining_user_limit: '4500000'
components:
  schemas:
    PaymentType:
      type: string
      description: Installment tenure chosen by the shopper.
      enum:
      - 30_days
      - 3_months
      - 6_months
      - 9_months
      - 12_months
      - 18_months
      - 24_months
    UserTokenResponse:
      type: object
      properties:
        Status:
          type: string
        status:
          type: string
        user_token:
          type: string
        is_active:
          type: boolean
          description: When false, Kredivo cannot provide user credit details for this token.
        remarks:
          type: string
        error:
          $ref: '#/components/schemas/ErrorDetail'
    UserCreditDetailsResponse:
      type: object
      properties:
        Status:
          type: string
        user_details:
          type: object
          properties:
            legal_name:
              type: string
            mobile_number:
              type: string
        user_credit_details:
          type: object
          properties:
            account_status:
              type: integer
            account_type:
              type: integer
            credit_limit_details:
              type: array
              items:
                type: object
                properties:
                  payment_type:
                    $ref: '#/components/schemas/PaymentType'
                  remaining_user_limit:
                    type: string
        error:
          $ref: '#/components/schemas/ErrorDetail'
    ErrorDetail:
      type: object
      description: Kredivo's error envelope. Note the API returns HTTP 200 with status ERROR.
      properties:
        kind:
          type: string
          description: Type of error.
        code:
          type:
          - integer
          - 'null'
          description: Numeric error code. May be null.
        message:
          type: string
    UserTokenRequest:
      type: object
      required:
      - server_key
      - user_token
      properties:
        server_key:
          type: string
        user_token:
          type: string
  securitySchemes:
    serverKey:
      type: apiKey
      in: header
      name: server_key
      description: 'NOTE ON MODELLING: Kredivo does not use a header or an HTTP auth scheme. The per-merchant

        `server_key` is sent as a **field in the JSON request body** of every operation, which

        OpenAPI cannot express as a security scheme. This entry documents the credential so tooling

        can see it; the body field `server_key` on each request schema is the real carrier. See

        authentication/kredivo-authentication.yml.

        '
      x-actual-location: request-body
      x-actual-field: server_key
externalDocs:
  description: Kredivo developer documentation
  url: https://doc.kredivo.com/