Permutive Cohorts API
Create, read, update and delete audience cohorts.
Create, read, update and delete audience cohorts.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/permutive-cohorts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Permutive Cohorts API
version: '2.0'
description: Permutive is an agentic data collaboration and activation platform for premium publishers, advertisers and agencies.
contact:
name: Permutive Developer Support
url: https://developer.permutive.com/
x-apievangelist-generated: '2026-07-20'
x-apievangelist-method: derived
x-apievangelist-source: https://developer.permutive.com/
servers:
- url: https://api.permutive.com
description: Permutive API host
security:
- ApiKeyAuth: []
tags:
- name: Cohorts
description: Create, read, update and delete audience cohorts.
paths:
/v2/cohorts:
post:
tags:
- Cohorts
operationId: createCohort
summary: Create a cohort
description: Creates a new cohort. The query definition is provided using Permutive's cohort query format. The cohort is created in the workspace which owns the provided API key.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Cohort'
responses:
'201':
$ref: '#/components/responses/Created'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
get:
tags:
- Cohorts
operationId: getCohorts
summary: Retrieve all cohorts
description: By default returns all cohorts belonging to the workspace to which the supplied API key belongs.
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/ServerError'
/v2/cohorts/{cohortId}:
get:
tags:
- Cohorts
operationId: getCohort
summary: Retrieve individual cohort
description: Returns details of a single cohort belonging to the workspace that owns the provided API key.
parameters:
- name: cohortId
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
patch:
tags:
- Cohorts
operationId: updateCohort
summary: Update a cohort
description: Updates an existing cohort. Depending on the access level of the provided API key, some fields may be immutable.
parameters:
- name: cohortId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Cohort'
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
delete:
tags:
- Cohorts
operationId: deleteCohort
summary: Delete a cohort
description: Deletes an existing cohort. Depending on the access level of the provided API key, deletion may be restricted.
parameters:
- name: cohortId
in: path
required: true
schema:
type: string
responses:
'204':
description: Cohort deleted
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
components:
schemas:
Problem:
type: object
description: Error payload.
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
Cohort:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
query:
type: object
tags:
type: array
items:
type: string
required:
- name
- query
responses:
BadRequest:
description: The request was malformed or failed validation.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
OK:
description: Successful response
content:
application/json:
schema:
type: object
ServerError:
description: An unexpected error occurred on Permutive's side.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
Unauthorized:
description: Missing or invalid API key.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
NotFound:
description: The requested resource does not exist.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
Created:
description: Resource created
content:
application/json:
schema:
type: object
Forbidden:
description: The API key does not have access to this resource or operation.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
securitySchemes:
ApiKeyAuth:
type: http
scheme: bearer
description: Permutive workspace API key supplied as a bearer token. See https://developer.permutive.com/api/authentication for the exact header and key-provisioning details.