# Bitwage Partner API ## Docs - [Exchange authorization code for access token](https://developer.bitwage.com/api-reference/authorization/exchange-authorization-code-for-access-token.md): Exchange the authorization code received from `/authorize` for an access token. The access token is used in subsequent API requests. - [Request authorization code](https://developer.bitwage.com/api-reference/authorization/request-authorization-code.md): OAuth 2.0 authorization code step. Called after a user grants access in the Bitwage client. Returns a redirect URI containing the authorization code. - [Create company](https://developer.bitwage.com/api-reference/companies/create-company.md): Create a new company via the Partner API. Supports idempotency. - [Create UBO admin](https://developer.bitwage.com/api-reference/companies/create-ubo-admin.md): Create a UBO (Ultimate Beneficial Owner) admin for a partner-created company. - [Get company details](https://developer.bitwage.com/api-reference/companies/get-company-details.md): Get company profile details. - [Get KYB status](https://developer.bitwage.com/api-reference/companies/get-kyb-status.md): Get the company's KYB verification status and any outstanding requirements. - [Submit company KYB](https://developer.bitwage.com/api-reference/companies/submit-company-kyb.md): Submit a partner company KYB profile to the verification provider. - [Submit UBO KYC](https://developer.bitwage.com/api-reference/companies/submit-ubo-kyc.md): Submit the UBO admin's KYC verification for a partner-created company. - [Upload company documents](https://developer.bitwage.com/api-reference/companies/upload-company-documents.md): Upload documents for UBO admin KYC or company KYB verification. The `target_type` field determines the document destination and required fields. - [Create payroll](https://developer.bitwage.com/api-reference/company-payroll/create-payroll.md): Create a payroll to pay company workers. When using API key authentication, an `Idempotency-Key` header is required. - [Create vendor payroll](https://developer.bitwage.com/api-reference/company-payroll/create-vendor-payroll.md): Create a vendor payroll from previously created vendor quote IDs. An `invoice_upload_id` is required for each vendor payment whose quoted USD subtotal is greater than or equal to 15000. This endpoint supports API key authentication only. - [Create vendor payroll document upload](https://developer.bitwage.com/api-reference/company-payroll/create-vendor-payroll-document-upload.md): Create a presigned upload session for a vendor payment invoice. Upload the document to the returned `upload_url`, then pass the returned `invoice_upload_id` on the matching vendor payment when creating the vendor payroll. This endpoint supports API key authentication only. - [Create vendor payroll quotes](https://developer.bitwage.com/api-reference/company-payroll/create-vendor-payroll-quotes.md): Create FX quotes for a vendor payroll funded from a company wallet. This endpoint supports API key authentication only. - [Refresh payroll quotes](https://developer.bitwage.com/api-reference/company-payroll/refresh-payroll-quotes.md): Refresh expired crypto funding quotes for a payroll. - [Create recipient](https://developer.bitwage.com/api-reference/company-recipients/create-recipient.md): Create and link a no-login company recipient (worker). Provide a `worker` payload with the recipient's personal details. - [Create recipient distribution](https://developer.bitwage.com/api-reference/company-recipients/create-recipient-distribution.md): Create a distribution (payment destination) for a company recipient. - [Delete recipient distribution](https://developer.bitwage.com/api-reference/company-recipients/delete-recipient-distribution.md): Delete a distribution for a company recipient. The allocation must be 0 before deletion. - [List company recipients](https://developer.bitwage.com/api-reference/company-recipients/list-company-recipients.md): Get company recipients (workers and vendors) with filtering and pagination. - [Set recipient distribution allocations](https://developer.bitwage.com/api-reference/company-recipients/set-recipient-distribution-allocations.md): Set allocation percentages for a company recipient's distributions. Total must equal 100. Maximum 3 distributions. - [Invite workers](https://developer.bitwage.com/api-reference/company-workers/invite-workers.md): Send invitations to workers to join the company. - [List company workers](https://developer.bitwage.com/api-reference/company-workers/list-company-workers.md): Get a paginated list of company workers. - [List worker invitations](https://developer.bitwage.com/api-reference/company-workers/list-worker-invitations.md): Get all pending worker invitations for a company. - [Resend worker invitation](https://developer.bitwage.com/api-reference/company-workers/resend-worker-invitation.md): Resend an invitation to a company worker. Maximum 3 resends allowed. - [Create merchant claim](https://developer.bitwage.com/api-reference/merchant/create-merchant-claim.md): Create a merchant claim and a claim-scoped crypto quote for BTC checkout. - [Get merchant claim status](https://developer.bitwage.com/api-reference/merchant/get-merchant-claim-status.md): Get the current BTC checkout status for a merchant claim. - [Refresh merchant claim quote](https://developer.bitwage.com/api-reference/merchant/refresh-merchant-claim-quote.md): Refresh an expired quote for an existing merchant claim. - [Create distribution](https://developer.bitwage.com/api-reference/user-distributions/create-distribution.md): Create a new payment distribution destination for a user. - [Delete distribution](https://developer.bitwage.com/api-reference/user-distributions/delete-distribution.md): Delete a user's distribution. The distribution's allocation must be 0 before deletion. - [Get distribution details](https://developer.bitwage.com/api-reference/user-distributions/get-distribution-details.md): Get details of a specific distribution for a user. - [Get distribution fields](https://developer.bitwage.com/api-reference/user-distributions/get-distribution-fields.md): Get the required fields for creating a fiat distribution based on the user's country and currency. - [List distributions](https://developer.bitwage.com/api-reference/user-distributions/list-distributions.md): List all distributions for a user. - [Update distribution allocations](https://developer.bitwage.com/api-reference/user-distributions/update-distribution-allocations.md): Update allocation percentages across a user's distributions. Total allocation must equal exactly 100. Maximum 3 distributions. Distributions not included in the request will have their allocation set to 0. - [Get required document types](https://developer.bitwage.com/api-reference/user-documents/get-required-document-types.md): Get the required KYC document types based on the user's country and payer currency. - [List user documents](https://developer.bitwage.com/api-reference/user-documents/list-user-documents.md): List all documents uploaded for a user, including tax ID if available. - [Upload user document](https://developer.bitwage.com/api-reference/user-documents/upload-user-document.md): Upload a KYC document or update tax ID for a user. The request shape depends on the `doc_type`: - For `tax_id`: provide `tax_id` and `tax_id_type` fields. - For image documents: provide `category`, `issuing_country`, and `base64_image`. - [Create funding account](https://developer.bitwage.com/api-reference/user-funding/create-funding-account.md): Create a funding (virtual bank) account for a user. For USD accounts, a `signed_agreement_id` from the TOS endpoint is required. The actual bank account is created asynchronously for USD. - [Get funding account details](https://developer.bitwage.com/api-reference/user-funding/get-funding-account-details.md): Get bank account details for a user's funding account based on payer currency. - [Get funding account TOS link](https://developer.bitwage.com/api-reference/user-funding/get-funding-account-tos-link.md): Get the Terms of Service acceptance link required before creating a USD funding account. The user must be fully KYC verified. - [Create payer](https://developer.bitwage.com/api-reference/user-payers/create-payer.md): Create an external payer (employer or client) for a user. Required fields vary based on `company_type`. - [Delete payer](https://developer.bitwage.com/api-reference/user-payers/delete-payer.md): Soft-delete an external payer for a user. - [Get payer details](https://developer.bitwage.com/api-reference/user-payers/get-payer-details.md): Get details for a specific external payer associated with a user. - [List payers](https://developer.bitwage.com/api-reference/user-payers/list-payers.md): List all external payers for a user. - [Update payer](https://developer.bitwage.com/api-reference/user-payers/update-payer.md): Update an existing external payer for a user. - [Create user](https://developer.bitwage.com/api-reference/users/create-user.md): Create a new user on behalf of a partner. Currently only `worker` product type is supported. - [Get user details](https://developer.bitwage.com/api-reference/users/get-user-details.md): Retrieve profile details for a Bitwage user. - [Initiate user KYC](https://developer.bitwage.com/api-reference/users/initiate-user-kyc.md): Initiate KYC verification for a user through the identity verification provider. - [Update user](https://developer.bitwage.com/api-reference/users/update-user.md): Update an existing user's profile data. All fields except `user_id` are optional (partial update). - [List wallet transactions](https://developer.bitwage.com/api-reference/wallets/list-wallet-transactions.md): List transactions for a wallet by wallet ID. The partner must have access to the company that owns the wallet. - [List wallets](https://developer.bitwage.com/api-reference/wallets/list-wallets.md): List active wallets that can be used to fund payrolls for a partner-provisioned company. Use the returned `id` as the `funding_method` for vendor quote and payroll creation. - [Request wallet](https://developer.bitwage.com/api-reference/wallets/request-wallet.md): Request a wallet for a partner-provisioned company. This endpoint supports API key authentication only. - [Funding account status update](https://developer.bitwage.com/api-reference/webhooks/funding-account-status-update.md): Sent when a user's funding account status changes (e.g. approved, rejected). - [Payroll created](https://developer.bitwage.com/api-reference/webhooks/payroll-created.md): Sent when a company creates a payroll. - [User kyc status update](https://developer.bitwage.com/api-reference/webhooks/user-kyc-status-update.md): Sent when a user's KYC verification status changes. - [User payment status update](https://developer.bitwage.com/api-reference/webhooks/user-payment-status-update.md): Sent when a user's payment status changes. Merchant claim payments include `data.claim_id`; non-claim payments may set it to `null`. - [Authentication](https://developer.bitwage.com/guides/authentication.md): Authenticate with the Bitwage Partner API using API keys or OAuth 2.0. - [Idempotency](https://developer.bitwage.com/guides/idempotency.md): Prevent duplicate operations with the Idempotency-Key header. - [Private label](https://developer.bitwage.com/guides/private-label.md): Integrate the Bitwage Individual product into your application without the Bitwage UI. - [Terminology](https://developer.bitwage.com/guides/terminology.md): Key concepts and account types in the Bitwage platform. - [Webhooks](https://developer.bitwage.com/guides/webhooks.md): Receive real-time notifications when events occur in Bitwage. - [Bitwage Partner API](https://developer.bitwage.com/index.md): Integrate Bitwage payroll and payment processing into your application. - [Quickstart](https://developer.bitwage.com/quickstart.md): Get started with the Bitwage Partner API in minutes. ## OpenAPI Specs - [openapi](https://developer.bitwage.com/api-reference/openapi.yaml) ## Optional - [Dashboard](https://app.bitwage.com) - [Website](https://www.bitwage.com)