Orboni API

Orboni API as documented publicly: 17 operations. Contract generated from the documentation by API Evangelist (2026-11-09); not the provider's own document.

GitHub OpenAPI

Operations 17

GET /v1/checkout/sessions GET /v1/checkout/sessions #
POST /v1/checkout/sessions Create a session #
GET /v1/checkout/sessions/{id} Retrieve a session #
POST /v1/checkout/sessions/{id}/expire Expire a session #
GET /v1/events GET /v1/events #
GET /v1/events/{id} Retrieve an event #
POST /v1/events/{id}/resend Send an event again #
POST /v1/payment_links Create a payment link #
POST /v1/payment_links/{id} Update a payment link #
GET /v1/payment_methods List the project’s payment methods #
GET /v1/public/payment_methods GET /v1/public/payment_methods #
GET /v1/refunds List refunds #
POST /v1/refunds Record a refund #
GET /v1/refunds/{id} Retrieve a refund #
POST /v1/refunds/{id}/void Void a refund #

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/orboni-com:orboni-com-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

orboni-com-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Orboni API
  version: '2026-11-09'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-09: 17 operation(s) read from 1 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Orboni has published no machine-readable contract that the pipeline
    could find. Engine: local.'
  x-evidence-tiers:
    code-example: 3
    documentation: 14
    pages-with-code: 1
    pages-read: 1
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-09'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://orboni.com/docs
paths:
  /v1/checkout/sessions:
    get:
      operationId: get_v1_checkout_sessions
      tags:
      - Checkout
      summary: GET /v1/checkout/sessions
      x-source: https://orboni.com/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl PHP Node Python Ruby Go Java C# Copy curl https://orboni.com/v1/checkout/sessions  -u sk_test_…:  -d amount = 2490  -d
          client_reference_id = order_1042  -d success_url = https://shop.example/thanks  -d cancel_url = https://shop.example/cart The answer
          is the session itself, with status: "open" and the url of its payment page on https://orboni.com/pay/… . The buyer picks a coin there;
          you neve'
    post:
      operationId: post_v1_checkout_sessions
      tags:
      - Checkout
      summary: Create a session
      x-source: https://orboni.com/docs
      parameters:
      - name: amount
        in: query
        required: true
        schema:
          type: integer
        description: In US cents, 50 to 10,000,000
      - name: currency
        in: query
        required: false
        schema:
          type: string
        description: usd — the only one for now
      - name: payment_methods
        in: query
        required: false
        schema:
          type: array
        description: The ways to pay to offer, by key
      - name: network
        in: query
        required: false
        schema:
          type: string
        description: Narrows the offer to one network
      - name: success_url
        in: query
        required: true
        schema:
          type: string
        description: URL where buyer is sent after payment
      - name: cancel_url
        in: query
        required: true
        schema:
          type: string
        description: URL for buyer to return if cancelled
      - name: client_reference_id
        in: query
        required: false
        schema:
          type: string
        description: Your order number, up to 200 characters
      - name: customer_email
        in: query
        required: false
        schema:
          type: string
        description: Buyer’s email
      - name: customer_email_collection
        in: query
        required: false
        schema:
          type: string
        description: Whether the payment page asks the buyer for an email
      - name: locale
        in: query
        required: false
        schema:
          type: string
        description: Language of the payment page
      - name: description
        in: query
        required: false
        schema:
          type: string
        description: What is being paid for, up to 250 characters
      - name: details
        in: query
        required: false
        schema:
          type: string
        description: What the buyer gets, up to 500 characters
      - name: appearance
        in: query
        required: false
        schema:
          type: string
        description: light or dark theme for the payment page
      - name: metadata
        in: query
        required: false
        schema:
          type: object
        description: Up to 50 string values of your own
      - name: expires_in
        in: query
        required: false
        schema:
          type: integer
        description: Seconds the link stays open, 5 min to 1 day
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1CheckoutSessionsResponse'
      x-evidence:
        kind: documentation
  /v1/checkout/sessions/{id}:
    get:
      operationId: get_v1_checkout_sessions_id
      tags:
      - Checkout
      summary: Retrieve a session
      x-source: https://orboni.com/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1CheckoutSessionsIdResponse'
      x-evidence:
        kind: documentation
  /v1/checkout/sessions/{id}/expire:
    post:
      operationId: post_v1_checkout_sessions_id_expire
      tags:
      - Checkout
      summary: Expire a session
      x-source: https://orboni.com/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1CheckoutSessionsIdExpireResponse'
      x-evidence:
        kind: documentation
  /v1/events:
    get:
      operationId: get_v1_events
      tags:
      - Events
      summary: GET /v1/events
      x-source: https://orboni.com/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -G https://orboni.com/v1/events  -u sk_live_…:  -d type = checkout.session.completed  -d "created[gt]=1767225600"  -d limit
          = 100 Webhooks Add an endpoint under Developers → Webhooks , one set per mode. We POST each event to it as JSON. Answer any 2xx within
          5 seconds, connected within 3 , your host’s name answering within 2 ; anything else is retried after 1 min, 5 min, 30 min, 2 h, 6 h,
          12 '
  /v1/events/{id}:
    get:
      operationId: get_v1_events_id
      tags:
      - Events
      summary: Retrieve an event
      x-source: https://orboni.com/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/events/{id}/resend:
    post:
      operationId: post_v1_events_id_resend
      tags:
      - Events
      summary: Send an event again
      x-source: https://orboni.com/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/payment_links:
    get:
      operationId: get_v1_payment_links
      tags:
      - Payment Links
      summary: List payment links
      x-source: https://orboni.com/docs
      parameters:
      - name: active
        in: query
        required: false
        schema:
          type: boolean
        description: Filter by active/inactive
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PaymentLinksResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_payment_links
      tags:
      - Payment Links
      summary: Create a payment link
      x-source: https://orboni.com/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1PaymentLinksRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1PaymentLinksResponse'
      x-evidence:
        kind: documentation
  /v1/payment_links/{id}:
    get:
      operationId: get_v1_payment_links_id
      tags:
      - Payment Links
      summary: Retrieve a payment link
      x-source: https://orboni.com/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PaymentLinksIdResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_payment_links_id
      tags:
      - Payment Links
      summary: Update a payment link
      x-source: https://orboni.com/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1PaymentLinksIdRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1PaymentLinksIdResponse'
      x-evidence:
        kind: documentation
  /v1/payment_methods:
    get:
      operationId: get_v1_payment_methods
      tags:
      - Payment Methods
      summary: List the project’s payment methods
      x-source: https://orboni.com/docs
      parameters:
      - name: amount
        in: query
        required: false
        schema:
          type: integer
        description: US cents, filters out methods with higher minimums
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PaymentMethodsResponse'
      x-evidence:
        kind: documentation
  /v1/public/payment_methods:
    get:
      operationId: get_v1_public_payment_methods
      tags:
      - Public
      summary: GET /v1/public/payment_methods
      x-source: https://orboni.com/docs
      parameters:
      - name: amount
        in: query
        required: false
        schema:
          type: string
      - name: key
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl "https://orboni.com/v1/public/payment_methods?key=pk_live_…&amount=2490" Building your own control instead? Read the coins
          on your server with GET /v1/payment_methods , draw them as you like, and send the buyer to the session’s url . orboni.js is a shortcut,
          not a requirement. Payment links No code at all: in the dashboard, under Payment links, say what it is for and how much, and share the
          l'
  /v1/refunds:
    get:
      operationId: get_v1_refunds
      tags:
      - Refunds
      summary: List refunds
      x-source: https://orboni.com/docs
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
      - name: checkout_session
        in: query
        required: false
        schema:
          type: string
        description: Filter by session ID
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1RefundsResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_refunds
      tags:
      - Refunds
      summary: Record a refund
      x-source: https://orboni.com/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1RefundsRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1RefundsResponse'
      x-evidence:
        kind: documentation
  /v1/refunds/{id}:
    get:
      operationId: get_v1_refunds_id
      tags:
      - Refunds
      summary: Retrieve a refund
      x-source: https://orboni.com/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/refunds/{id}/void:
    post:
      operationId: post_v1_refunds_id_void
      tags:
      - Refunds
      summary: Void a refund
      x-source: https://orboni.com/docs
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    PostV1CheckoutSessionsResponse:
      type: object
      properties:
        id:
          type: string
        object:
          type: string
        livemode:
          type: boolean
        status:
          type: string
        payment_status:
          type: string
        amount_total:
          type: integer
        currency:
          type: string
        url:
          type: string
    GetV1CheckoutSessionsIdResponse:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        payment_status:
          type: string
        amount_total:
          type: integer
        currency:
          type: string
        url:
          type: string
    PostV1CheckoutSessionsIdExpireResponse:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          description: Should be 'expired'
    GetV1PaymentLinksResponse:
      type: object
      properties:
        data:
          type: array
          description: List of payment link objects
        has_more:
          type: boolean
    PostV1PaymentLinksRequest:
      type: object
      properties:
        description:
          type: string
          description: What is paid for, up to 250 characters
        amount:
          type: integer
          description: US cents, required unless custom_amount
        custom_amount:
          type: boolean
          description: Whether buyer can type amount
        min_amount:
          type: integer
          description: Minimum amount when custom_amount
        max_amount:
          type: integer
          description: Maximum amount when custom_amount
        max_payments:
          type: integer
          description: Maximum number of payments
        expires_at:
          type: integer
          description: Unix timestamp when link expires
        details:
          type: string
          description: Details up to 500 characters
        success_url:
          type: string
          description: URL after payment
      required:
      - description
    PostV1PaymentLinksResponse:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        url:
          type: string
    GetV1PaymentLinksIdResponse:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        url:
          type: string
    PostV1PaymentLinksIdRequest:
      type: object
      properties:
        description:
          type: string
        amount:
          type: integer
        custom_amount:
          type: boolean
        min_amount:
          type: integer
        max_amount:
          type: integer
        max_payments:
          type: integer
        expires_at:
          type: integer
        details:
          type: string
        success_url:
          type: string
        active:
          type: boolean
          description: Switch link on/off
    PostV1PaymentLinksIdResponse:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
    GetV1PaymentMethodsResponse:
      type: object
      properties:
        data:
          type: array
          description: List of payment method objects
    GetV1RefundsResponse:
      type: object
      properties:
        data:
          type: array
          description: List of refund objects
        has_more:
          type: boolean
    PostV1RefundsRequest:
      type: object
      properties:
        checkout_session:
          type: string
          description: The session refunded
        amount:
          type: integer
          description: US cents, default all remaining
        reason:
          type: string
          description: Reason for refund
        transaction:
          type: string
          description: Hash of refund transfer
        note:
          type: string
          description: Up to 500 characters
        metadata:
          type: object
          description: Up to 50 string values
      required:
      - checkout_session
    PostV1RefundsResponse:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        amount:
          type: integer
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Checkout
- name: Events
- name: Payment Links
- name: Payment Methods
- name: Public
- name: Refunds