# Reap API > Modular fintech infrastructure. Cards, wallets, compliance, and payments via a single API. - [Introduction](https://docs.reap.global/index.md): Modular fintech infrastructure. Cards, wallets, compliance, and payments via a single API. - [Quickstart](https://docs.reap.global/quickstart.md): Make your first Reap API call. - [Overview](https://docs.reap.global/program-configuration/overview.md): The choices Reap locks in when your project is set up. - [Program Mode](https://docs.reap.global/program-configuration/modes.md): How your program mode shapes the compliance flow, account structure, and card issuance model. - [Funding Model](https://docs.reap.global/program-configuration/funding-models.md): How user funds are held, and how card spending is backed in your project. - [Authorization Mode](https://docs.reap.global/program-configuration/authorization-mode.md): Who approves a card transaction - Reap, against balances you keep in sync, or your own systems in real time. - [Overview](https://docs.reap.global/compliance/kyc/overview.md): How Reap verifies user identity, the methods available, and the application statuses to expect. - [Overview](https://docs.reap.global/compliance/kyc/overview.md): How Reap verifies user identity, the methods available, and the application statuses to expect. - [Managed KYC](https://docs.reap.global/compliance/kyc/managed-kyc.md): Reap runs identity verification through an embedded provider SDK and delivers the outcome to your webhook endpoint. - [Sumsub Token Sharing](https://docs.reap.global/compliance/kyc/sumsub-token-sharing.md): Reuse identity verifications you have already completed in your own Sumsub account, instead of asking your users to re-verify on Reap. - [Universal KYC](https://docs.reap.global/compliance/kyc/universal-kyc.md): Submit identity verifications you have completed with your own KYC provider, along with the supporting documents, for Reap to review. - [Overview](https://docs.reap.global/compliance/kyb/overview.md): How Reap verifies companies and the statuses to expect during KYB. - [Overview](https://docs.reap.global/compliance/kyb/overview.md): How Reap verifies companies and the statuses to expect during KYB. - [Quickstart](https://docs.reap.global/compliance/kyb/getting-started.md): Start KYB for a company and handle the outcome via webhooks. - [Overview](https://docs.reap.global/accounts/overview.md): How accounts work and how their balance is computed. - [Funding via Deposits](https://docs.reap.global/accounts/deposits.md): How to fund an account with on-chain token transfers. - [Funding via Bank Transfer](https://docs.reap.global/accounts/bank-transfers.md): How to top up the master collateral account by wire. - [Withdrawing Funds](https://docs.reap.global/accounts/withdrawals.md): How to move tokens out of an account wallet to an external address. - [Supported Assets](https://docs.reap.global/accounts/supported-assets.md): Which tokens and chains are accepted for deposits. - [Overview](https://docs.reap.global/cards/overview.md): Issue payment cards to your users. - [Managing Cards](https://docs.reap.global/cards/managing-cards.md): Freeze, block, update, and delete cards. - [Displaying Card Details](https://docs.reap.global/cards/secure-display.md): Securely display card PAN, CVV, and expiry to cardholders using an iframe. - [3D Secure](https://docs.reap.global/cards/3d-secure.md): Authenticate cardholders during online card payments. - [Fraud Alerts](https://docs.reap.global/cards/fraud-alerts.md): Respond to detected fraud and report fraudulent card transactions. - [Overview](https://docs.reap.global/cards/disputes/overview.md): Challenge a cleared card transaction for chargeback. - [Overview](https://docs.reap.global/cards/disputes/overview.md): Challenge a cleared card transaction for chargeback. - [Dispute Reasons](https://docs.reap.global/cards/disputes/reasons.md): Pick the reason that matches what the cardholder is telling you. - [Shipping](https://docs.reap.global/cards/physical-cards/shipping.md): Order physical cards and track production and delivery. - [Activation](https://docs.reap.global/cards/physical-cards/activation.md): Activate a physical card once it reaches the cardholder. - [Overview](https://docs.reap.global/cards/digital-wallets/overview.md): Add cards to Apple Pay and Google Pay through tokenization. - [Overview](https://docs.reap.global/cards/digital-wallets/overview.md): Add cards to Apple Pay and Google Pay through tokenization. - [Manual Provisioning](https://docs.reap.global/cards/digital-wallets/manual-provisioning.md): Let cardholders add a card to a wallet by entering its details. - [Push Provisioning](https://docs.reap.global/cards/digital-wallets/push-provisioning.md): Add a card to a wallet with one tap from your app. - [Overview](https://docs.reap.global/transactions/overview.md): How card transactions are represented, retrieved, and tracked over their lifecycle. - [Lifecycle](https://docs.reap.global/transactions/lifecycle.md): The four transaction statuses and the scenarios that drive them. - [Amounts](https://docs.reap.global/transactions/amounts.md): Per-status amount fields, currency, and the conversion rate Reap applies. - [Decline Reasons](https://docs.reap.global/transactions/decline-reasons.md): Reference for every code that can appear on a declined card transaction. - [Overview](https://docs.reap.global/transactions/external-authorization/overview.md): Approve or decline every card transaction in real time from your own systems. - [Overview](https://docs.reap.global/transactions/external-authorization/overview.md): Approve or decline every card transaction in real time from your own systems. - [The Authorization Request](https://docs.reap.global/transactions/external-authorization/authorization-request.md): The CARD_AUTHORIZATION_REQUEST contract - what Reap sends, what you return, and your time budget. - [Handling Requests](https://docs.reap.global/transactions/external-authorization/handling-requests.md): Build an authorization endpoint that is fast, available, and correct under concurrency. - [Keeping Your Ledger in Sync](https://docs.reap.global/transactions/external-authorization/reconciliation.md): Reconcile your ledger against the asynchronous transaction lifecycle after you approve. - [Setup and Testing](https://docs.reap.global/transactions/external-authorization/setup.md): Register your authorization endpoint and exercise it end to end in sandbox. - [Restricted MCCs](https://docs.reap.global/transactions/restricted-mccs.md): Merchant Category Codes that the platform always declines. - [ATM Withdrawal Limits](https://docs.reap.global/transactions/atm-limits.md): Platform-enforced limits and geographic restrictions on ATM cash withdrawals. - [Testing in Sandbox](https://docs.reap.global/transactions/testing-in-sandbox.md): Drive every transaction lifecycle scenario end-to-end without a real card network. - [Overview](https://docs.reap.global/spend-policies/overview.md): Declarative rules that control where, how much, and how often a card can be used. - [Control Types](https://docs.reap.global/spend-policies/control-types.md): Every policy type and the configuration it accepts. - [Scopes](https://docs.reap.global/spend-policies/scopes.md): Where a policy attaches, what it governs, and how overlapping policies resolve. - [Overview](https://docs.reap.global/virtual-assets/overview.md): Unit balances Reap tracks on behalf of your users, contributing to their available balance. - [Defining Virtual Assets](https://docs.reap.global/virtual-assets/definitions.md): Declare an asset once, pick how its rate is priced, and use it across every account in your project. - [Virtual Asset Postings](https://docs.reap.global/virtual-assets/postings.md): Credit, debit, and settle virtual asset balances on an account through a single endpoint. - [Overview](https://docs.reap.global/agentic-payment/overview.md): Delegate a purchase to an AI agent while the user keeps control of every spend. - [How It Works](https://docs.reap.global/agentic-payment/how-it-works.md): The full journey from platform registration to the verified order. - [Setup](https://docs.reap.global/agentic-payment/setup.md): Connect the account, enroll the card, and create the passkey. - [One-Time Purchases](https://docs.reap.global/agentic-payment/one-time-purchases.md): One quote, one passkey tap, and one verified order. - [Recurring Purchases](https://docs.reap.global/agentic-payment/recurring-purchases.md): One passkey tap that stands for every later cycle. - [FAQ](https://docs.reap.global/agentic-payment/faq.md): Coverage, limits, and the questions prospects raise in evaluations. - [Overview](https://docs.reap.global/airport-lounge-access/overview.md): Offer airport lounge visits as a built in benefit on the cards you issue - [Overview](https://docs.reap.global/airport-lounge-access/overview.md): Offer airport lounge visits as a built in benefit on the cards you issue - [Working with Passes](https://docs.reap.global/airport-lounge-access/working-with-passes.md): Purchase inventory, issue passes to cards and track lounge visits - [Lifecycle and Events](https://docs.reap.global/airport-lounge-access/lifecycle-and-events.md): The four pass statuses, the card operations that move them and the webhook events that announce every change - [FAQ](https://docs.reap.global/airport-lounge-access/faq.md): Coverage, the plan, spending control and the questions prospects raise in evaluations - [Overview](https://docs.reap.global/api-reference/overview.md): Reap API reference. - [Authentication](https://docs.reap.global/api-reference/authentication.md): How to authenticate API requests to Reap. - [Versioning & Compatibility](https://docs.reap.global/api-reference/versioning.md): How the API evolves, what counts as a backwards-compatible change, and how to build a resilient integration. - [Errors](https://docs.reap.global/api-reference/errors.md): Error response format and status codes. - [Rate Limiting](https://docs.reap.global/api-reference/rate-limiting.md): Per-project request limits, response headers, and 429 handling. - [Idempotency](https://docs.reap.global/api-reference/idempotency.md): Safely retry POST requests with the Idempotency-Key header. - [List users](https://docs.reap.global/api-reference/users/list-users.md): Retrieves a paginated list of users. Use cursor-based pagination by passing the `nextCursor` value from the response to get subsequent pages. Use `externalId` to resolve your own identifier back to a Reap user. In `CORPORATE` mode, use `companyId` to filter users by company. - [Create user](https://docs.reap.global/api-reference/users/create-user.md): Creates a new user with the provided details. Phone number must be unique within the project, as is `externalId` when supplied. In `CORPORATE` mode, `companyId` is required. - [Get user](https://docs.reap.global/api-reference/users/get-user.md): Retrieves a single user by their unique identifier. - [Delete user](https://docs.reap.global/api-reference/users/delete-user.md): Deletes a user, deletes every card they hold, and restricts their accounts. Card deletion is permanent. The accounts stay open because they can still hold value and card debt to settle, but a restricted account authorizes nothing. - [Update user phone](https://docs.reap.global/api-reference/users/update-user-phone.md): Updates the phone number for a user. Phone number must be in E.164 format and unique within the project. - [Update user email](https://docs.reap.global/api-reference/users/update-user-email.md): Updates the email address for a user. Reserved or non-routable top-level domains are rejected. - [Advance the user application](https://docs.reap.global/api-reference/users/advance-the-user-application.md): Advances the user KYC application. Only valid while the application is in a pending state. Which verification method applies is fixed by your project configuration rather than chosen per request, and determines the request you send. With no body (Reap-run verification), Reap returns a provider SDK t… - [Upload application documents](https://docs.reap.global/api-reference/users/upload-application-documents.md): Uploads one supporting document type for a user whose application is awaiting documents. Set `documentType` to one of the pending documents from the advance response's `nextAction`, and attach its file(s) as `files` (repeat for multi-page or front/back). Upload one type per request, across as many r… - [List companies](https://docs.reap.global/api-reference/companies/list-companies.md): Retrieves a paginated list of companies. Use cursor-based pagination by passing the `nextCursor` value from the response to get subsequent pages. - [Create company](https://docs.reap.global/api-reference/companies/create-company.md): Creates a new company with the provided name. Only available in `CORPORATE` program mode. - [Get company](https://docs.reap.global/api-reference/companies/get-company.md): Retrieves a single company by its unique identifier. - [List company applications](https://docs.reap.global/api-reference/companies/list-company-applications.md): Returns a paginated list of all company applications, ordered by creation date descending. Use the `status` query parameter to filter by application status. For example, to retrieve only active applications: `?status=INITIATED,IN_PROGRESS,REVIEW_REQUIRED`. - [Create company application](https://docs.reap.global/api-reference/companies/create-company-application.md): Initiates a new verification for the company. Generates a verification URL for the corporate client to complete their business verification. Returns an error if an active application already exists. - [Get company application](https://docs.reap.global/api-reference/companies/get-company-application.md): Retrieves a specific company application by its ID. - [List related persons](https://docs.reap.global/api-reference/companies/list-related-persons.md): Returns a paginated list of active related persons (officers and UBOs) for the company, ordered by creation date descending. Use the `status` query parameter to filter by verification status (comma-separated), or `id` to fetch a single person by ID. Related persons are automatically discovered durin… - [Get related person](https://docs.reap.global/api-reference/companies/get-related-person.md): Retrieves a specific related person by their ID. - [List related person applications](https://docs.reap.global/api-reference/companies/list-related-person-applications.md): Returns a paginated list of related person KYC applications for the company, ordered by creation date descending. Use the `status` query parameter to filter by application status (comma-separated), or `relatedPersonId` to scope to a single related person. - [Get related person application](https://docs.reap.global/api-reference/companies/get-related-person-application.md): Retrieves a specific KYC verification application for a related person. - [List accounts](https://docs.reap.global/api-reference/accounts/list-accounts.md): Retrieves a paginated list of accounts. Use `GET /accounts/:id/balance` to retrieve balance details for a specific account. - [Create account](https://docs.reap.global/api-reference/accounts/create-account.md): Creates a new account for the given owner. Set `ownerType` to `USER` (default) or `COMPANY` (corporate programs only) to choose the owner type. The owner must have an approved application (KYC for users, KYB for companies). For projects that provision user wallets (`USER_FUNDED` funding model), depo… - [Generate signer message](https://docs.reap.global/api-reference/accounts/generate-signer-message.md): Generates a time-limited authentication message that must be signed by the end-user's wallet to prove key ownership. The signed message is required when creating an account (`POST /accounts`). Messages expire after 15 minutes. - [Get account](https://docs.reap.global/api-reference/accounts/get-account.md): Retrieves account details and chain addresses, each listing the assets that address accepts - send only those, as a deposit of anything else fails with `ASSET_NOT_ACCEPTED`. List responses omit the accepted assets, so read them from here. Use `GET /accounts/:id/balance` to retrieve balance informati… - [Get account balance](https://docs.reap.global/api-reference/accounts/get-account-balance.md): Retrieves the account financial position including total asset value, liabilities, and net available balance. Use `GET /accounts/:id/assets` for per-asset breakdown. All values are in the project's billing currency (see the `currency` field). - [Get account assets](https://docs.reap.global/api-reference/accounts/get-account-assets.md): Retrieves per-asset balance breakdown with valuations, aggregated by symbol across all chains. Crypto assets also carry a `byChain` breakdown with the amount held, the withdrawable cap, and the withdrawal fee for each chain. All valuations are in the project's billing currency. - [Create posting](https://docs.reap.global/api-reference/virtual-asset-postings/create-posting.md): Atomically applies a posting against the target account's virtual asset balances. See the `type` field for variant semantics. For `SETTLEMENT`, the value applied to the outstanding card debt is returned as `settledAmount`, with the per-entry rate used reflected in `entries[].rateSnapshot`. - [Get posting](https://docs.reap.global/api-reference/virtual-asset-postings/get-posting.md): Client-driven postings (deposit, withdrawal, settlement) against an account's virtual asset balances. - [List cards](https://docs.reap.global/api-reference/cards/list-cards.md): Retrieves a paginated list of cards. Use cursor-based pagination. Filter by `accountId` to get cards for a specific account. - [Create card](https://docs.reap.global/api-reference/cards/create-card.md): Creates a new virtual or physical card for a user. User must have approved application; account must be active. The phone number used for OTP verification is taken from the user record; the card is issued against the user's verified identity. - [Get card](https://docs.reap.global/api-reference/cards/get-card.md): Retrieves a single card by its unique identifier. - [Delete card](https://docs.reap.global/api-reference/cards/delete-card.md): Deletes a card. Returns `404 CARD_NOT_FOUND` if the card does not exist or has already been deleted. - [Update card PIN](https://docs.reap.global/api-reference/cards/update-card-pin.md): Updates the PIN for a card. Only supported for physical cards; virtual cards have no PIN. PIN must be 4-12 digits and cannot contain sequences of 3+ consecutive or repeated numbers. - [Freeze card](https://docs.reap.global/api-reference/cards/freeze-card.md): Freezes a card. Frozen cards cannot be used for transactions. - [Unfreeze card](https://docs.reap.global/api-reference/cards/unfreeze-card.md): Unfreezes a previously frozen card. - [Block card](https://docs.reap.global/api-reference/cards/block-card.md): Blocks a card. A block is the hard stop - a compromised card, a dispute, an account on hold - while freeze is the soft toggle a cardholder flips. A blocked card declines everything: online, in-store, and ATM. Blocking a frozen card keeps the freeze, so the card returns to `FROZEN` when the block lif… - [Unblock card](https://docs.reap.global/api-reference/cards/unblock-card.md): Lifts a block. Only blocks reported with `blockLiftable: true` can be lifted this way; the rest return `409 CARD_BLOCK_NOT_LIFTABLE` and need Reap support. A card frozen before it was blocked returns to `FROZEN`, not `ACTIVE`, and a card unfrozen while blocked returns to `ACTIVE`. Idempotent; unbloc… - [Reveal card details](https://docs.reap.global/api-reference/cards/reveal-card-details.md): Generates a short-lived URL to securely display card details (PAN, CVV, expiry) in an iframe or WebView. The URL is valid for 5 minutes and is single-use. Do not store, log, or expose this URL beyond the immediate display context. - [Update 3DS challenge method](https://docs.reap.global/api-reference/cards/update-3ds-challenge-method.md): Updates the 3DS challenge verification method for a card. - [Activate physical card](https://docs.reap.global/api-reference/cards/activate-physical-card.md): Activates a physical card using the 6-digit activation code from the card mailer. Use `GET /cards/:id/activation-code` only when the cardholder has lost the code that came with the card packaging. - [Get activation code](https://docs.reap.global/api-reference/cards/get-activation-code.md): Retrieves the 6-digit activation code for a physical card. Use only when the cardholder has lost the code that came with the card packaging. Verify the cardholder's identity through your own secure channel before sharing the code. - [Push-provision card](https://docs.reap.global/api-reference/cards/push-provision-card.md): Generates the credentials needed to add a card to a digital wallet directly from your app, without the cardholder entering card details. Pass the result to the wallet SDK to complete provisioning. Each call returns fresh, single-use credentials. - [Respond to 3DS challenge](https://docs.reap.global/api-reference/cards/respond-to-3ds-challenge.md): Approves or rejects a 3DS authentication challenge. Must respond within 5 minutes of the challenge being created. - [Get 3DS challenge](https://docs.reap.global/api-reference/cards/get-3ds-challenge.md): Retrieves a 3DS challenge by ID. - [List shipments](https://docs.reap.global/api-reference/card-shipments/list-shipments.md): Returns a paginated list of card shipments, most recent first. Pass `cardId` to filter to shipments that include a given card (or any of several cards). Pass `include=cards` to include every card in each matching shipment. - [Create shipment draft](https://docs.reap.global/api-reference/card-shipments/create-shipment-draft.md): Creates a new card shipment in `DRAFT` status. No manufacturer call is made until the draft is explicitly submitted. - [Get shipment](https://docs.reap.global/api-reference/card-shipments/get-shipment.md): Unified card shipments API. Ship one card or up to 200 cards in a single draft-first shipment. - [Delete shipment draft](https://docs.reap.global/api-reference/card-shipments/delete-shipment-draft.md): Only shipments in `DRAFT` status can be deleted. - [Update shipping details](https://docs.reap.global/api-reference/card-shipments/update-shipping-details.md): Update the box-level destination, recipient, or courier on a `DRAFT` shipment. Use `POST /:id/cards` and `DELETE /:id/cards/:memberId` to change the card set. - [Add card to draft](https://docs.reap.global/api-reference/card-shipments/add-card-to-draft.md): Append a card to a shipment in `DRAFT` status. Rejects if the card is already in another active shipment, or if the shipment is already at the 200-card limit. - [Remove card from draft](https://docs.reap.global/api-reference/card-shipments/remove-card-from-draft.md): Remove a card from a shipment in `DRAFT` status. Removing the last remaining card is not allowed - delete the shipment instead. - [Submit shipment](https://docs.reap.global/api-reference/card-shipments/submit-shipment.md): Transitions the shipment from `DRAFT` to `PLACED`. Single-card shipments hit the single-ship endpoint; multi-card shipments use the bulk-ship endpoint. On failure the shipment remains in `DRAFT` so the client can retry. - [List card designs](https://docs.reap.global/api-reference/card-designs/list-card-designs.md): Returns the card designs. By default only active designs (usable for new cards) are returned; pass the `status` query parameter to widen or change the filter. - [Set default card design](https://docs.reap.global/api-reference/card-designs/set-default-card-design.md): Sets the card design used by default when issuing cards. The design should be active. - [Get card design](https://docs.reap.global/api-reference/card-designs/get-card-design.md): Card designs available to the project. Designs are assigned to projects out of band; clients pick a design when issuing or shipping cards. - [Get crypto deposit](https://docs.reap.global/api-reference/crypto-deposits/get-crypto-deposit.md): Retrieves crypto deposit details including asset metadata. - [Initiate crypto withdrawal](https://docs.reap.global/api-reference/crypto-withdrawals/initiate-crypto-withdrawal.md): Reserves funds against an in-flight withdrawal and opens the signature window. Fetch a signing payload with `GET /crypto-withdrawals/:id/payload`, then submit the owner signature with `POST /crypto-withdrawals/:id/sign`. - [Get crypto withdrawal](https://docs.reap.global/api-reference/crypto-withdrawals/get-crypto-withdrawal.md): Retrieves a crypto withdrawal by id. Pure read - does not mint a signing payload. - [Mint signing payload](https://docs.reap.global/api-reference/crypto-withdrawals/mint-signing-payload.md): Mints a fresh payload for the wallet owner to sign. Call this immediately before signing; each call retires any earlier unsigned payload. Only valid while the withdrawal awaits a signature. - [Submit withdrawal signature](https://docs.reap.global/api-reference/crypto-withdrawals/submit-withdrawal-signature.md): Submits the wallet owner signature over the current signing payload. The withdrawal then proceeds to broadcast. - [Cancel crypto withdrawal](https://docs.reap.global/api-reference/crypto-withdrawals/cancel-crypto-withdrawal.md): Cancels a withdrawal that is still awaiting a signature and releases the reserved funds. - [Get bank details](https://docs.reap.global/api-reference/fiat-deposits/get-bank-details.md): Retrieves where to send a bank transfer to fund the master collateral account. The project must be enabled for bank transfer funding, or the response is `FIAT_DEPOSITS_NOT_ENABLED`. Always quote the returned `reference` on the transfer, and read these details fresh before each transfer rather than s… - [Get fiat deposit](https://docs.reap.global/api-reference/fiat-deposits/get-fiat-deposit.md): Retrieves a fiat deposit credited to an account, including the amount as received by the bank and the amount credited. - [Get card transaction](https://docs.reap.global/api-reference/card-transactions/get-card-transaction.md): Retrieves card transaction details including merchant information, amounts, and lifecycle events. The response shape varies by transaction status. - [List alerts](https://docs.reap.global/api-reference/fraud-alerts/list-alerts.md): Returns a paginated list of fraud alerts, newest transaction first. Filter by status, card, transaction, origin, or transaction time range. No status default is applied. - [Report fraud](https://docs.reap.global/api-reference/fraud-alerts/report-fraud.md): Files a fraud report against a past card transaction. Always confirms the transaction as fraud and blocks the card. If a pending detected alert already exists for the same transaction and is still inside the response window, this delegates to confirm. Partners learn of the block via `CARD_STATUS_UPD… - [Get alert](https://docs.reap.global/api-reference/fraud-alerts/get-alert.md): Retrieves a single fraud alert by its unique identifier. - [Respond to alert](https://docs.reap.global/api-reference/fraud-alerts/respond-to-alert.md): Confirms or declines a pending detected fraud alert. Confirming blocks the card (`CARD_STATUS_UPDATED` with `blockReason: FRAUD_ALERT_CONFIRMED`); declining leaves the card alone. `type` is required when confirming. - [List disputes](https://docs.reap.global/api-reference/disputes/list-disputes.md): Returns a paginated list of card disputes, newest first. Filter by status, reason, category, card, transaction, or filed time range. No status default is applied. - [File dispute](https://docs.reap.global/api-reference/disputes/file-dispute.md): Files a dispute against a cleared card transaction. Card, cardholder, and currency are derived from the transaction. When `requiresCardholderSignature` is true, mint a signature form URL with `POST /disputes/:id/signature-link`. Status changes arrive as `CARD_DISPUTE_STATUS_UPDATED`. - [Get dispute](https://docs.reap.global/api-reference/disputes/get-dispute.md): Retrieves a single card dispute by its unique identifier. - [Mint signature link](https://docs.reap.global/api-reference/disputes/mint-signature-link.md): Mints a fresh signature form URL for the cardholder. Each call creates a new instance that expires after one hour; call again after expiry for a new URL. Only valid while the dispute requires a cardholder signature. - [List activities](https://docs.reap.global/api-reference/activities/list-activities.md): Retrieves a paginated, chronologically ordered list of fund movements. Supports filtering by resource identifiers, activity type, time window, and status. - [List policies](https://docs.reap.global/api-reference/policies/list-policies.md): Returns a paginated list of your policies, optionally filtered by type, status, or scope. By default only ACTIVE policies are returned; pass an explicit status filter to include disabled ones. - [Create policy](https://docs.reap.global/api-reference/policies/create-policy.md): Creates a policy. The accepted configuration depends on the policy type. - [List effective policies](https://docs.reap.global/api-reference/policies/list-effective-policies.md): Returns the policies in force for a card, cardholder, or your program, resolved up the attachment chain (a card inherits its cardholder and program policies). Limits that track a running total over a window include their current usage and remaining headroom, so you can show how much is left. Only ac… - [Get policy](https://docs.reap.global/api-reference/policies/get-policy.md): Retrieves a policy by ID. - [Rename policy](https://docs.reap.global/api-reference/policies/rename-policy.md): Updates a policy label. - [Replace policy configuration](https://docs.reap.global/api-reference/policies/replace-policy-configuration.md): Replaces the configuration of a policy. The `type` must match the existing policy. Properties that are fixed at creation cannot be changed. - [Enable policy](https://docs.reap.global/api-reference/policies/enable-policy.md): Enables a policy so it applies to transactions again. Enabling an already-enabled policy returns it unchanged. - [Disable policy](https://docs.reap.global/api-reference/policies/disable-policy.md): Disables a policy so it stops applying to new transactions. Recorded usage is retained. Disabling an already-disabled policy returns it unchanged. - [Simulate user application status](https://docs.reap.global/api-reference/simulation/simulate-user-application-status.md): Simulates a user application (KYC) status change. The status update is processed asynchronously via an internal webhook pipeline, so the user status may not reflect the change immediately after this call returns. Clients should poll `GET /users/{userId}` until the desired status is observed. - [Simulate company status](https://docs.reap.global/api-reference/simulation/simulate-company-status.md): Simulates a company status change. `ACTIVE` completes the company onboarding. Registration and address countries restricted for card issuance are rejected. `REJECTED` simulates a declined KYB verification. `IN_REVIEW` simulates a pending KYB review. - [Simulate account status](https://docs.reap.global/api-reference/simulation/simulate-account-status.md): Simulates an account status change between `ACTIVE` and `RESTRICTED`. `RESTRICTED` restricts the account and its deposit addresses, and declines every authorization on its cards; the cards themselves keep the status they held. `ACTIVE` lifts the restriction and leaves card statuses untouched. - [Simulate card status](https://docs.reap.global/api-reference/simulation/simulate-card-status.md): Simulates a card status change. `ACTIVE` unfreezes a frozen or blocked card. `FROZEN` freezes an active card. `BLOCKED` blocks an active or frozen card. `EXPIRED` expires a card. - [Simulate shipment status](https://docs.reap.global/api-reference/simulation/simulate-shipment-status.md): Simulates a card shipment status change in sandbox. Drives production and shipping progress for a submitted shipment. Returns `204`; observe the change via `CARD_SHIPMENT_STATUS_UPDATED`. - [Simulate authorization](https://docs.reap.global/api-reference/simulation/simulate-authorization.md): Simulates a card authorization event. Creates a new `PENDING` transaction, or performs incremental authorization on an existing one. Checks the account balance and returns 400 if insufficient funds. - [Simulate 3DS authorization](https://docs.reap.global/api-reference/simulation/simulate-3ds-authorization.md): Simulates a WEBHOOK 3DS challenge for a card authorization. Returns a pending `ThreeDsChallenge` and delivers `CARD_3DS_CHALLENGE_CREATED` without creating a transaction. After `POST /card-3ds-challenges/{id}/respond` with `approve: true`, authorization completes and `CARD_TRANSACTION_CREATED` is de… - [Simulate decline](https://docs.reap.global/api-reference/simulation/simulate-decline.md): Simulates a declined card transaction. Creates a new `DECLINED` transaction, or declines an existing `PENDING` one. - [Simulate clearing](https://docs.reap.global/api-reference/simulation/simulate-clearing.md): Simulates a clearing (settlement) event. Pass `transactionId` to clear an existing authorization, or omit to simulate offline/direct clearing. - [Simulate reversal](https://docs.reap.global/api-reference/simulation/simulate-reversal.md): Simulates a reversal (partial or full) of an existing `PENDING` authorization. A full reversal transitions the transaction to `VOID`. - [Simulate refund](https://docs.reap.global/api-reference/simulation/simulate-refund.md): Simulates a refund event. Pass `transactionId` to refund an existing `CLEARED` transaction, or omit to simulate an unrelated refund (e.g., tax refund). - [Simulate a fiat deposit](https://docs.reap.global/api-reference/simulation/simulate-a-fiat-deposit.md): Simulates a bank transfer credited to the project's master collateral account. The deposit is recorded as already settled, the master balance is credited, and `FIAT_DEPOSIT_CREATED` is delivered, matching what a reconciled transfer does in production. Only available to Program-Funded projects, which… - [List virtual assets](https://docs.reap.global/api-reference/virtual-assets/list-virtual-assets.md): Returns all virtual assets defined for the project. - [Create virtual asset](https://docs.reap.global/api-reference/virtual-assets/create-virtual-asset.md): Defines a new virtual asset for the project. Only available when virtual assets are enabled for the project. For `FIXED` rate source, an initial rate must be provided. For `HTTP` rate source, an endpoint URL is required. - [Get virtual asset](https://docs.reap.global/api-reference/virtual-assets/get-virtual-asset.md): Retrieves a virtual asset by ID, including the latest known rate. - [Update virtual asset](https://docs.reap.global/api-reference/virtual-assets/update-virtual-asset.md): Update mutable fields (`name`, `httpEndpoint`). To disable the asset, use the dedicated `POST /:id/disable` endpoint. - [Disable virtual asset](https://docs.reap.global/api-reference/virtual-assets/disable-virtual-asset.md): Permanently disable a virtual asset. One-way operation: disabled assets cannot be reactivated. Existing ledger balances remain but are excluded from balance computation and no new allocations are allowed. Idempotent: re-disabling an already-disabled asset is a no-op. - [Set rate for virtual asset](https://docs.reap.global/api-reference/virtual-assets/set-rate-for-virtual-asset.md): Sets a new exchange rate (in the project billing currency) for a virtual asset with `FIXED` rate source. Not available for `HTTP` rate source assets. - [List webhook endpoints](https://docs.reap.global/api-reference/webhooks/list-webhook-endpoints.md): Returns the project's webhook endpoints. By default only `ACTIVE` endpoints are returned; pass the `status` query parameter to widen or change the filter (e.g. `ACTIVE,DISABLED`). - [Create webhook endpoint](https://docs.reap.global/api-reference/webhooks/create-webhook-endpoint.md): Registers a webhook endpoint for the project. The response includes a one-time `signingSecret` that the partner must store to verify incoming webhook signatures. - [Get webhook endpoint](https://docs.reap.global/api-reference/webhooks/get-webhook-endpoint.md): Webhook endpoint management. Configure HTTPS URLs that receive signed POST notifications when events occur in your project. Signing secrets are returned exactly once at create and at rotate-secret time - store them securely. - [Update webhook endpoint](https://docs.reap.global/api-reference/webhooks/update-webhook-endpoint.md): Update mutable fields (`name`, `url`). To rotate the signing secret, use `POST /:id/rotate-secret`. To disable, use `POST /:id/disable`. - [Rotate signing secret](https://docs.reap.global/api-reference/webhooks/rotate-signing-secret.md): Mints a new HMAC signing secret and returns it exactly once. The previous secret is invalidated immediately; in-flight deliveries signed with the old secret will fail verification on your endpoint and be retried automatically by the platform. - [Disable webhook endpoint](https://docs.reap.global/api-reference/webhooks/disable-webhook-endpoint.md): Permanently disable an async webhook endpoint. One-way operation: disabled endpoints cannot be reactivated. Create a new webhook to resume delivery to the same URL. Idempotent: re-disabling an already-disabled webhook is a no-op. `REQUEST`-mode endpoints are synchronous and rotate-only; they cannot… - [List enrollments](https://docs.reap.global/api-reference/agentic/list-enrollments.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Create enrollment](https://docs.reap.global/api-reference/agentic/create-enrollment.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Get enrollment](https://docs.reap.global/api-reference/agentic/get-enrollment.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Revoke enrollment](https://docs.reap.global/api-reference/agentic/revoke-enrollment.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Create mandate](https://docs.reap.global/api-reference/agentic/create-mandate.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Get mandate](https://docs.reap.global/api-reference/agentic/get-mandate.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Pause mandate](https://docs.reap.global/api-reference/agentic/pause-mandate.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Resume mandate](https://docs.reap.global/api-reference/agentic/resume-mandate.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Cancel mandate](https://docs.reap.global/api-reference/agentic/cancel-mandate.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Search products](https://docs.reap.global/api-reference/agentic/search-products.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Get product details](https://docs.reap.global/api-reference/agentic/get-product-details.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Create quote](https://docs.reap.global/api-reference/agentic/create-quote.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Select shipping option](https://docs.reap.global/api-reference/agentic/select-shipping-option.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Create checkout](https://docs.reap.global/api-reference/agentic/create-checkout.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Get checkout](https://docs.reap.global/api-reference/agentic/get-checkout.md): Agentic Payments - enrollments, mandates, products, quotes, and checkouts. - [Overview](https://docs.reap.global/webhooks/overview.md): Real-time event notifications when resources change. - [Signature Verification](https://docs.reap.global/webhooks/signature-verification.md): Verify webhook requests originate from Reap. - [User application status updated](https://docs.reap.global/api-reference/user-application-status-updated.md): Fired when a user application status changes (e.g., KYC approved, rejected, retry required). - [Company status updated](https://docs.reap.global/api-reference/company-status-updated.md): Fired when a company status changes (e.g., KYB approved, rejected, restricted). - [Crypto deposit created](https://docs.reap.global/api-reference/crypto-deposit-created.md): Fired when a new on-chain deposit is detected on an account deposit address. - [Crypto deposit status updated](https://docs.reap.global/api-reference/crypto-deposit-status-updated.md): Fired when a crypto deposit status changes (e.g., approved, rejected). - [Fiat deposit created](https://docs.reap.global/api-reference/fiat-deposit-created.md): Fired when an inbound bank transfer is credited to an account. The deposit is already settled when the event is sent - a fiat transfer is reported to Reap only once the receiving bank has reconciled it. - [Card status updated](https://docs.reap.global/api-reference/card-status-updated.md): Fired when a card status changes (e.g., activated, frozen, unfrozen, cancelled). - [Account status updated](https://docs.reap.global/api-reference/account-status-updated.md): Fired when an account status changes (e.g., restricted, reactivated). - [Card transaction created](https://docs.reap.global/api-reference/card-transaction-created.md): Fired when a new card transaction is created (e.g., authorization, purchase). - [Card transaction updated](https://docs.reap.global/api-reference/card-transaction-updated.md): Fired when a card transaction receives a new lifecycle event (e.g., clearing, reversal, refund). - [3ds challenge created](https://docs.reap.global/api-reference/3ds-challenge-created.md): Fired when a new 3DS authentication challenge is received for a card. The partner must respond within the expiry window. - [Card shipment status updated](https://docs.reap.global/api-reference/card-shipment-status-updated.md): Fired when a card shipment status changes (e.g., in production, ready to ship, in transit, delivered) or per-card production state changes. - [Card tokenization requested](https://docs.reap.global/api-reference/card-tokenization-requested.md): Fired when a cardholder adds a card to a digital wallet and chooses SMS verification. Contains the OTP so it can be delivered through an alternative channel if the SMS does not arrive. The OTP is valid for a short window (around 2 minutes). - [Card fraud alert created](https://docs.reap.global/api-reference/card-fraud-alert-created.md): Fired when a fraud alert is created for a card transaction (detected by fraud monitoring, or reported by the partner). Detected alerts must be confirmed or declined within the response window. Card blocks are delivered separately via CARD_STATUS_UPDATED. - [Card fraud alert status updated](https://docs.reap.global/api-reference/card-fraud-alert-status-updated.md): Fired when a fraud alert status changes. Confirmed fraud also blocks the card; subscribe to CARD_STATUS_UPDATED for that transition. - [Card dispute status updated](https://docs.reap.global/api-reference/card-dispute-status-updated.md): Fired when a card dispute status changes. - [Card authorization request](https://docs.reap.global/api-reference/card-authorization-request.md): Sent synchronously to an External-authorization project. Reap POSTs the proposed authorization and blocks on your approve/decline decision, which you return in the HTTP response body within the request timeout. This is the only webhook whose response Reap consumes: a non-2xx, timeout, or unparseable… - [Changelog](https://docs.reap.global/changelog.md): New endpoints, webhook events, and behavior changes in the Reap API. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) - [openapi](/webhooks/openapi.json)