### GET /projects/{id} Source: https://dotsdev.mintlify.app/apireference/accounts-payable/create-an-approval-policy Retrieve the details of a specific project by its unique identifier. ```APIDOC ## GET /projects/{id} ### Description Retrieves the full configuration of a project, including approval requirements and payable conditions. ### Method GET ### Endpoint /projects/{id} ### Parameters #### Path Parameters - **id** (uuid) - Required - The unique identifier of the project. ### Response #### Success Response (200) - **id** (uuid) - Project ID - **api_app_id** (uuid) - Associated App ID - **priority** (integer) - Project priority level - **description** (string) - Project description - **approval_conditions** (array) - List of approval requirements - **payable_conditions** (array) - List of payment conditions - **created** (date-time) - Timestamp of creation #### Response Example { "id": "550e8400-e29b-41d4-a716-446655440000", "api_app_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "priority": 1, "description": "Project Alpha", "approval_conditions": [], "payable_conditions": [], "created": "2023-10-27T10:00:00Z" } ``` -------------------------------- ### GET /wallet Source: https://dotsdev.mintlify.app/apireference/users/create-a-user Retrieves the current wallet balance information including total, withdrawable, and credit amounts. ```APIDOC ## GET /wallet ### Description Retrieves the current wallet balance details for the authenticated user. ### Method GET ### Endpoint /wallet ### Response #### Success Response (200) - **amount** (integer) - Total wallet balance - **withdrawable_amount** (integer) - Amount currently available for withdrawal - **credit_balance** (integer) - Current credit balance #### Response Example { "amount": 1000, "withdrawable_amount": 500, "credit_balance": 200 } ``` -------------------------------- ### GET /user Source: https://dotsdev.mintlify.app/apireference/payout-requests/create-a-payout-request Retrieves user profile information, including compliance status and default payout methods. ```APIDOC ## GET /user/{id} ### Description Retrieves the full profile of a user, including their verification status and compliance details. ### Method GET ### Endpoint /user/{id} ### Parameters #### Path Parameters - **id** (uuid) - Required - The unique identifier of the user. ### Response #### Success Response (200) - **id** (uuid) - User ID. - **status** (string) - User account status (verified, unverified, etc.). - **compliance** (object) - Tax and verification status. #### Response Example { "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": "verified", "compliance": { "tax_id_verification": "matched", "date_of_birth_collected": true } } ``` -------------------------------- ### Get App ACH Account via OpenAPI Source: https://dotsdev.mintlify.app/apireference/apps/get-app-ach-account This OpenAPI specification defines a GET request to retrieve ACH account details for a specific application. It requires an 'app_id' path parameter and returns the account mask and name in JSON format. ```yaml paths: /v2/apps/{app_id}/ach-account: parameters: - schema: type: string name: app_id in: path required: true description: The ID of the app. get: tags: - apps summary: Get App ACH Account description: Get the App's ach account information. operationId: get-app-ach-account responses: '200': description: OK content: application/json: schema: type: object properties: mask: type: string description: The last four digits of the bank account number. name: type: string description: The name of the bank account. ``` -------------------------------- ### Create an Onboarding Flow with Dots API Source: https://dotsdev.mintlify.app/guides/flow-payouts Initializes a new onboarding flow by sending a POST request to the Dots API. This flow includes a compliance step and returns a unique flow ID and a URL for user interaction. ```sh curl --request POST \ --url https://pls.senddotssandbox.com/api/v2/flows/ \ --header 'Authorization: Basic cGtfZGV2X0g3V0tFOXlTRGhqeW91dFZBNEk3RkxhVkUzaWg1OnNrX2Rldl9lekFPNXA0WUNJeld6RWgwam5ubHFrODRkQ3ZFOQ==' \ --header 'Content-Type: application/json' \ --data '{ "steps": [ "compliance" ], }' ``` ```json { "completed_steps": [], "created": "2024-07-11T21:10:30.846081", "id": "b3293101-35ef-451a-aad4-881da3697c2f", "link": "https://my-sandbox.dots.dev/flow/b3293101-35ef-451a-aad4-881da3697c2f", "metadata": null, "payout_link_id": null, "steps": [ "compliance" ], "user_id": null } ``` -------------------------------- ### GET /v2/accounts-payable/vendors/{vendor_id}/payment-methods/{payment_method_id} Source: https://dotsdev.mintlify.app/apireference/accounts-payable/get-vendor-payment-method-details Retrieves the detailed configuration of a specific payment method linked to a vendor. ```APIDOC ## GET /v2/accounts-payable/vendors/{vendor_id}/payment-methods/{payment_method_id} ### Description Get details of a specific vendor payment method using the vendor ID and the payment method ID. ### Method GET ### Endpoint /v2/accounts-payable/vendors/{vendor_id}/payment-methods/{payment_method_id} ### Parameters #### Path Parameters - **vendor_id** (string) - Required - The ID of the Vendor - **payment_method_id** (string) - Required - The ID of the Vendor's Payment Method ### Request Example N/A (GET request) ### Response #### Success Response (200) - **name** (string) - Name of the payment method - **ach_account_number** (string) - The ACH account number - **ach_routing_number** (string) - The ACH routing number - **ach_account_type** (string) - Type of account (checking or savings) #### Response Example { "name": "Primary Bank Account", "ach_account_number": "123456789", "ach_routing_number": "021000021", "ach_account_type": "checking" } ``` -------------------------------- ### Example JSON Response for Payout Link Creation Source: https://dotsdev.mintlify.app/guides/payout-links This JSON object represents the response received after successfully creating a Payout Link. It includes details such as the payout amount, status, and a unique link for the payee. ```json { "accounting_data": { "quickbooks_account_id": null }, "amount": 123, "claimed_user_id": null, "created": "2024-07-11T12:31:33.479437", "delivery": { "country_code": null, "email": null, "method": "link", "phone_number": null }, "description": null, "flow_id": "7c22fd05-147e-48bb-b008-f48f24b76ea4", "id": "e5d5863a-498d-4551-a3dc-e31012503f23", "link": "https://my-sandbox.dots.dev/flow/7c22fd05-147e-48bb-b008-f48f24b76ea4", "memo": null, "metadata": null, "payee": { "country_code": null, "email": null, "first_name": null, "last_name": null, "phone_number": null }, "status": "delivered", "tax_exempt": false, "transfer_id": "c1d3ec40-e05e-4385-acd6-c587372c4c3a" } ``` -------------------------------- ### Fetch Documentation Index Source: https://dotsdev.mintlify.app/apireference/payments/create-a-payment Retrieves the complete documentation index, which can be used to discover all available pages. ```APIDOC ## GET /websites/dotsdev_mintlify_app/docs/index ### Description Fetches the complete documentation index. This file can be used to discover all available pages before exploring further. ### Method GET ### Endpoint /websites/dotsdev_mintlify_app/docs/index ### Parameters #### Query Parameters - **url** (string) - Required - The URL to fetch the documentation index from (e.g., https://usedots.com/docs/llms.txt). ### Response #### Success Response (200) - **index** (object) - An object containing the documentation index. #### Response Example ```json { "index": { "introduction": "/docs/introduction", "getting-started": "/docs/getting-started" } } ``` ``` -------------------------------- ### GET /v2/apps/{app_id}/ach-account Source: https://dotsdev.mintlify.app/apireference/apps/get-app-ach-account Retrieves the ACH account information, including the masked account number and bank account name, for a specified application. ```APIDOC ## GET /v2/apps/{app_id}/ach-account ### Description Get the App's ach account information. ### Method GET ### Endpoint /v2/apps/{app_id}/ach-account ### Parameters #### Path Parameters - **app_id** (string) - Required - The ID of the app. ### Request Example GET /v2/apps/app_12345/ach-account ### Response #### Success Response (200) - **mask** (string) - The last four digits of the bank account number. - **name** (string) - The name of the bank account. #### Response Example { "mask": "1234", "name": "Primary Business Checking" } ``` -------------------------------- ### Get Organization Transfer Details (YAML) Source: https://dotsdev.mintlify.app/apireference/transfers/get-an-organization-transfer This snippet defines the GET endpoint for retrieving a specific organization transfer by its ID. It specifies the request parameters, including the 'transfer_id', and the structure of the successful response (200 OK) which includes a 'transfer' object. ```yaml openapi: 3.1.0 info: title: dots api version: '1.0' summary: Dots Payout API description: Scalable and Flexible Payouts Infrastructure contact: name: Kartikye Mittal url: https://dots.dev email: info@dots.dev license: name: MIT url: https://opensource.org/license/mit/ servers: - url: https://api.dots.dev/api description: Production security: - api_key: [] tags: - name: accounts-payable description: Accounts Payable Routes - name: apps description: App Routes - name: checkout-sessions description: Checkout Session Routes - name: disputes description: Disputes Routes - name: flows description: Flow routes - name: organizations description: Organization Routes - name: payment-customers description: Payment Customer Routes - name: payment-intents description: Payment Intent Routes - name: payment-methods description: Payment Method Routes - name: payments description: Payment Routes - name: payout-batches description: Payout Batch Routes - name: payout-links description: Payout Link Routes - name: payout-requests description: Payout Request Routes - name: payouts description: Payout Routes - name: refunds description: Refund Routes - name: transactions description: Transaction Routes - name: transfer-batches description: Transfer Batch routes - name: transfers description: Transfer routes - name: users description: User routes paths: /v2/organization-transfers/{transfer_id}: parameters: - schema: type: string name: transfer_id in: path required: true description: ID of the transfer to retrieve get: tags: - transfers summary: Get an Organization Transfer description: Get an organization transfer by its id. operationId: get-organization-transfer responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/transfer' description: The `transfer` object. components: schemas: transfer: type: object properties: id: type: string format: uuid created: type: string format: date-time user_id: type: string format: uuid status: type: string enum: - created - pending - failed - completed - reversed - canceled - flagged type: type: string enum: - refill - payout - balance - payment - settlement - payable description: | The type of this transfer. * `refill` - refill of an API App or Organization's Dots Wallet * `payout` - payout to a User * `balance` - balance transfer between Dots Wallets, such as from an API App to a User's Dots Wallet * `payment` - payment from a User to an API App * `settlement` - legacy, currently unused * `payable` - payable for Accounts Payable amount: type: number external_data: type: object properties: account_id: type: string external_id: type: string platform: type: string enum: - ach - paypal - venmo - visa - amazon - cash_app - intl_bank - intl_transfer - bank_transfer transactions: type: array items: $ref: '#/components/schemas/transaction' payout_link_id: type: string format: uuid description: ID of the `payout-link` that the transfer belongs to. metadata: type: - string - object - 'null' description: >- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. transaction: type: object properties: id: type: integer amount: type: number created: type: string format: date-time source_name: type: string destination_name: type: string type: type: string enum: - balance - refill - payout - payment - fee - surrogate description: The general category of the transaction metadata: ``` -------------------------------- ### GET /checkout-sessions Source: https://dotsdev.mintlify.app/apireference/checkout-sessions/list-all-checkout-sessions Retrieves a list of all checkout sessions associated with the account. ```APIDOC ## GET /checkout-sessions ### Description Retrieves a paginated list of all checkout sessions created within the system. ### Method GET ### Endpoint /checkout-sessions ### Parameters #### Query Parameters - **limit** (integer) - Optional - The number of sessions to return (default: 10). - **starting_after** (string) - Optional - A cursor for pagination. ### Request Example GET /checkout-sessions?limit=5 ### Response #### Success Response (200) - **data** (array) - A list of checkout session objects. - **has_more** (boolean) - Indicates if there are more records available. #### Response Example { "data": [ { "id": "cs_12345", "status": "complete" } ], "has_more": false } ``` -------------------------------- ### POST /websites/dotsdev_mintlify_app/flows Source: https://dotsdev.mintlify.app/apireference/flows/create-a-flow Creates a new flow with specified steps and configuration. This endpoint is used to initiate a new workflow for a user. ```APIDOC ## POST /websites/dotsdev_mintlify_app/flows ### Description Creates a new flow with specified steps and configuration. This endpoint is used to initiate a new workflow for a user. ### Method POST ### Endpoint /websites/dotsdev_mintlify_app/flows ### Parameters #### Request Body - **steps** (array) - Required - An array of strings representing the steps in the flow. Possible values: `compliance`, `id-verification`, `background-check`, `manage-payments`, `manage-payouts`, `payout`, `redirect`. - **require_auth** (boolean) - Optional - Require the user to be authenticated to complete the flow. Defaults to `false`. - **metadata** (string or object) - Optional - Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. ### Request Example ```json { "steps": [ "id-verification", "compliance" ], "require_auth": true, "metadata": { "user_id": "user_123", "plan": "premium" } } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the created flow. - **created** (string) - The date and time the flow was created. - **user_id** (string or null) - The ID of the user who claimed the flow, if any. - **steps** (array) - An array of strings representing the steps in the flow. - **completed_steps** (array) - An array of strings representing the steps that have been completed. - **link** (string) - A URL to access the flow, which can be embedded in an iframe. - **metadata** (string or object or null) - Additional key-value pairs associated with the flow. #### Response Example ```json { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "created": "2023-10-27T10:00:00Z", "user_id": null, "steps": [ "id-verification", "compliance" ], "completed_steps": [], "link": "https://example.com/flow/f47ac10b-58cc-4372-a567-0e02b2c3d479", "metadata": { "user_id": "user_123", "plan": "premium" } } ``` ``` -------------------------------- ### GET /v2/payout-requests Source: https://dotsdev.mintlify.app/apireference/payout-requests/list-all-payout-requests Retrieves a paginated list of all payout requests associated with the account. ```APIDOC ## GET /v2/payout-requests ### Description List all payout requests. Supports pagination using cursor-based parameters. ### Method GET ### Endpoint /v2/payout-requests ### Parameters #### Query Parameters - **limit** (integer) - Optional - A limit on the number of objects to be returned, between 1 and 100. - **starting_after** (uuid) - Optional - A cursor for pagination; the object ID that defines your place in the list to fetch the next page. - **ending_before** (uuid) - Optional - A cursor for pagination; the object ID that defines your place in the list to fetch the previous page. ### Request Example GET https://api.dots.dev/api/v2/payout-requests?limit=10 ### Response #### Success Response (200) - **has_more** (boolean) - true if there are more payout-requests. - **data** (array) - Array of payout-request objects. #### Response Example { "has_more": false, "data": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "amount": 1000, "status": "created", "created": "2023-10-27T10:00:00Z" } ] } ``` -------------------------------- ### Create App using Organization Key (cURL) Source: https://dotsdev.mintlify.app/overview/authentication This cURL command demonstrates how to create a new app within your organization using an organization key. It requires the 'Authorization' header with a token and a JSON payload containing the app's name. The response will contain details of the newly created app. ```curl curl --request POST \ --url https://api.dots.dev/api/v2/apps \ --header 'Authorization: Basic ' \ --header 'Content-Type: application/json' \ --data '{ \ "name": "", \ }' ``` -------------------------------- ### List Checkout Sessions via OpenAPI Specification Source: https://dotsdev.mintlify.app/apireference/checkout-sessions/list-all-checkout-sessions Defines the GET endpoint for retrieving checkout sessions. It includes support for pagination via 'limit', 'starting_after', and 'ending_before' query parameters and returns a list of checkout session objects. ```yaml paths: /v2/checkout-sessions: get: tags: - checkout-sessions summary: List all Checkout Sessions description: List all checkout sessions operationId: get-checkout-sessions parameters: - schema: type: string in: query name: limit description: A limit on the number of objects to be returned, between 1 and 100. - schema: type: string in: query name: starting_after description: A cursor for use in pagination. - schema: type: string in: query name: ending_before description: A cursor for use in pagination. responses: '200': description: OK content: application/json: schema: type: object properties: has_more: type: boolean data: type: array items: $ref: '#/components/schemas/checkout-session' ``` -------------------------------- ### GET /v2/organization-transfers Source: https://dotsdev.mintlify.app/apireference/transfers/list-all-organization-transfers Retrieves a paginated list of all transfers to and from an organization's wallet. ```APIDOC ## GET /v2/organization-transfers ### Description List all transfers to and from an Organization's wallet. This endpoint supports pagination using cursors and filtering by specific user IDs. ### Method GET ### Endpoint /v2/organization-transfers ### Parameters #### Query Parameters - **limit** (integer) - Optional - A limit on the number of objects to be returned, between 1 and 100. - **starting_after** (string/uuid) - Optional - A cursor for pagination; the object ID that defines your place in the list to fetch the next page. - **ending_before** (string/uuid) - Optional - A cursor for pagination; the object ID that defines your place in the list to fetch the previous page. - **user_id** (string/uuid) - Optional - Include only results with this user ID attached. ### Request Example GET /v2/organization-transfers?limit=10&user_id=550e8400-e29b-41d4-a716-446655440000 ### Response #### Success Response (200) - **has_more** (boolean) - `true` if there are more transfers available. - **data** (array) - An array of transfer objects. #### Response Example { "has_more": true, "data": [ { "id": "123e4567-e89b-12d3-a456-426614174000", "created": "2023-10-27T10:00:00Z", "user_id": "550e8400-e29b-41d4-a716-446655440000", "status": "completed", "type": "payout", "amount": 100.00 } ] } ``` -------------------------------- ### Create User with Metadata (cURL) Source: https://dotsdev.mintlify.app/references/metadata This example demonstrates how to create a user using the Dots API with the `metadata` parameter. The `metadata` object is included in the JSON payload to store additional information, such as an `internal_id`. Ensure you have the correct authorization header and content type. ```sh curl --request POST \ --url https://api.dots.dev/api/v2/users \ --header 'Authorization: ' \ --header 'Content-Type: application/json' \ --data '{ "first_name": "Bob", "last_name": "Loblaw", "email": "bob@bobloblaw.com", "country_code": "1", "phone_number": "4154332334", "metadata": { "internal_id": "user_121344" } }' ``` -------------------------------- ### GET /v2/transfers/{transfer_id} Source: https://dotsdev.mintlify.app/apireference/transfers/get-a-transfer Retrieve the details of a specific transfer by its unique identifier. ```APIDOC ## GET /v2/transfers/{transfer_id} ### Description Get a transfer by its unique ID. This endpoint returns the full transfer object including status, amount, and associated metadata. ### Method GET ### Endpoint /v2/transfers/{transfer_id} ### Parameters #### Path Parameters - **transfer_id** (string, uuid) - Required - Id of the transfer to fetch ### Response #### Success Response (200) - **id** (string) - The unique identifier of the transfer - **created** (string) - ISO 8601 timestamp of creation - **user_id** (string) - The ID of the associated user - **status** (string) - Current status (created, pending, failed, completed, reversed, canceled, flagged) - **type** (string) - The category of the transfer (refill, payout, balance, payment, settlement, payable) - **amount** (number) - The transfer amount - **metadata** (object) - Custom key-value pairs associated with the transfer #### Response Example { "id": "550e8400-e29b-41d4-a716-446655440000", "status": "completed", "amount": 100.00, "type": "payout" } ``` -------------------------------- ### POST /v2/accounts-payable/payables/upload-from-file Source: https://dotsdev.mintlify.app/apireference/accounts-payable/create-a-payable-from-a-file Create a payable from a file. The contents of the file will be processed and the payable will be created. ```APIDOC ## POST /v2/accounts-payable/payables/upload-from-file ### Description Create a payable from a file. The contents of the file will be processed and the payable will be created. ### Method POST ### Endpoint /v2/accounts-payable/payables/upload-from-file ### Parameters #### Request Body - **acting_user_id** (integer) - Required - The ID of the user performing this action. This will be displayed in the developer dashboard. - **file** (string, format: binary) - Required - PDF file to be uploaded ### Request Example ```json { "acting_user_id": 12345, "file": "" } ``` ### Response #### Success Response (200) - **action_history** (array) - History of actions performed on the payable. - **amount** (number) - Total payable amount in cents. - **funding_source** (string) - The funding source for the payable. - **ap_payment_method_id** (string, format: uuid) - The ID of the accounts payable payment method. - **ap_payment_method_name** (string) - The name of the accounts payable payment method. - **ap_vendor_id** (string, format: uuid) - The ID of the accounts payable vendor. - **ap_vendor_name** (string) - The name of the accounts payable vendor. - **api_app_id** (string, format: uuid) - The ID of the API application. - **approval_steps** (array) - Steps involved in approving the payable. #### Response Example ```json { "action_history": [ { "action": "create", "comment": "Initial creation", "timestamp": "2023-10-27T10:00:00Z", "user_id": 12345, "user_name": "John Doe", "user_role": "ap_creator" } ], "amount": 10000, "funding_source": "dots_balance", "ap_payment_method_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "ap_payment_method_name": "Checking Account", "ap_vendor_id": "f0e9d8c7-b6a5-4321-0987-654321fedcba", "ap_vendor_name": "Example Vendor", "api_app_id": "11223344-5566-7788-9900-aabbccddeeff", "approval_steps": [ { "completed": false, "num_approvals_required": 1, "user_approvals": [] } ] } ``` ``` -------------------------------- ### GET /v2/transactions/{transaction_id} Source: https://dotsdev.mintlify.app/apireference/transactions/retrieve-a-transaction Retrieves the details of a specific transaction by its unique identifier. ```APIDOC ## GET /v2/transactions/{transaction_id} ### Description Get a transaction by its id. ### Method GET ### Endpoint /v2/transactions/{transaction_id} ### Parameters #### Path Parameters - **transaction_id** (string) - Required - Id of the transaction ### Request Example N/A (No request body required) ### Response #### Success Response (200) - **id** (integer) - The transaction ID - **amount** (number) - The transaction amount - **created** (string) - Timestamp of creation - **type** (string) - The general category of the transaction (balance, refill, payout, payment, fee, surrogate) - **metadata** (object) - Key-value pairs attached to the object - **transfer_id** (string) - ID of the transfer the transaction belongs to #### Response Example { "id": 12345, "amount": 100.00, "created": "2023-10-27T10:00:00Z", "type": "payout", "transfer_id": "550e8400-e29b-41d4-a716-446655440000" } ``` -------------------------------- ### GET /v2/transactions Source: https://dotsdev.mintlify.app/apireference/transactions/list-all-transactions Retrieves a list of all transactions. Supports pagination and filtering by transfers. ```APIDOC ## GET /v2/transactions ### Description Retrieves a list of all transactions. Supports pagination and filtering by transfers. ### Method GET ### Endpoint /v2/transactions ### Parameters #### Query Parameters - **limit** (integer) - Optional - A limit on the number of objects to be returned, between 1 and 100. - **starting_after** (string, uuid) - Optional - A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. - **ending_before** (string, uuid) - Optional - A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. - **include_transfer** (boolean) - Optional - Include transfers in the response. ### Request Example ```json { "example": "GET /v2/transactions?limit=10&include_transfer=true" } ``` ### Response #### Success Response (200) - **has_more** (boolean) - `true` if there are more `transactions`. - **data** (array) - Array of `transactions`. - **id** (integer) - **amount** (number) - **created** (string, date-time) - **source_name** (string) - **destination_name** (string) - **type** (string, enum: balance, refill, payout, payment, fee, surrogate) - The general category of the transaction - **metadata** (string or object or null) - Set of key-value pairs that you can attach to an object. - **transfer_id** (string, uuid) - ID of the `transfer` that the transaction belongs to. - **transfer** (object) - The `transfer` that the transaction belongs to. This is only present if `include_transfer` is true. #### Response Example ```json { "example": { "has_more": true, "data": [ { "id": 123, "amount": 100.50, "created": "2023-10-27T10:00:00Z", "source_name": "User A", "destination_name": "Service B", "type": "payment", "metadata": { "order_id": "ORD-12345" }, "transfer_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "transfer": { "id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "created": "2023-10-27T10:05:00Z" } } ] } } ``` ``` -------------------------------- ### List all Apps Source: https://dotsdev.mintlify.app/apireference/apps/list-all-apps Retrieves a list of all apps created by your organization. Supports pagination and filtering. ```APIDOC ## GET /v2/apps ### Description List all apps created by your organization. ### Method GET ### Endpoint /v2/apps ### Parameters #### Query Parameters - **limit** (integer) - Optional - Maximum number of results to retrieve. Minimum: 0, Maximum: 100 - **starting_after** (string) - Optional - ID of first app to retrieve (UUID format). - **ending_before** (string) - Optional - ID of last app to retrieve (UUID format). ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **id** (string) - Unique identifier for the app (UUID format). - **name** (string) - The name of the app. - **status** (string) - App verification status. Enum: `created`, `in_review`, `approved`. - **metrics** (object) - Performance metrics for the app. - **wallet_balance** (string) - Decimal string representing the wallet balance. - **money_out** (string) - Decimal string representing the total money out. - **connected_users** (integer) - The number of connected users (minimum 0). - **metadata** (string or object) - Key-value pairs for additional information. #### Response Example ```json { "example": "[ { "id": "123e4567-e89b-12d3-a456-426614174000", "name": "Example App", "status": "approved", "metrics": { "wallet_balance": "1000.50", "money_out": "500.75", "connected_users": 100 }, "metadata": { "key": "value" } } ]" } ``` ``` -------------------------------- ### Create an App using OpenAPI v2 Source: https://dotsdev.mintlify.app/apireference/apps/create-an-app This snippet defines the OpenAPI 3.1.0 specification for creating a new application within an organization. It details the request body, including required fields like 'name' and optional 'metadata', and outlines the successful response structure. ```yaml openapi: 3.1.0 info: title: dots api version: '1.0' summary: Dots Payout API description: Scalable and Flexible Payouts Infrastructure contact: name: Kartikye Mittal url: https://dots.dev email: info@dots.dev license: name: MIT url: https://opensource.org/license/mit/ servers: - url: https://api.dots.dev/api description: Production security: - api_key: [] tags: - name: accounts-payable description: Accounts Payable Routes - name: apps description: App Routes - name: checkout-sessions description: Checkout Session Routes - name: disputes description: Disputes Routes - name: flows description: Flow routes - name: organizations description: Organization Routes - name: payment-customers description: Payment Customer Routes - name: payment-intents description: Payment Intent Routes - name: payment-methods description: Payment Method Routes - name: payments description: Payment Routes - name: payout-batches description: Payout Batch Routes - name: payout-links description: Payout Link Routes - name: payout-requests description: Payout Request Routes - name: payouts description: Payout Routes - name: refunds description: Refund Routes - name: transactions description: Transaction Routes - name: transfer-batches description: Transfer Batch routes - name: transfers description: Transfer routes - name: users description: User routes paths: /v2/apps: post: tags: - apps summary: Create an App description: Create an app in your organization operationId: create-app requestBody: content: application/json: schema: type: object required: - name properties: name: type: string description: The name of the application. minLength: 3 maxLength: 60 metadata: type: - object - string description: >- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/app' components: schemas: app: type: object properties: id: type: string format: uuid name: type: string status: type: string enum: - created - in_review - approved description: >- App verification status. Some Dots use cases require newly created apps to pass KYB review. metrics: type: object properties: wallet_balance: type: string format: decimal money_out: type: string format: decimal connected_users: type: integer min: 0 required: - wallet_balance - money_out - connected_users metadata: description: >- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. type: - string - object required: - id - name - metrics securitySchemes: api_key: type: http scheme: basic ``` -------------------------------- ### POST /payouts Source: https://dotsdev.mintlify.app/apireference/payout-requests/create-a-payout-request Submit a new payout request for a user to initiate the onboarding and fund distribution process. ```APIDOC ## POST /payouts ### Description Submit a payout request for a person using their phone number or user ID. Upon approval, the system sends a Payout Link to the user to complete onboarding and receive funds. ### Method POST ### Endpoint /payouts ### Parameters #### Request Body - **user_id** (string) - Optional - The unique identifier of the user. - **phone_number** (string) - Optional - The phone number of the user. - **amount** (number) - Required - The amount to be paid out. ### Request Example { "user_id": "user_12345", "phone_number": "+1555010999", "amount": 100.00 } ### Response #### Success Response (200) - **status** (string) - The status of the payout request. - **request_id** (string) - The unique ID for the created payout request. #### Response Example { "status": "pending", "request_id": "req_abc789" } ``` -------------------------------- ### GET /v2/organizations Source: https://dotsdev.mintlify.app/apireference/organizations/retrieve-organization-details Retrieves details about the authenticated organization, including its current balance. ```APIDOC ## GET /v2/organizations ### Description Get details about the authenticated organization, including its current balance. ### Method GET ### Endpoint /v2/organizations ### Parameters #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **id** (string) - The organization's unique identifier. - **balance** (integer) - The organization's current balance in cents. #### Response Example ```json { "id": "string (uuid)", "balance": 0 } ``` ``` -------------------------------- ### GET /v2/checkout-sessions Source: https://dotsdev.mintlify.app/apireference/checkout-sessions/list-all-checkout-sessions Retrieve a paginated list of all checkout sessions created in your account. ```APIDOC ## GET /v2/checkout-sessions ### Description List all checkout sessions associated with your account. Supports pagination using cursors. ### Method GET ### Endpoint /v2/checkout-sessions ### Parameters #### Query Parameters - **limit** (string) - Optional - A limit on the number of objects to be returned, between 1 and 100. - **starting_after** (string) - Optional - A cursor for use in pagination. Defines the starting point for the list. - **ending_before** (string) - Optional - A cursor for use in pagination. Defines the ending point for the list. ### Request Example GET /v2/checkout-sessions?limit=10 ### Response #### Success Response (200) - **has_more** (boolean) - `true` if there are more objects. - **data** (array) - List of checkout session objects. #### Response Example { "has_more": false, "data": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "status": "open", "amount_total": 1000 } ] } ``` -------------------------------- ### POST /api/v2/payout-links Source: https://dotsdev.mintlify.app/guides/payout-links Creates a Payout Link. Requires an App API Key and Client ID for authentication. The `amount` parameter is mandatory. ```APIDOC ## POST /api/v2/payout-links ### Description Creates a Payout Link. Requires an App API Key and Client ID for authentication. The `amount` parameter is mandatory. ### Method POST ### Endpoint /api/v2/payout-links ### Parameters #### Query Parameters - **user_id** (string) - Optional - The user's id. - **payee** (string) - Optional - The payee. - **amount** (integer) - Required - Amount to be paid in cents. - **delivery** (object) - Optional - Delivery information. - **message** (string) - Optional - Message to send in the SMS message that is sent to the payee. - **method** (string) - Optional - Delivery method. Options: `sms`, `link`, `email`, `all`. - **force_collect_compliance_information** (boolean) - Optional - Force the collection of 1099 or W-8 information. - **tax_exempt** (boolean) - Optional - Payout links marked as `tax_exempt` will not be counted towards the 1099 threshold. - **metadata** (object) - Optional - Set of key-value pairs that you can attach to an object. It is useful for storing additional information about the object in a structured format. - **memo** (string) - Optional - Add a memo to the top of the Payout Link. - **idempotency_key** (string) - Optional - Unique UUID key that prevents duplicate requests from being processed. - **payout_fee_party** (string) - Optional - Overrides the setting for which party will pay fees on this payout. - **additional_steps** (array) - Optional - Array of steps in the onboarding process. Options: `compliance`, `id-verification`, `background-check`, `manage-payments`, `manage-payouts`, `payout`, `redirect`. ### Request Example ```json { "amount": 123, "idempotency_key": "3c90c3cc-0d44-4b50-8888-8dd25736052a" } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the payout link. - **url** (string) - The URL for the payout link. - **status** (string) - The current status of the payout link. #### Response Example ```json { "id": "pl_abc123", "url": "https://example.com/payout/pl_abc123", "status": "pending" } ``` ```