Skip to main content

Getting Started

1. Create a Gladys account

There's no separate "developer signup" — an OAuth application is registered by a regular Gladys user, from their own session. If you don't have an account yet, sign up first.

2. Create (or join) a business

Payment-related scopes require an application to be tied to a business, and you must be a member of that business to register an application for it — any role (owner, admin, HR, viewer) can do this, not just the owner.

If you don't need payment scopes — say, you only need profile:read — you can skip this step and register an application with no business at all.

3. Register an application

Call POST /oauth/clients with your Gladys session. At minimum:

{
"name": "My Integration",
"grant_types": ["client_credentials"],
"scopes": ["payments:create", "payments:read", "payments:capture"],
"is_confidential": true,
"business_id": "<your business id>"
}

New applications default to the TEST environment — there's no verification gate, so you can start integrating immediately. See Environments for what changes when you're ready to go live.

The response includes your client_id and a client_secret_previewthis is the only time the plaintext secret is shown. Store it somewhere safe; if you lose it, rotate it with POST /oauth/clients/:id/regenerate-secret rather than trying to recover the original.

4. Get a token

For server-to-server calls (the common case for creating and managing payments), use the client_credentials grant:

curl -X POST https://dev.gladys.the-all.io/api/v1/oauth/token \
-d grant_type=client_credentials \
-d client_id=<your client id> \
-d client_secret=<your client secret> \
-d scope=payments:create

You'll get back an access token you can use immediately. See Authentication for the full picture, including the user-facing authorization flow for scopes like wallet:read or profile:read that need a specific user's consent.

5. Try it

Open the API Reference, paste your access token into the Authorization field on any Payments operation, and fire a real request against the sandbox.