Titus Refunds API

The Refunds API from Titus — 1 operation(s) for refunds.

Operations 2

GET /v1/refunds List refunds #
POST /v1/refunds Refund a checkout #

Specifications

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/titus:titus-refunds-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 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

titus-refunds-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Titus Refunds API
  version: ''
servers:
- description: Titus API
  url: https://api.gotitus.com
security:
- apiKey: []
tags:
- name: Refunds
paths:
  /v1/refunds:
    get:
      summary: List refunds
      description: Lists refunds across all of your checkouts, for reconciliation.
      tags:
      - Refunds
      parameters:
      - in: query
        name: checkoutId
        schema:
          description: Filter to refunds for a single checkout.
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        description: Filter to refunds for a single checkout.
      - in: query
        name: createdAt
        schema:
          description: Filter by creation time. ISO 8601, e.g. createdAt[gt]=2026-06-17T00:00:00Z.
          type: object
          properties:
            gt:
              description: After this time (exclusive).
              type: string
            gte:
              description: At or after this time.
              type: string
            lt:
              description: Before this time (exclusive).
              type: string
            lte:
              description: At or before this time.
              type: string
        description: Filter by creation time. ISO 8601, e.g. createdAt[gt]=2026-06-17T00:00:00Z.
      - in: query
        name: updatedAt
        schema:
          description: Filter by last-updated time. ISO 8601, e.g. updatedAt[gt]=2026-06-17T00:00:00Z.
          type: object
          properties:
            gt:
              description: After this time (exclusive).
              type: string
            gte:
              description: At or after this time.
              type: string
            lt:
              description: Before this time (exclusive).
              type: string
            lte:
              description: At or before this time.
              type: string
        description: Filter by last-updated time. ISO 8601, e.g. updatedAt[gt]=2026-06-17T00:00:00Z.
      - in: query
        name: limit
        schema:
          description: The number of objects to return.
          default: 25
          type: number
          minimum: 1
          maximum: 100
        description: The number of objects to return.
      - in: query
        name: offset
        schema:
          description: The number of objects to skip.
          default: 0
          type: number
          minimum: 0
        description: The number of objects to skip.
      - in: query
        name: sort
        schema:
          description: The sort order of the objects, e.g. `createdAt` for ascending or `-createdAt` for descending.
          default: -createdAt
          type: string
          enum:
          - createdAt
          - -createdAt
          - updatedAt
          - -updatedAt
        description: The sort order of the objects, e.g. `createdAt` for ascending or `-createdAt` for descending.
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          description: The unique id for this object
                          type: string
                        checkoutId:
                          description: The id of the checkout this refund belongs to.
                          type: string
                          format: uuid
                          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        paymentMethod:
                          description: The payment method of the original checkout (`pay-now` or `pay-at-close`).
                          type: string
                          enum:
                          - pay-now
                          - pay-at-close
                        amount:
                          description: The refund amount in dollars.
                          type: number
                        status:
                          description: The current status of the refund. `pending` means the refund is in progress, `completed` means the funds have been returned, `failed` means the refund did not succeed.
                          type: string
                          enum:
                          - pending
                          - completed
                          - failed
                        createdAt:
                          description: The timestamp at which the object was created.
                          anyOf:
                          - type: string
                          - type: 'null'
                        updatedAt:
                          description: The timestamp at which the object was last updated.
                          anyOf:
                          - type: string
                          - type: 'null'
                      required:
                      - id
                      - checkoutId
                      - paymentMethod
                      - amount
                      - status
                      - createdAt
                      - updatedAt
                      additionalProperties: false
                required:
                - data
                additionalProperties: false
        '400':
          description: '400'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Bad Request
                  message:
                    type: string
                required:
                - error
                - message
                additionalProperties: false
        '401':
          description: '401'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Unauthorized
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: '403'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Forbidden
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: '404'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Not Found
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '409':
          description: '409'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Conflict
                  message:
                    type: string
                  existingResourceId:
                    type: string
                required:
                - error
                additionalProperties: false
        '422':
          description: '422'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Unprocessable Entity
                  message:
                    type: string
                required:
                - error
                - message
                additionalProperties: false
        '429':
          description: '429'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Too Many Requests
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: '500'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Internal Server Error
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      operationId: getV1Refunds
      x-operation-id-source: derived
    post:
      summary: Refund a checkout
      description: Create a refund for one of your checkouts. Supports both pay-now (card) and pay-at-close (disbursement) checkouts. If `amount` is omitted the full refundable amount is used.
      tags:
      - Refunds
      parameters:
      - in: header
        name: idempotency-key
        schema:
          description: A unique client-chosen string (typically a UUID) that makes this request safe to retry. If the server has already processed a request with this key, the original response is replayed. See the API documentation for full semantics.
          type: string
        description: A unique client-chosen string (typically a UUID) that makes this request safe to retry. If the server has already processed a request with this key, the original response is replayed. See the API documentation for full semantics.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                checkoutId:
                  description: The id of the checkout to refund.
                  type: string
                  format: uuid
                  pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                amount:
                  description: The amount to refund in dollars. If omitted, a full refund is created for the remaining refundable amount.
                  type: number
                  exclusiveMinimum: 0
              required:
              - checkoutId
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        description: The unique id for this object
                        type: string
                      checkoutId:
                        description: The id of the checkout this refund belongs to.
                        type: string
                        format: uuid
                        pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      paymentMethod:
                        description: The payment method of the original checkout (`pay-now` or `pay-at-close`).
                        type: string
                        enum:
                        - pay-now
                        - pay-at-close
                      amount:
                        description: The refund amount in dollars.
                        type: number
                      status:
                        description: The current status of the refund. `pending` means the refund is in progress, `completed` means the funds have been returned, `failed` means the refund did not succeed.
                        type: string
                        enum:
                        - pending
                        - completed
                        - failed
                      createdAt:
                        description: The timestamp at which the object was created.
                        anyOf:
                        - type: string
                        - type: 'null'
                      updatedAt:
                        description: The timestamp at which the object was last updated.
                        anyOf:
                        - type: string
                        - type: 'null'
                    required:
                    - id
                    - checkoutId
                    - paymentMethod
                    - amount
                    - status
                    - createdAt
                    - updatedAt
                    additionalProperties: false
                required:
                - data
                additionalProperties: false
        '400':
          description: '400'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Bad Request
                  message:
                    type: string
                required:
                - error
                - message
                additionalProperties: false
        '401':
          description: '401'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Unauthorized
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: '403'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Forbidden
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: '404'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Not Found
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '409':
          description: '409'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Conflict
                  message:
                    type: string
                  existingResourceId:
                    type: string
                required:
                - error
                additionalProperties: false
        '422':
          description: '422'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Unprocessable Entity
                  message:
                    type: string
                required:
                - error
                - message
                additionalProperties: false
        '429':
          description: '429'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Too Many Requests
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: '500'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    const: Internal Server Error
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      operationId: postV1Refunds
      x-operation-id-source: derived
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication