Signal AI · OAuth Scopes
Signal AI OAuth Scopes
OAuth 2.0
searched
Signal AI publishes 7 OAuth 2.0 scopes via the clientCredentials flow. Scopes are the fine-grained permissions an application requests at authorization time to act against the Signal AI API on a user’s behalf.
Tokens are issued from https://api.signal-ai.com/auth/token.
This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.
CompanyMedia IntelligenceReputation ManagementRisk IntelligenceNewsContent SearchKnowledge GraphESGArtificial IntelligenceAnalytics
Scopes: 7
Flows: clientCredentials
Method: searched
OAuth endpoints
Token URL
https://api.signal-ai.com/auth/token
https://api.signal-ai.com/auth/token
Flows
clientCredentials
clientCredentials
Scopes (7)
| Scope | Description | Flows |
|---|---|---|
| affinity | Access to concept affinity endpoints | clientCredentials |
| default | Access to discovery endpoints | clientCredentials |
| events | Access to events endpoint | clientCredentials |
| manage-organisation | Access to organisation administration endpoints | clientCredentials |
| metrics | Access to content metrics endpoint | clientCredentials |
| risk-events | Access to risk events | clientCredentials |
| search | Access to content search endpoint | clientCredentials |
📄 Provider scope reference: https://api.signal-ai.com/docs
Source
OAuth Scopes
generated: '2026-08-13'
method: searched
docs: https://api.signal-ai.com/docs
source: https://api.signal-ai.com/openapi.json (live, fetched 2026-08-13, HTTP 200) + openapi/signal-ai-affinity-api-openapi.yml, openapi/signal-ai-categories-api-openapi.yml,
openapi/signal-ai-content-metrics-api-openapi.yml, openapi/signal-ai-content-search-api-openapi.yml,
openapi/signal-ai-entities-api-openapi.yml, openapi/signal-ai-events-api-openapi.yml, openapi/signal-ai-openapi-json-api-openapi.yml,
openapi/signal-ai-organisation-api-openapi.yml, openapi/signal-ai-publication-sources-api-openapi.yml,
openapi/signal-ai-risk-events-api-openapi.yml, openapi/signal-ai-topics-api-openapi.yml
schemes:
- name: OAuth2
source: openapi/signal-ai-affinity-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
- name: OAuth2
source: openapi/signal-ai-categories-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
- name: OAuth2
source: openapi/signal-ai-content-metrics-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
- name: OAuth2
source: openapi/signal-ai-content-search-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
- name: OAuth2
source: openapi/signal-ai-entities-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
- name: OAuth2
source: openapi/signal-ai-events-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
- name: OAuth2
source: openapi/signal-ai-openapi-json-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
- name: OAuth2
source: openapi/signal-ai-organisation-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
- name: OAuth2
source: openapi/signal-ai-publication-sources-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
- name: OAuth2
source: openapi/signal-ai-risk-events-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
- name: OAuth2
source: openapi/signal-ai-topics-api-openapi.yml
flows:
- flow: clientCredentials
tokenUrl: https://api.signal-ai.com/auth/token
description: |-
To obtain the Bearer Token using the Client ID / Secret pair provided to you:
```bash
curl -X POST \
-d 'grant_type=client_credentials' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
https://api.signal-ai.com/auth/token
```
This will return the following JSON response:
```json
{
"access_token": "eyJhbGciOi…",
"expires_in": 86400,
…
}
```
You must send the `access_token` from this response in the Authorization header when making requests to other API endpoints:
```bash
curl -H "Authorization: Bearer eyJhbGciOi…" \
https://api.signal-ai.com/…
```
Access tokens will expire 24 hours from the time they were issued.
scopes:
- scope: affinity
description: Access to concept affinity endpoints
flows:
- clientCredentials
sources:
- openapi/signal-ai-affinity-api-openapi.yml
- openapi/signal-ai-categories-api-openapi.yml
- openapi/signal-ai-content-metrics-api-openapi.yml
- openapi/signal-ai-content-search-api-openapi.yml
- openapi/signal-ai-entities-api-openapi.yml
- openapi/signal-ai-events-api-openapi.yml
- openapi/signal-ai-openapi-json-api-openapi.yml
- openapi/signal-ai-organisation-api-openapi.yml
- openapi/signal-ai-publication-sources-api-openapi.yml
- openapi/signal-ai-risk-events-api-openapi.yml
- openapi/signal-ai-topics-api-openapi.yml
- scope: default
description: Access to discovery endpoints
flows:
- clientCredentials
sources:
- openapi/signal-ai-affinity-api-openapi.yml
- openapi/signal-ai-categories-api-openapi.yml
- openapi/signal-ai-content-metrics-api-openapi.yml
- openapi/signal-ai-content-search-api-openapi.yml
- openapi/signal-ai-entities-api-openapi.yml
- openapi/signal-ai-events-api-openapi.yml
- openapi/signal-ai-openapi-json-api-openapi.yml
- openapi/signal-ai-organisation-api-openapi.yml
- openapi/signal-ai-publication-sources-api-openapi.yml
- openapi/signal-ai-risk-events-api-openapi.yml
- openapi/signal-ai-topics-api-openapi.yml
- scope: events
description: Access to events endpoint
flows:
- clientCredentials
sources:
- openapi/signal-ai-affinity-api-openapi.yml
- openapi/signal-ai-categories-api-openapi.yml
- openapi/signal-ai-content-metrics-api-openapi.yml
- openapi/signal-ai-content-search-api-openapi.yml
- openapi/signal-ai-entities-api-openapi.yml
- openapi/signal-ai-events-api-openapi.yml
- openapi/signal-ai-openapi-json-api-openapi.yml
- openapi/signal-ai-organisation-api-openapi.yml
- openapi/signal-ai-publication-sources-api-openapi.yml
- openapi/signal-ai-risk-events-api-openapi.yml
- openapi/signal-ai-topics-api-openapi.yml
- scope: manage-organisation
description: Access to organisation administration endpoints
flows:
- clientCredentials
sources:
- openapi/signal-ai-organisation-api-openapi.yml
- scope: metrics
description: Access to content metrics endpoint
flows:
- clientCredentials
sources:
- openapi/signal-ai-affinity-api-openapi.yml
- openapi/signal-ai-categories-api-openapi.yml
- openapi/signal-ai-content-metrics-api-openapi.yml
- openapi/signal-ai-content-search-api-openapi.yml
- openapi/signal-ai-entities-api-openapi.yml
- openapi/signal-ai-events-api-openapi.yml
- openapi/signal-ai-openapi-json-api-openapi.yml
- openapi/signal-ai-organisation-api-openapi.yml
- openapi/signal-ai-publication-sources-api-openapi.yml
- openapi/signal-ai-risk-events-api-openapi.yml
- openapi/signal-ai-topics-api-openapi.yml
- scope: risk-events
description: Access to risk events
flows:
- clientCredentials
sources:
- openapi/signal-ai-affinity-api-openapi.yml
- openapi/signal-ai-categories-api-openapi.yml
- openapi/signal-ai-content-metrics-api-openapi.yml
- openapi/signal-ai-content-search-api-openapi.yml
- openapi/signal-ai-entities-api-openapi.yml
- openapi/signal-ai-events-api-openapi.yml
- openapi/signal-ai-openapi-json-api-openapi.yml
- openapi/signal-ai-organisation-api-openapi.yml
- openapi/signal-ai-publication-sources-api-openapi.yml
- openapi/signal-ai-risk-events-api-openapi.yml
- openapi/signal-ai-topics-api-openapi.yml
- scope: search
description: Access to content search endpoint
flows:
- clientCredentials
sources:
- openapi/signal-ai-affinity-api-openapi.yml
- openapi/signal-ai-categories-api-openapi.yml
- openapi/signal-ai-content-metrics-api-openapi.yml
- openapi/signal-ai-content-search-api-openapi.yml
- openapi/signal-ai-entities-api-openapi.yml
- openapi/signal-ai-events-api-openapi.yml
- openapi/signal-ai-openapi-json-api-openapi.yml
- openapi/signal-ai-organisation-api-openapi.yml
- openapi/signal-ai-publication-sources-api-openapi.yml
- openapi/signal-ai-risk-events-api-openapi.yml
- openapi/signal-ai-topics-api-openapi.yml
enrichment:
generated: '2026-08-13'
method: searched
docs: https://api.signal-ai.com/docs
notes: >-
Signal AI publishes no standalone scopes or permissions reference page. The
authoritative list is the OpenAPI securityScheme itself, which the API serves
unauthenticated at https://api.signal-ai.com/openapi.json; the reference at
https://api.signal-ai.com/docs renders those same six API scopes inline via a
ReDoc security-definitions injection. `manage-organisation` is NEW in the live
spec since this repository last harvested it and is described as "granted to
organisation administrators".
scope_count: 7
additional_scopes:
- scope: openid
description: Standard OIDC scope on the Keycloak realm `signal`.
issuer: https://login.signal-ai.com/auth/realms/signal
surface: mcp
source: https://mcp.signal-ai.com/.well-known/oauth-protected-resource
- scope: mcp:tools
description: >-
Grants access to the tools exposed by Signal AI's hosted MCP server at
https://mcp.signal-ai.com. Declared in scopes_supported of the RFC 9728
protected-resource metadata; not present in the REST OpenAPI.
surface: mcp
source: https://mcp.signal-ai.com/.well-known/oauth-protected-resource
- scope: offline_access
description: Standard OIDC refresh-token scope advertised on the MCP resource.
surface: mcp
source: https://mcp.signal-ai.com/.well-known/oauth-protected-resource
authorization_server: https://login.signal-ai.com/auth/realms/signal