The Vendaze API uses OAuth 2.1 Authorization Code flow with PKCE (Proof Key for Code Exchange). This is the same standard used by HubSpot and Pipedrive for third-party integrations.Documentation Index
Fetch the complete documentation index at: https://developers.vendaze.com/llms.txt
Use this file to discover all available pages before exploring further.
Register your app first
You need a
client_id and client_secret before continuing.How it works
Step 1 - Generate PKCE values
PKCE prevents authorization code interception attacks. Generate these on your server before redirecting:code_verifier server-side. You will need it in Step 5.
Step 2 - Redirect the user
Build the authorization URL and redirect the user’s browser to it:| Parameter | Required | Description |
|---|---|---|
client_id | Yes | Your app’s client ID. |
redirect_uri | Yes | Must exactly match a registered URI. |
response_type | Yes | Must be code. |
scope | Yes | Space-separated scopes. |
state | Yes | Random string you generate. Returned unchanged. Used to prevent CSRF. |
code_challenge | Yes | BASE64URL(SHA256(code_verifier)) |
code_challenge_method | Yes | Must be S256. |
Step 3 - User authorizes
The user is redirected to Vendaze, where they:- Log in (if not already logged in)
- Select which workspace to connect to your app
- Review and approve the requested scopes
- Click “Authorize”
Step 4 - Handle the callback
After approval, the user is redirected to yourredirect_uri:
state matches, then proceed to exchange the code. If the user denies authorization:
Step 5 - Exchange code for tokens
| Field | Description |
|---|---|
access_token | Use this in every API request. Expires in 1 hour. |
refresh_token | Use this to get a new access token. Valid for 60 days if used regularly. |
token_type | Always Bearer. |
expires_in | Seconds until the access token expires. |
workspace_slug | Slug of the workspace the user authorized. Use this to identify the connected account in your app. |
Step 6 - Make API calls
Include theaccess_token in every request as a Bearer token:
Step 7 - Refresh the access token
Access tokens expire after 1 hour. Refresh them using the refresh token:Refresh tokens expire if unused for 60 days. Each time you use a refresh token, the 60-day window
resets. If a refresh token expires, the user must go through the full authorization flow again.
Revoking access
To disconnect a workspace from your app:200 regardless of whether the token was already revoked or expired (idempotent).
Make your first request
Use your access token to make a real API call.