Permutive Cohorts API
Create, read, update and delete audience cohorts.
Create, read, update and delete audience cohorts.
openapi: 3.1.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. This OpenAPI description was DERIVED by API Evangelist from Permutive's public developer documentation (https://developer.permutive.com/) — the operation set, paths, HTTP methods, titles and descriptions are taken verbatim from the published API reference; request/response schemas are lightly modeled where the docs do not publish a machine-readable spec. It is a discovery aid, not the authoritative Permutive contract.
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:
responses:
Forbidden:
description: The API key does not have access to this resource or operation.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
Created:
description: Resource created
content:
application/json:
schema:
type: object
Unauthorized:
description: Missing or invalid API key.
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'
BadRequest:
description: The request was malformed or failed validation.
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'
schemas:
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
Problem:
type: object
description: Error payload.
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
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.