Openpay
    Openpay
    • Getting started
    • Authorization
      • Consent screen
        GET
      • Get an access token
        POST
      • Refresh access token
        POST
    • Accounts
      • List all accounts for user
        GET
      • Get account details
        GET
      • Create an account
        POST
      • Get spending summary
        GET
    • Members
      • List members for an account
        GET
      • Get member details
        GET
      • Add a member to an account
        POST
      • Adjust the balance for a member
        PUT
      • Payment link
        GET
    • Top-ups
      • Create a new top-up for an account
        POST
      • List all top-ups for an account
        GET
      • Get top-up details
        GET
    • Statements
      • List statements for an account
        GET
    • Schemas
      • Account
      • Member
      • Top-up
      • Statement

    Getting started

    Credentials
    You need to obtain an Application ID and Secret Key from Openpay before you can access the API. Please fill out this form to get access: https://app.youform.com/forms/hpweiv81
    Authorization is implemented using OAuth 2.0.
    Requests must be authorized using http header:

    Getting consent from a user#

    First, redirect your user to Openpay's consent screen to let them grant API access:
    When the user grants access they will be redirected to your redirect_url with a grant token accessible in a code parameter.
    Next, request an access token using the grant token obtained from the redirect:
    Response:
    {
      "access_token": ACCESS_TOKEN,
      "token_type": "Bearer",
      "expires_in": 7200,
      "refresh_token": REFRESH_TOKEN,
      "scope": "offline_access"
    }

    Make an authorized API request#

    You can now make API requests on behalf of the user with the access token:
    Response:
    {
    	"accounts": [
    		...
    	]
    }

    Refreshing the access token#

    The access token will expire after 2 hours and you must request a new token using the refresh token:
    Response:
    {
      "access_token": ACCESS_TOKEN,
      "token_type": "Bearer",
      "expires_in": 7200,
      "refresh_token": REFRESH_TOKEN,
      "scope": "offline_access"
    }
    Modified at 2025-08-12 10:40:21
    Next
    Consent screen
    Built with