DePix App Meta API

Service metadata.

Operations 2

GET /api/health Health check #
GET /openapi.json This OpenAPI document #

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/depixapp-com:depixapp-com-meta-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

depixapp-com-meta-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Depixapp Com Meta API
  version: 0.50.0
  contact:
    name: DePix
    url: https://depixapp.com
  description: 'Operations tagged meta across 2 of this provider''s published API definitions: depixapp-com-openapi.json, depixapp-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.depixapp.com
  description: Canonical API base URL
- url: https://depix-backend.vercel.app
  description: legacy alias
security:
- apiKey: []
tags:
- name: Meta
  description: Service metadata.
paths:
  /api/health:
    get:
      tags:
      - Meta
      operationId: getHealth
      summary: Health check
      description: 'Dependency health. Contract: HTTP 200 = healthy, HTTP 503 = degraded (branch on the status code).'
      security: []
      responses:
        '200':
          description: Healthy.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthResponse'
              examples:
                ok:
                  value:
                    status: ok
                    turso: true
                    redis: true
                    schema: true
                    timestamp: '2026-07-01T12:00:00.000Z'
        '503':
          description: Degraded — the body says which dependency failed.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthResponse'
              examples:
                degraded:
                  value:
                    status: degraded
                    turso: true
                    redis: false
                    schema: true
                    timestamp: '2026-07-01T12:00:00.000Z'
    servers:
    - url: https://api.depixapp.com
      description: Canonical API base URL
    - url: https://depix-backend.vercel.app
      description: legacy alias
  /openapi.json:
    get:
      tags:
      - Meta
      operationId: getOpenapiDocument
      summary: This OpenAPI document
      description: 'Serves this OpenAPI 3.1 document (Cache-Control: public, max-age=300).'
      security: []
      responses:
        '200':
          description: The OpenAPI 3.1 document.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                type: object
                description: This OpenAPI 3.1 document.
              examples:
                document:
                  summary: Truncated illustration
                  value:
                    openapi: 3.1.0
                    info:
                      title: DePix API
                      version: 0.1.0
        '429':
          description: Rate limited (per-IP, per-key or per-merchant window). Retry after `retry_after` seconds (also in the Retry-After header).
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
            Retry-After:
              $ref: '#/components/headers/RetryAfter'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                rate_limited:
                  value:
                    response:
                      errorMessage: Muitas requisições. Tente novamente em 1 minuto.
                    error:
                      code: rate_limited
                      message: Too many requests for this scope.
                      request_id: gru1::iad1::v9x4k-1751476800000-abc123
                      retry_after: 37
                      docs_url: https://depixapp.com/docs/en/#errors
                      details:
                        scope: deposit
    servers:
    - url: https://api.depixapp.com
      description: Canonical API base URL
    - url: https://depix-backend.vercel.app
      description: legacy alias
