### Install Go SDK Source: https://increase.com/documentation/software-development-kits Install the Go SDK using go get. ```shell $ go get 'github.com/increase/increase-go' ``` -------------------------------- ### GET Request Example Source: https://increase.com/documentation/api/loan-purchases Example of making a GET request to the API, demonstrating how to pass parameters in the query string. ```APIDOC ## GET Request Example When making a `GET` request to the API, you should specify parameters in the query string of the URL. Join nested parameters, such as timestamp-based filters, with a `.` – for example, `created_at.before`: ```curl curl \ --url "${INCREASE_URL}/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ``` -------------------------------- ### Install PHP SDK Source: https://increase.com/documentation/software-development-kits Install the PHP SDK using composer. ```shell $ composer require increase/increase ``` -------------------------------- ### Install Python SDK Source: https://increase.com/documentation/software-development-kits Install the Python SDK using pip or uv. ```shell $ pip install increase # or $ uv add increase ``` -------------------------------- ### Install Ruby SDK Source: https://increase.com/documentation/software-development-kits Install the Ruby SDK using gem. ```shell $ gem install increase ``` -------------------------------- ### GET Request Example Source: https://increase.com/documentation/api/proof-of-authorization-request-submissions Example of making a GET request to retrieve transactions, demonstrating how to pass query parameters, including nested filters like `created_at.before` and `created_at.after`. ```APIDOC ## GET Request Example When making a `GET` request to the API, you should specify parameters in the query string of the URL. Join nested parameters, such as timestamp-based filters, with a `.` – for example, `created_at.before`: ```bash curl \ --url "${INCREASE_URL}/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ``` -------------------------------- ### Create Account Example Source: https://increase.com/documentation/api/blockchain-addresses Example of how to create a new account using a POST request. ```APIDOC ## POST /accounts ### Description Creates a new account. ### Method POST ### Endpoint /accounts ### Request Body - **name** (string) - Required - The name of the account. ### Request Example { "example": "{\n \"name\": \"New Account!\"\n }" } ### Response #### Success Response (200) - **id** (string) - The unique identifier for the account. - **name** (string) - The name of the account. - **created_at** (string) - The timestamp when the account was created. #### Response Example { "example": "{\n \"id\": \"acc-1234567890abcdef\",\n \"name\": \"New Account!\",\n \"created_at\": \"2023-01-01T12:00:00Z\"\n}" } ``` -------------------------------- ### GET Request Example Source: https://increase.com/documentation/api/swift-transfer-tracking-updates An example of how to make a GET request to the Increase API, including passing parameters in the query string. ```APIDOC ## GET Request Example For `GET` requests, parameters should be specified in the query string. Nested parameters can be joined with a `.`. **Example:** ```curl curl \ --url "${INCREASE_URL}/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ``` -------------------------------- ### GET Request Example with Query Parameters Source: https://increase.com/documentation/api/bookkeeping-entry-sets Illustrates how to make a GET request to the Increase API, specifying parameters in the query string, including date-based filters. ```APIDOC ## GET /transactions ### Description Retrieves a list of transactions, with options for filtering by date ranges. ### Method GET ### Endpoint /transactions ### Parameters #### Query Parameters - **created_at.before** (string) - Optional - Filter transactions created before this timestamp. - **created_at.after** (string) - Optional - Filter transactions created after this timestamp. ### Request Example { "example": "/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" } ### Response #### Success Response (200) - **data** (array) - An array of transaction objects. - **next_cursor** (string) - A cursor for paginating through results. #### Response Example { "example": "{\n \"data\": [ /* ... */ ],\n \"next_cursor\": \"RWFzdGVyIGVnZw==\"\n}" } ``` -------------------------------- ### Install JavaScript/TypeScript SDK Source: https://increase.com/documentation/software-development-kits Install the TypeScript SDK using npm, pnpm, or bun. ```shell $ npm install increase # or $ pnpm add increase # or $ bun add increase ``` -------------------------------- ### GET Request Example with Query Parameters Source: https://increase.com/documentation/api/overview Example of making a GET request to retrieve transactions, filtering by date range using query parameters. Nested parameters like `created_at.before` are shown. ```APIDOC ## GET /transactions ### Description Retrieves a list of transactions, with options to filter by date range. ### Method GET ### Endpoint /transactions ### Query Parameters - **created_at.before** (string) - Optional - Filter transactions created before this timestamp (ISO 8601 format). - **created_at.after** (string) - Optional - Filter transactions created after this timestamp (ISO 8601 format). ### Request Example ```curl curl \ --url "${INCREASE_URL}/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ``` -------------------------------- ### Idempotency Example Source: https://increase.com/documentation/api This example demonstrates how to make an idempotent request to create a new account by including the `Idempotency-Key` header. ```APIDOC ## POST /accounts ### Description Creates a new account. This endpoint supports idempotency to prevent duplicate operations. ### Method POST ### Endpoint /accounts ### Request Body - **name** (string) - Required - The name of the account. ### Request Example ```curl curl -X "POST" \ --url "${INCREASE_URL}/accounts" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H 'Idempotency-Key: RANDOM_UUID' \ -H 'Content-Type: application/json' \ -d $'{ "name": "New Account!" }' ``` ### Response #### Success Response (201) - **id** (string) - The unique identifier for the created account. - **name** (string) - The name of the account. - **created_at** (string) - The timestamp when the account was created. #### Response Example ```json { "id": "act_1234567890abcdef", "name": "New Account!", "created_at": "2023-10-27T10:00:00Z" } ``` ``` -------------------------------- ### Paginate List Results Example Source: https://increase.com/documentation/api/real-time-payments-request-for-payments Example demonstrating how to paginate through list results using the `cursor` and `next_cursor` parameters. ```APIDOC ## List Object Pagination ### Description List endpoints return a wrapper object with fields `data` and `next_cursor`. To access subsequent pages, submit the returned `next_cursor` as the `cursor` query parameter. When there are no more results, `next_cursor` will be `null`. ### Request Example ```curl curl \ --url "${INCREASE_URL}/transactions?cursor=RWFzdGVyIGVnZw==" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ### Response Example ```json { "data": [ /* ... */ ], "next_cursor": "RWFzdGVyIGVnZw==" } ``` ``` -------------------------------- ### Making GET Requests Source: https://increase.com/documentation/api/bookkeeping-entries Learn how to make GET requests, including how to pass parameters in the query string and format nested parameters. ```APIDOC ## Making GET Requests When making a `GET` request to the API, you should specify parameters in the query string of the URL. Join nested parameters, such as timestamp-based filters, with a `.` – for example, `created_at.before`. ### Request Example ```curl curl \ --url "${INCREASE_URL}/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ``` -------------------------------- ### POST Request Example Source: https://increase.com/documentation/api/loan-purchases Example of making a POST request to the API, including setting the Content-Type and sending a JSON payload. ```APIDOC ## POST Request Example When making a `POST` request to the API, use a `Content-Type` of `application/json` and specify parameters via JSON in the request body. ```curl curl -X "POST" \ --url "${INCREASE_URL}/accounts" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H 'Content-Type: application/json' \ -d $'{ "name": "New Account!" }' ``` ``` -------------------------------- ### Set Up Sandbox and Production API Keys Source: https://increase.com/documentation/api/loan-offers Configure environment variables for your Increase API key and URL. Use the sandbox URL for testing and the production URL for live transactions. ```bash INCREASE_API_KEY="null" INCREASE_URL="https://sandbox.increase.com" ``` ```bash INCREASE_API_KEY="secret_key_1234567890" INCREASE_URL="https://api.increase.com" ``` -------------------------------- ### GET Request Example Source: https://increase.com/documentation/api/limits Example of making a GET request to retrieve transactions, with date filters applied via query parameters. ```APIDOC ## GET /transactions ### Description Retrieves a list of transactions with optional date filtering. ### Method GET ### Endpoint /transactions ### Parameters #### Query Parameters - **created_at.before** (string) - Optional - Filter transactions created before this timestamp. - **created_at.after** (string) - Optional - Filter transactions created after this timestamp. ### Request Example ```curl curl \ --url "${INCREASE_URL}/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ### Response #### Success Response (200) - **data** (array) - An array of transaction objects. - **next_cursor** (string) - A cursor for paginating to the next page of results. #### Response Example ```json { "data": [ /* ... */ ], "next_cursor": "RWFzdGVyIGVnZw==", } ``` ``` -------------------------------- ### GET Request Example with Filters Source: https://increase.com/documentation/api/blockchain-addresses Example of a GET request to retrieve transactions with date filters. Parameters are specified in the query string. ```curl curl \ --url "${INCREASE_URL}/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` -------------------------------- ### Create an Account Source: https://increase.com/documentation/api/bookkeeping-entry-sets This example demonstrates how to create a new account using the API. It includes the necessary Authorization and Idempotency-Key headers for secure and idempotent requests. ```APIDOC ## POST /accounts ### Description Creates a new account. This operation is idempotent when using the `Idempotency-Key` header. ### Method POST ### Endpoint /accounts ### Request Body - **name** (string) - Required - The name of the account. ### Request Example ```json { "name": "New Account!" } ``` ### Headers - **Authorization**: Bearer [YOUR_API_KEY] - **Idempotency-Key**: [RANDOM_UUID] - **Content-Type**: application/json ``` -------------------------------- ### Create Account Example Source: https://increase.com/documentation/api/blockchain-off-ramp-transfers Demonstrates how to create a new account using a POST request with a JSON payload. ```APIDOC ## POST /accounts ### Description Creates a new account. ### Method POST ### Endpoint /accounts ### Request Body - **name** (string) - Required - The name of the account. ### Request Example { "example": "{\n \"name\": \"New Account!\"\n }" } ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example { "example": "response body" } ``` -------------------------------- ### Retrieve Transactions Example Source: https://increase.com/documentation/api/real-time-payments-request-for-payments Example of how to retrieve transactions with date filtering using a GET request. ```APIDOC ## GET /transactions ### Description Retrieves a list of transactions, with options for filtering by date. ### Method GET ### Endpoint /transactions ### Query Parameters - **created_at.before** (string) - Optional - Filter transactions created before this timestamp. - **created_at.after** (string) - Optional - Filter transactions created after this timestamp. ### Response #### Success Response (200) - **data** (array) - An array of transaction objects. - **next_cursor** (string) - A cursor for paginating through results. ### Response Example { "data": [ /* ... */ ], "next_cursor": "RWFzdGVyIGVnZw==" } ### Request Example ```curl curl \ --url "${INCREASE_URL}/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ``` -------------------------------- ### Create an Account Source: https://increase.com/documentation/api This example demonstrates how to create a new account using a POST request. It includes setting the Authorization header and the Content-Type to application/json, with the account name provided in the JSON request body. ```APIDOC ## POST /accounts ### Description Creates a new account. ### Method POST ### Endpoint /accounts ### Request Body - **name** (string) - Required - The name of the account. ### Request Example ```curl curl -X "POST" \ --url "${INCREASE_URL}/accounts" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H 'Content-Type: application/json' \ -d $'{ "name": "New Account!" }' ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the account. - **name** (string) - The name of the account. - **created_at** (string) - The timestamp when the account was created. #### Response Example ```json { "id": "acc_1234567890abcdef", "name": "New Account!", "created_at": "2023-01-01T12:00:00Z" } ``` ``` -------------------------------- ### List Transactions Example Source: https://increase.com/documentation/api/blockchain-addresses Example of how to list transactions with date filters. ```APIDOC ## GET /transactions ### Description Retrieves a list of transactions, with options to filter by date range. ### Method GET ### Endpoint /transactions ### Parameters #### Query Parameters - **created_at.before** (string) - Optional - Filter transactions created before this timestamp. - **created_at.after** (string) - Optional - Filter transactions created after this timestamp. - **cursor** (string) - Optional - Cursor for pagination to retrieve the next page of results. - **limit** (integer) - Optional - The maximum number of objects to return per page (default 100). ### Request Example ```curl curl \ --url "${INCREASE_URL}/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ### Response #### Success Response (200) - **data** (array) - An array of transaction objects. - **next_cursor** (string) - A cursor for fetching the next page of results. Will be null if there are no more results. #### Response Example { "example": "{\n \"data\": [ /* ... */ ],\n \"next_cursor\": \"RWFzdGVyIGVnZw==\"\n}" } ``` -------------------------------- ### Set Up Sandbox Environment Variables Source: https://increase.com/documentation/api Set these environment variables for making requests to the sandbox environment. No real money is involved. ```bash INCREASE_API_KEY="sandbox_key_1234567890" INCREASE_URL="https://sandbox.increase.com" ``` -------------------------------- ### POST Request Example Source: https://increase.com/documentation/api/loan-application-sessions Example of making a POST request to create a new account. It demonstrates setting the Content-Type header and sending JSON data in the request body. ```APIDOC ## POST /accounts ### Description Creates a new account. ### Method POST ### Endpoint /accounts ### Request Body - **name** (string) - Required - The name of the account. ### Request Example ```curl curl -X "POST" \ --url "${INCREASE_URL}/accounts" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H 'Content-Type: application/json' \ -d $'{ "name": "New Account!" }' ``` ``` -------------------------------- ### Webhook Headers Example Source: https://increase.com/documentation/webhooks Example of the headers included in a webhook request for signature verification. ```none webhook-id: event_123abc webhook-timestamp: 1674087231 webhook-signature: v1,g0hM9SsE+OTPJTGt/tmIKtSyZlE3uFJELVlNIOLJ1OE= ``` -------------------------------- ### Create an Entity Onboarding Session Source: https://increase.com/documentation/hosted-onboarding Initiate the hosted onboarding flow by creating an Entity Onboarding Session. This requires a redirect URL and a program ID to configure compliance rules. ```APIDOC ## POST /entity_onboarding_sessions ### Description Creates an Entity Onboarding Session to initiate the hosted onboarding flow. ### Method POST ### Endpoint https://api.increase.com/entity_onboarding_sessions ### Parameters #### Request Body - **redirect_url** (string) - Required - The URL to redirect the customer to after completing the onboarding. - **program_id** (string) - Required - The ID of the program to configure compliance rules. ### Request Example ```json { "redirect_url": "https://example.com/onboarding/completed", "program_id": "program_abc123def" } ``` ### Response #### Success Response (200) - **id** (string) - The ID of the created Entity Onboarding Session. - **type** (string) - The type of the object, always "entity_onboarding_session". - **status** (string) - The current status of the session (e.g., "active"). - **session_url** (string) - The URL to redirect the customer to for onboarding. - **redirect_url** (string) - The URL that the customer will be redirected to after completion. - **expires_at** (string) - The date and time when the session will expire. - **created_at** (string) - The date and time when the session was created. - **program_id** (string) - The ID of the program associated with this session. #### Response Example ```json { "id": "entity_onboarding_session_0011", "type": "entity_onboarding_session", "status": "active", "session_url": "https://onboarding.increase.com/sessions?id=kzd5dfkzd5dfkzd5dfkzd5df", "redirect_url": "https://example.com/onboarding/completed", "expires_at": "2024-01-01T06:00:00Z", "created_at": "2024-01-01T00:00:00Z", "program_id": "program_abc123def" } ``` ``` -------------------------------- ### Sandbox: Submit an Entity Onboarding Session Source: https://increase.com/documentation/api/entity-onboarding-sessions Simulates the submission of an active entity onboarding session, creating a new Entity. ```APIDOC ## POST /simulations/entity_onboarding_sessions/{entity_onboarding_session_id}/submit ### Description Simulates the submission of an [Entity Onboarding Session](#entity-onboarding-sessions). This session must have a `status` of `active`. After submission, the session will transition to `expired` and a new Entity will be created. ### Method POST ### Endpoint /simulations/entity_onboarding_sessions/{entity_onboarding_session_id}/submit ### Parameters #### Path Parameters - **entity_onboarding_session_id** (string) - Required - The identifier of the Entity Onboarding Session you wish to submit. ### Request Example ```curl curl -X "POST" \ --url "${INCREASE_URL}/simulations/entity_onboarding_sessions/entity_onboarding_session_wid2ug11fsmvh3k9hymd/submit" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ### Response #### Success Response (200) - **entity_id** (string) - The identifier of the newly created Entity. - **entity_onboarding_session_id** (string) - The identifier of the now expired Entity Onboarding Session. ``` -------------------------------- ### Proof of Authorization Request Object Example Source: https://increase.com/documentation/private-api/proof-of-authorization-requests This is an example of the Proof of Authorization Request object structure. ```json { "ach_transfers": [ { "id": "ach_transfer_uoxatyh3lt5evrsdvo7q" } ], "created_at": "2020-01-31T23:59:59Z", "due_on": "2020-01-31T23:59:59Z", "id": "proof_of_authorization_request_iwp8no25h3rjvil6ad3b", "type": "proof_of_authorization_request", "updated_at": "2020-01-31T23:59:59Z" } ``` -------------------------------- ### Create a Program Source: https://increase.com/documentation/api Creates a program in the sandbox. ```APIDOC ## POST /sandbox/programs ### Description Creates a program in the sandbox. ### Method POST ### Endpoint /sandbox/programs ``` -------------------------------- ### Loan Purchase Object Example Source: https://increase.com/documentation/private-api/loan-purchases This is an example of the Loan Purchase object structure returned by the API. ```json { "amount": 100, "created_at": "2020-01-31T23:59:59Z", "id": "loan_purchase_998w3thud40bt7uxop2s", "idempotency_key": null, "loan_account_id": "account_in71c4amph0vgo2qllky", "source_account_id": "account_in71c4amph0vgo2qllky", "transaction_id": "transaction_uyrp7fld2ium70oa7oi", "type": "loan_purchase" } ``` -------------------------------- ### List Pagination Example Source: https://increase.com/documentation/api/limits Demonstrates how to paginate through list endpoints using the `cursor` and `next_cursor` parameters. ```APIDOC ## List Pagination ### Description List endpoints return a wrapper object with `data` and `next_cursor` fields. Use `next_cursor` to fetch subsequent pages of results. ### Parameters #### Query Parameters - **cursor** (string) - Optional - The cursor to retrieve the next page of results. - **limit** (integer) - Optional - The maximum number of objects to return per page (default 100). ### Request Example (Fetching next page) ```curl curl \ --url "${INCREASE_URL}/transactions?cursor=RWFzdGVyIGVnZw==" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ### Response Example (List response) ```json { "data": [ /* ... */ ], "next_cursor": "RWFzdGVyIGVnZw==", } ``` ``` -------------------------------- ### Loan Distribution Object Example Source: https://increase.com/documentation/private-api/loan-distributions This is an example of the Loan Distribution object structure, showing its attributes. ```json { "amount": 100, "created_at": "2020-01-31T23:59:59Z", "destination_account_id": "account_in71c4amph0vgo2qllky", "id": "loan_distribution_h7z0rzz6ytwk285yg312", "loan_account_id": "account_in71c4amph0vgo2qllky", "transaction_id": "transaction_uyrp7fld2ium70oa7oi", "type": "loan_distribution" } ``` -------------------------------- ### Add C#/.NET SDK (CLI) Source: https://increase.com/documentation/software-development-kits Add the C# SDK using the .NET CLI. ```shell $ dotnet add package Increase.Api ``` -------------------------------- ### List Transactions with Cursor Example Source: https://increase.com/documentation/api/blockchain-addresses Example of how to retrieve the next page of transactions using a cursor. ```APIDOC ## GET /transactions (with cursor) ### Description Retrieves the next page of transactions using the `cursor` parameter. ### Method GET ### Endpoint /transactions ### Parameters #### Query Parameters - **cursor** (string) - Required - The cursor obtained from the `next_cursor` field of a previous response. - **limit** (integer) - Optional - The maximum number of objects to return per page (default 100). ### Request Example ```curl curl \ --url "${INCREASE_URL}/transactions?cursor=RWFzdGVyIGVnZw==" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" ``` ### Response #### Success Response (200) - **data** (array) - An array of transaction objects. - **next_cursor** (string) - A cursor for fetching the next page of results. Will be null if there are no more results. #### Response Example { "example": "{\n \"data\": [ /* ... */ ],\n \"next_cursor\": \"another_cursor_value\"\n}" } ``` -------------------------------- ### Proof of Authorization Request List Object Example Source: https://increase.com/documentation/private-api/proof-of-authorization-requests This is an example of the list response for Proof of Authorization Requests. ```json { "data": [ { "ach_transfers": [ { "id": "ach_transfer_uoxatyh3lt5evrsdvo7q" } ], "created_at": "2020-01-31T23:59:59Z", "due_on": "2020-01-31T23:59:59Z", "id": "proof_of_authorization_request_iwp8no25h3rjvil6ad3b", "type": "proof_of_authorization_request", "updated_at": "2020-01-31T23:59:59Z" } ], "next_cursor": "v57w5d" } ``` -------------------------------- ### Add C#/.NET SDK (.csproj) Source: https://increase.com/documentation/software-development-kits Add the C# SDK as a PackageReference in your .csproj file. ```xml ```