GET /api/v1/playbooks
Returns the list of available playbooks: the combinations of conduct_type and language that the analysis endpoint accepts as valid values.
Authentication
Requires an API key with the playbooks:list scope.
Authorization: Bearer vario_YOUR_API_KEY
Parameters
This endpoint does not accept a body or query parameters.
Response
HTTP 200 — success
{
"playbooks": [PlaybookEntry]
}
Response structure
| Field | Type | Description |
|---|---|---|
playbooks | array | List of PlaybookEntry objects. May grow in future versions. |
PlaybookEntry
| Field | Type | Description |
|---|---|---|
conduct_type | string | Conduct identifier. Use this value in the playbook field of POST /analyze. |
languages | array[string] | ISO 639-1 codes of the languages supported for this playbook. |
description | string | Brief description of the conduct. |
version | string | Playbook version. |
Available conducts
conduct_type | Conduct | Languages |
|---|---|---|
price_fixing | Price fixing | es, en |
bid_rigging | Bid rigging | es, en |
bribery | Bribery and anti-corruption | es, en |
market_manipulation | Market abuse | es, en |
information_exchange | Commercially sensitive information exchange | es, en |
group_boycott | Group boycott | es, en |
conflict_of_interest | Undisclosed conflicts of interest and self-dealing | es, en |
insider_trading | Insider trading and tipping | es, en |
internal_fraud | Internal fraud, embezzlement and expense fraud | es, en |
When to call this endpoint
- When initializing the integration: obtain valid
conduct_typevalues before constructing any request toPOST /analyze. Sending an unrecognizedplaybookvalue returns400 INVALID_PLAYBOOK. - To detect new playbooks: vario will incorporate new conducts in future versions. Call this endpoint dynamically rather than hardcoding the values, so your integration supports them automatically.
Complete example
Request:
curl https://api.vario.lat/v1/playbooks \
-H "Authorization: Bearer vario_YOUR_API_KEY"
Response:
{
"playbooks": [
{
"conduct_type": "price_fixing",
"languages": ["es", "en"],
"description": "Price coordination between competitors",
"version": "1.0"
},
{
"conduct_type": "bid_rigging",
"languages": ["es", "en"],
"description": "Bid manipulation and procurement fraud",
"version": "1.0"
},
{
"conduct_type": "bribery",
"languages": ["es", "en"],
"description": "Bribery and anti-corruption violations",
"version": "1.0"
},
{
"conduct_type": "market_manipulation",
"languages": ["es", "en"],
"description": "Market abuse",
"version": "1.0"
},
{
"conduct_type": "information_exchange",
"languages": ["es", "en"],
"description": "Commercially sensitive information exchange between competitors",
"version": "1.0"
},
{
"conduct_type": "group_boycott",
"languages": ["es", "en"],
"description": "Group boycott and concerted exclusion practices",
"version": "1.0"
},
{
"conduct_type": "conflict_of_interest",
"languages": ["es", "en"],
"description": "Undisclosed conflicts of interest and self-dealing",
"version": "1.0.0"
},
{
"conduct_type": "insider_trading",
"languages": ["es", "en"],
"description": "Insider trading and tipping",
"version": "1.0.0"
},
{
"conduct_type": "internal_fraud",
"languages": ["es", "en"],
"description": "Internal fraud, embezzlement and expense fraud",
"version": "1.0.0"
}
]
}
Possible errors
| HTTP | Code | Description |
|---|---|---|
401 | MISSING_AUTH | Authorization header missing. |
401 | INVALID_API_KEY | API key not found, expired, or inactive. |
402 | SUBSCRIPTION_REQUIRED | The tenant does not have an active subscription. |
403 | INSUFFICIENT_SCOPE | The API key does not have the playbooks:list scope. |
429 | RATE_LIMIT_EXCEEDED | Rate limit reached. See the Retry-After header. |
Note on future versions
vario will add new playbooks and new languages in future versions. It is recommended to call GET /playbooks dynamically when starting each integration session rather than hardcoding the conduct list. conduct_type values are stable once published — they are not renamed between minor versions.