Everything you need to integrate with the SynergyFlow Pro API using OAuth2.
All API requests should be made to:
SynergyFlow Pro uses OAuth 2.0 Authorization Code flow to authenticate API requests. All API endpoints require a valid Bearer token.
Before you can authenticate users, you need an OAuth client. Log in to create one from your dashboard.
You'll receive a client_id and
client_secret.
Keep the secret safe—treat it like a password.
Make a server-side POST request to exchange the authorization code for an access token.
| Parameter | Value |
|---|---|
| grant_type | authorization_code |
| client_id | Your client ID |
| client_secret | Your client secret |
| redirect_uri | Same redirect URI used in step 2 |
| code | The authorization code from step 2 |
Access tokens expire after 15 days. Store the refresh token securely to obtain new access tokens.
When an access token expires, use the refresh token to get a new one without requiring the user to re-authorize.
| Parameter | Value |
|---|---|
| grant_type | refresh_token |
| client_id | Your client ID |
| client_secret | Your client secret |
| refresh_token | The refresh token from the previous token response |
Refresh tokens expire after 30 days. After that, the user must re-authorize your application.
Include the access token in the Authorization header of every API request:
Scopes let you specify exactly what type of access your application needs. Request only the scopes you need.
| Scope | Description | Default |
|---|---|---|
| user:read | Read profile information (name, email) | Yes |
If no scope is specified during authorization, user:read is granted by default.
/api/user
Returns the authenticated user's profile information. Requires a valid access token with the user:read scope.
| Authorization | Bearer YOUR_ACCESS_TOKEN |
| Accept | application/json |
| Field | Type | Description |
|---|---|---|
| id | integer | Unique user identifier |
| name | string | User's display name |
| string | User's email address | |
| email_verified_at | string|null | ISO 8601 timestamp of email verification, or null |
| created_at | string | ISO 8601 timestamp of account creation |
| updated_at | string | ISO 8601 timestamp of last profile update |
The API returns standard HTTP status codes. Errors include a JSON body with details.
| Status | Meaning |
|---|---|
| 200 | Success |
| 401 | Unauthorized — missing or invalid access token |
| 403 | Forbidden — token lacks required scope |
| 404 | Not Found — endpoint does not exist |
| 429 | Too Many Requests — rate limit exceeded |
| 500 | Internal Server Error |
API requests are rate limited to protect service stability. The default limit is 60 requests per minute per access token. Rate limit information is included in response headers:
| Header | Description |
|---|---|
| X-RateLimit-Limit | Maximum requests allowed per window |
| X-RateLimit-Remaining | Requests remaining in current window |
| Retry-After | Seconds to wait before retrying (only on 429 responses) |