components:
  headers:
    XRequestId:
      description: Request correlation id — present on EVERY response (success and error). Matches error.request_id in error bodies.
      schema:
        type: string
    RetryAfter:
      description: Seconds to wait before retrying (mirrors error.retry_after).
      schema:
        type: integer
  schemas:
    ErrorEnvelope:
      type: object
      description: Dual error envelope. `response.errorMessage` is the legacy human-readable Portuguese contract; `error` is the additive machine-readable contract for agents (English). Some legacy sibling fields survive for backwards compatibility (`response.errors`, top-level `blocked`).
      required:
      - response
      - error
      additionalProperties: false
      properties:
        response:
          type: object
          description: Legacy envelope — Portuguese message, first in the body (SPA/integrator contract).
          required:
          - errorMessage
          additionalProperties: false
          properties:
            errorMessage:
              type: string
              description: Human-readable error message in Portuguese (legacy contract).
            errors:
              type: array
              description: Per-field validation errors — legacy sibling emitted by POST /api/checkouts on validation_error.
              items:
                type: object
                description: One field-level validation failure.
                required:
                - field
                - message
                additionalProperties: false
                properties:
                  field:
                    type: string
                    description: Name of the offending request field.
                  message:
                    type: string
                    description: Portuguese validation message for the field.
        blocked:
          type: boolean
          description: Legacy sibling present only on 403 `account_blocked` responses (always true when present).
        error:
          type: object
          description: Machine-readable error object (agent contract, English messages).
          required:
          - code
          - message
          - request_id
          - docs_url
          additionalProperties: false
          properties:
            code:
              type: string
              description: Stable machine-readable error code. The enum below is the complete closed catalog — branch on this value, never on messages.
              enum:
              - unauthorized
              - invalid_api_key
              - invalid_token
              - agent_invalid_signature
              - agent_signature_expired
              - agent_replay_detected
              - agent_unknown_key
              - invalid_operator_token
              - invalid_password
              - insufficient_scope
              - oauth_account_not_linked
              - account_already_linked
              - workos_identity_in_use
              - account_blocked
              - account_suspended
              - operator_token_revoked
              - agent_account_no_password
              - registration_blocked
              - domain_required
              - graduation_pending
              - merchant_required
              - verification_required
              - step_up_required
              - live_access_required
              - whatsapp_verification_required
              - withdraw_disabled
              - external_wallet_disabled
              - first_withdraw_tax_number_mismatch
              - sandbox_only
              - validation_error
              - password_required
              - tax_number_required
              - amount_out_of_range
              - account_limit_exceeded
              - key_limit_exceeded
              - provider_refused
              - attachment_too_large
              - not_found
              - conflict
              - charge_already_paid
              - depix_not_enabled
              - depix_busy
              - depix_address_unsupported
              - depix_address_conflict
              - invalid_blinding_key
              - discount_changed
              - charge_payment_in_progress
              - charge_payment_pending
              - agent_pubkey_exists
              - email_in_use
              - account_exists
              - ticket_closed
              - ticket_open
              - already_rated
              - verification_requirements_not_met
              - verification_tax_number_in_use
              - verification_unavailable
              - username_taken
              - idempotency_in_flight
              - idempotency_key_reuse
              - domain_tld_not_allowed
              - domain_free_host
              - domain_txt_not_found
              - rate_limited
              - merchant_rate_limited
              - operator_register_cap_exceeded
              - ticket_open_cap
              - payer_velocity_limit
              - platform_shutdown
              - service_unavailable
              - attachment_unavailable
              - agents_disabled
              - upstream_error
              - operator_oauth_failed
              - internal_error
            message:
              type: string
              description: Human-readable English message for the code.
            request_id:
              type: string
              description: Request correlation id — also returned on EVERY response (success included) as the X-Request-Id header. Quote it in support requests.
            retry_after:
              type: integer
              description: Seconds to wait before retrying. Present on every 429, 503 and 409 idempotency_in_flight; mirrored in the Retry-After HTTP header.
            docs_url:
              type: string
              description: Link to the error documentation.
            details:
              type: object
              description: 'Optional machine-readable extras, normative per code: validation_error → {field}; insufficient_scope → {required_scope}; rate_limited → {scope}; amount_out_of_range → {min_cents, max_cents} (bounds of THIS endpoint/mode); account_limit_exceeded → {limit, limit_cents, used_cents?} for the legacy per-account limits, and {limit: "receive_cap", current_level, cap_cents, used_cents, amount_cents, window_days, resets_at, next_level_requirements, kyc_url, concurrent?} for the receive cap; key_limit_exceeded → {limit, limit_cents, used_cents}; payer_velocity_limit → {window_minutes, max_per_window}; operator_register_cap_exceeded → {scope, max_per_window, window_hours}; ticket_open_cap → {max_open}; agent_signature_expired → {server_time}; discount_changed → {discount_pct, amount_cents} (the merchant''s current values); the verification_* codes → {missing, remaining} (same shape as GET /api/verification); first_withdraw_tax_number_mismatch → {anchor_tax_number} (masked).'
              additionalProperties: false
              properties:
                server_time:
                  type: integer
                  description: Server unix time in seconds (agent_signature_expired) — re-sync the client clock and retry.
                field:
                  type: string
                  description: Offending request field (validation_error).
                max_open:
                  type: integer
                  description: Maximum open tickets allowed for this account (ticket_open_cap).
                required_scope:
                  type: string
                  description: Scope the API key is missing (insufficient_scope).
                scope:
                  type: string
                  description: Rate-limit scope that tripped (rate_limited).
                window_minutes:
                  type: integer
                  description: Sliding-window length in minutes (payer_velocity_limit).
                window_hours:
                  type: integer
                  description: Rolling-window length in hours (operator_register_cap_exceeded).
                max_per_window:
                  type: integer
                  description: 'Maximum inside the window: QRs per payer CPF/CNPJ (payer_velocity_limit), or agent registrations per operator token (operator_register_cap_exceeded).'
                limit:
                  type: string
                  description: 'Which limit tripped: "receive_cap" | "first_deposit" | "per_tx" (account_limit_exceeded) or "per_tx" | "daily" (key_limit_exceeded). "cumulative" was removed on 2026-07-31 with the lifetime cap it reported.'
                limit_cents:
                  type: integer
                  description: The limit value in cents.
                used_cents:
                  type: integer
                  description: Amount already consumed against the limit, in cents (cumulative/daily limits, and the receive cap).
                current_level:
                  type: integer
                  description: Account tier the cap came from (receive_cap).
                cap_cents:
                  type: integer
                  description: The account's receive cap for the window, in cents (receive_cap).
                amount_cents:
                  type: integer
                  description: The amount that would be due now, in cents — at the current discount (discount_changed), or the refused amount (receive_cap).
                window_days:
                  type: integer
                  description: Length of the rolling receive window, in days (receive_cap).
                resets_at:
                  type:
                  - string
                  - 'null'
                  description: When the OLDEST counted amount leaves the rolling window, i.e. when part of the cap frees up (receive_cap). Null when nothing is counted — there is nothing to wait for.
                next_level_requirements:
                  type:
                  - object
                  - 'null'
                  description: What the next tier requires (receive_cap). Null at the top tier. Age and volume only — never a client count.
                  additionalProperties: false
                  properties:
                    level:
                      type: integer
                      description: The next tier.
                    min_age_days:
                      type:
                      - integer
                      - 'null'
                      description: Minimum account age, in days.
                    min_volume_cents:
                      type:
                      - integer
                      - 'null'
                      description: Minimum settled volume, in cents.
                kyc_url:
                  type:
                  - string
                  - 'null'
                  description: Where to arrange a manually raised cap (receive_cap). Null when that route is unavailable.
                concurrent:
                  type: boolean
                  description: Present and true when the refusal came from simultaneous requests rather than from amounts already settled (receive_cap) — retrying after the sibling requests finish may succeed.
                anchor_tax_number:
                  type:
                  - string
                  - 'null'
                  description: MASKED CPF/CNPJ the account's first withdrawal must be addressed to (first_withdraw_tax_number_mismatch) — the document that paid the first completed deposit. Masked (•••••••8909) because it is there for the owner to RECOGNISE, not for a caller to read off.
                min_cents:
                  type: integer
                  description: Minimum accepted amount in cents for this endpoint/mode.
                max_cents:
                  type: integer
                  description: Maximum accepted amount in cents for this endpoint/mode.
                discount_pct:
                  type: integer
                  description: The merchant's CURRENT DePix discount (discount_changed) — re-render the price from it and retry.
                missing:
                  type: array
                  description: What is still blocking account verification (the verification_* codes) — identical to the `missing` array of GET /api/verification.
                  items:
                    type: string
                    description: One blocking reason.
                    enum:
                    - verification_disabled
                    - account_age
                    - deposit_leg
                    - withdraw_leg
                    - domain_proof
                    - account_blocked
                    - tax_number_in_use
                remaining:
                  type: object
                  description: How much is left on each verification requirement (the verification_* codes) — identical to the `remaining` object of GET /api/verification.
                  required:
                  - deposit_cents
                  - withdraw_cents
                  - account_age_days
                  additionalProperties: false
                  properties:
                    deposit_cents:
                      type:
                      - integer
                      - 'null'
                      description: Still to receive from one document, in cents.
                    withdraw_cents:
                      type:
                      - integer
                      - 'null'
                      description: Still to withdraw back to it, in cents.
                    account_age_days:
                      type:
                      - integer
                      - 'null'
                      description: Days the account still has to wait.
                next_action:
                  type: object
                  description: The ONE move that unblocks this error, for a caller acting without a human in the loop. At most one per error; `kind` is a closed vocabulary. Absent on codes where the only answer is to fix the request itself, and on the anonymous payer endpoints (every action here addresses the account owner).
                  required:
                  - kind
                  additionalProperties: false
                  properties:
                    kind:
                      type: string
                      description: call_tool = call the named tool; human_step = a person must open the URL and do something; http_call = call the named endpoint; wait = retry after retry_after_seconds; reconnect = re-authorise the connector.
                      enum:
                      - call_tool
                      - human_step
                      - http_call
                      - wait
                      - reconnect
                    tool:
                      type: string
                      description: Tool to call (kind=call_tool).
                    url:
                      type: string
                      description: URL a person opens (kind=human_step) or an endpoint to call (kind=http_call).
                    retry_after_seconds:
                      type: integer
                      description: Seconds to wait (kind=wait). Mirrors error.retry_after and the Retry-After header when the response carries one — never a third, disagreeing deadline.
    HealthResponse:
      type: object
      description: 'Dependency health. The HTTP status is the contract: 200 = healthy, 503 = degraded.'
      required:
      - status
      - turso
      - redis
      - schema
      - timestamp
      additionalProperties: false
      properties:
        status:
          type: string
          enum:
          - ok
          - degraded
          description: '"ok" when every dependency check passed, "degraded" otherwise (mirrors the HTTP status).'
        turso:
          type: boolean
          description: Database reachability.
        redis:
          type: boolean
          description: Rate-limit store reachability.
        schema:
          type: boolean
          description: Schema migration probe.
        timestamp:
          type: string
          description: Server time (ISO 8601).
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: 'API key in the Authorization header: `Authorization: Bearer sk_live_…` (production) or `Bearer sk_test_…` (sandbox). Keys are created per merchant in the dashboard with explicit scopes (merchant_read/merchant_write/wallet_read/wallet_write) and, for wallet_write keys, mandatory spending limits. First-party dashboard JWTs are also accepted on the same endpoints.'
x-refined-from:
- depixapp-com-openapi.json
- depixapp-com-openapi.yml