Latest Poppulo platform GraphQL API
Poppulo APIs use OAuth 2.0 Client Credentials for authentication. To access an API, create an API key in Integrations Manager, assign the appropriate API roles, and use the generated client credentials to obtain an access token.
API access is controlled through API roles assigned to an API key. Depending on the API, roles may be assigned at both the enterprise and sub-account level.
To create an API client, you must:
Example
These details are for administrative clarity only and do not affect behaviour.
Assign the required API roles.
Enterprise Permissions example
Sub-Account permissions example
Review your configuration and create the API key.
Securely store the generated Client ID and Client Secret.
Important: The Client Secret is displayed only once when the API key is created. Store it securely. If you lose the Client Secret, you must generate a new one. Generating a new Client Secret immediately invalidates the previous secret. If the API key is already being used by an application, you'll need to update that application with the new secret before it can continue requesting access tokens.
API roles determine which APIs an integration can access. Roles are assigned at two levels:
Many integrations require roles at both levels.
| Role | Description |
|---|---|
| Enterprise API Account Access | Allows the integration to retrieve enterprise account information and discover available sub-accounts for supported APIs. |
| Enterprise API People | Allows access to People APIs at the enterprise level. |
| Enterprise API Reporting | Allows access to Reporting APIs for the enterprise. |
| Enterprise API User Management | Allows access to User Management APIs for the enterprise. |
| Role | Description |
|---|---|
| API Browser | Read-only access to supported APIs. |
| API Content | Allows access to Content APIs for the selected sub-account. |
| API People | Allows access to People APIs for the selected sub-account. |
Some sub-account roles depend on enterprise roles.
The API Content role requires the Enterprise API Account Access role. This enterprise role enables your integration to retrieve enterprise account information, discover available sub-accounts, and identify the target account used by supported APIs.
Without this enterprise role, requests that require account discovery or sub-account selection cannot be completed successfully.
| API | Required role(s) |
|---|---|
| Content API | Enterprise API Account Access + API Content |
| People API (Enterprise) | Enterprise API People |
| Reporting API | Enterprise API Reporting |
| User Management API | Enterprise API User Management |
Use the OAuth 2.0 Client Credentials flow with your Client ID and Client Secret to obtain an access token from the token endpoint.
Token URL
Poppulo provides two geo-specific OAuth endpoints to obtain a valid Access Token. One is for US-hosted customers and the other for EU-hosted customers. Integrations should use the endpoint that corresponds to the region where the Poppulo account is hosted. If you’re unsure which region your account is hosted in, check the URL in your browser when you’re signed in to Poppulo. For example, a URL beginning with admin.eu.poppulo-app.com indicates an EU-hosted account. Alternatively, contact your Poppulo Account Manager for assistance.
Example request
POST /oauth/v2/oauth-token
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
scope=poppulo
client_id=YOUR_CLIENT_ID
client_secret=YOUR_CLIENT_SECRETExample response
{
"access_token": "eyJ...",
"token_type": "Bearer",
"expires_in": 3600
} Authorization: Bearer ACCESS_TOKEN Verify that the API key has the required roles, that they are assigned at the correct level (enterprise or sub-account), and that any required enterprise role dependencies have been assigned.
Check that the access token has not expired, the Client ID and Client Secret are valid, and the Bearer token is included in the Authorization header.