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.
This guide covers the complete end-to-end flow: registering the app, authorizing a user, and retrieving workspace contacts.
Prerequisites
- A Vendaze account with at least one active workspace (create one free if you don’t have one, 14-day trial included)
curl available in your terminal
1. Register the app
curl -X POST https://api.vendaze.com/v1/auth/register-app \
-H "Content-Type: application/json" \
-d '{
"app_name": "My Test Integration",
"email": "dev@yourapp.com",
"redirect_uris": ["https://yourapp.com/oauth/callback"],
"scopes": ["people:read", "companies:read", "deals:read"]
}'
Check your inbox. You will receive your client_id and client_secret.
2. Build the authorization URL
Generate the code_verifier and code_challenge:
CODE_VERIFIER=$(openssl rand -base64 32 | tr -d '=' | tr '+/' '-_')
CODE_CHALLENGE=$(echo -n "$CODE_VERIFIER" | openssl dgst -sha256 -binary | openssl base64 | tr -d '=' | tr '+/' '-_')
echo "code_verifier: $CODE_VERIFIER"
echo "code_challenge: $CODE_CHALLENGE"
Build the authorization URL and open it in your browser:
https://api.vendaze.com/oauth/authorize
?client_id=YOUR_CLIENT_ID
&redirect_uri=https://yourapp.com/oauth/callback
&response_type=code
&scope=people:read companies:read deals:read
&state=random-csrf-token-123
&code_challenge=YOUR_CODE_CHALLENGE
&code_challenge_method=S256
3. Authorize and get the code
You will be redirected to Vendaze, where you:
- Log in with your Vendaze account
- Select a workspace to connect
- Review the requested scopes
- Click “Authorize”
After authorizing, the browser redirects to:
https://yourapp.com/oauth/callback?code=AUTH_CODE_HERE&state=random-csrf-token-123
Copy the code value from the URL.
4. Exchange the code for tokens
curl -X POST https://api.vendaze.com/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "authorization_code",
"code": "AUTH_CODE_HERE",
"redirect_uri": "https://yourapp.com/oauth/callback",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"code_verifier": "YOUR_CODE_VERIFIER"
}'
Response:
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"workspace_slug": "acme-corp"
}
curl https://api.vendaze.com/v1/people \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Response:
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"full_name": "Ana Costa",
"emails": [{ "email": "ana@company.com", "reminder": "work" }],
"phones": [{ "phone": "+5511999990001", "reminder": "mobile" }],
"company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"position": "Head of Sales",
"ranking": 4.5,
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-05-20T14:22:00Z"
}
],
"meta": {
"total": 42,
"page": 1,
"per_page": 50,
"has_more": false
}
}
What to explore next
Pagination
Handle large result sets with page and per_page.
Filtering
Filter people, companies, and deals.
Errors
Understand error codes and how to handle them.
API Reference
Full reference for all endpoints.