Cohorts

For instructions on how to authenticate to use this endpoint, see API overview.

List all cohorts

Path Parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Query Parameters

  • limit
    integer

    Number of results to return per page.

  • offset
    integer

    The initial index from which to return the results.

Response


Request

GET /api/projects/:project_id/cohorts
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
https://app.posthog.com/api/projects/:project_id/cohorts/

Response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": 0,
"name": "string",
"description": "string",
"groups": {
"property1": null,
"property2": null
},
"deleted": true,
"filters": {
"property1": null,
"property2": null
},
"query": {
"property1": null,
"property2": null
},
"is_calculating": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"email": "user@example.com",
"is_email_verified": true
},
"created_at": "2019-08-24T14:15:22Z",
"last_calculation": "2019-08-24T14:15:22Z",
"errors_calculating": 0,
"count": 0,
"is_static": true
}
]
}

Create cohorts

Path Parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request Parameters

  • name
    string
  • description
    string
  • groups
    object
  • deleted
    boolean
  • filters
    object
  • query
    object
  • is_static
    boolean

Response


Request

POST /api/projects/:project_id/cohorts
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
https://app.posthog.com/api/projects/:project_id/cohorts/\
-d name="string"

Response

Status 201
RESPONSE
{
"id": 0,
"name": "string",
"description": "string",
"groups": {
"property1": null,
"property2": null
},
"deleted": true,
"filters": {
"property1": null,
"property2": null
},
"query": {
"property1": null,
"property2": null
},
"is_calculating": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"email": "user@example.com",
"is_email_verified": true
},
"created_at": "2019-08-24T14:15:22Z",
"last_calculation": "2019-08-24T14:15:22Z",
"errors_calculating": 0,
"count": 0,
"is_static": true
}

Retrieve cohorts

Path Parameters

  • id
    integer

    A unique integer value identifying this cohort.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Response


Request

GET /api/projects/:project_id/cohorts/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
https://app.posthog.com/api/projects/:project_id/cohorts/:id/

Response

Status 200
RESPONSE
{
"id": 0,
"name": "string",
"description": "string",
"groups": {
"property1": null,
"property2": null
},
"deleted": true,
"filters": {
"property1": null,
"property2": null
},
"query": {
"property1": null,
"property2": null
},
"is_calculating": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"email": "user@example.com",
"is_email_verified": true
},
"created_at": "2019-08-24T14:15:22Z",
"last_calculation": "2019-08-24T14:15:22Z",
"errors_calculating": 0,
"count": 0,
"is_static": true
}

Update cohorts

Path Parameters

  • id
    integer

    A unique integer value identifying this cohort.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request Parameters

  • name
    string
  • description
    string
  • groups
    object
  • deleted
    boolean
  • filters
    object
  • query
    object
  • is_static
    boolean

Response


Request

PATCH /api/projects/:project_id/cohorts/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
https://app.posthog.com/api/projects/:project_id/cohorts/:id/\
-d name="string"

Response

Status 200
RESPONSE
{
"id": 0,
"name": "string",
"description": "string",
"groups": {
"property1": null,
"property2": null
},
"deleted": true,
"filters": {
"property1": null,
"property2": null
},
"query": {
"property1": null,
"property2": null
},
"is_calculating": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"email": "user@example.com",
"is_email_verified": true
},
"created_at": "2019-08-24T14:15:22Z",
"last_calculation": "2019-08-24T14:15:22Z",
"errors_calculating": 0,
"count": 0,
"is_static": true
}

Delete cohorts

Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true

Path Parameters

  • id
    integer

    A unique integer value identifying this cohort.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request

DELETE /api/projects/:project_id/cohorts/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X DELETE \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
https://app.posthog.com/api/projects/:project_id/cohorts/:id/

Response

Status 405 No response body

Retrieve cohorts duplicate as static cohort

Path Parameters

  • id
    integer

    A unique integer value identifying this cohort.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Response


Request

GET /api/projects/:project_id/cohorts/:id/duplicate_as_static_cohort
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
https://app.posthog.com/api/projects/:project_id/cohorts/:id/duplicate_as_static_cohort/

Response

Status 200
RESPONSE
{
"id": 0,
"name": "string",
"description": "string",
"groups": {
"property1": null,
"property2": null
},
"deleted": true,
"filters": {
"property1": null,
"property2": null
},
"query": {
"property1": null,
"property2": null
},
"is_calculating": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"email": "user@example.com",
"is_email_verified": true
},
"created_at": "2019-08-24T14:15:22Z",
"last_calculation": "2019-08-24T14:15:22Z",
"errors_calculating": 0,
"count": 0,
"is_static": true
}

Retrieve cohorts persons

Path Parameters

  • id
    integer

    A unique integer value identifying this cohort.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Query Parameters

  • format
    string
    One of: "csv""json"

Response


Request

GET /api/projects/:project_id/cohorts/:id/persons
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
https://app.posthog.com/api/projects/:project_id/cohorts/:id/persons/

Response

Status 200
RESPONSE
{
"id": 0,
"name": "string",
"description": "string",
"groups": {
"property1": null,
"property2": null
},
"deleted": true,
"filters": {
"property1": null,
"property2": null
},
"query": {
"property1": null,
"property2": null
},
"is_calculating": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"email": "user@example.com",
"is_email_verified": true
},
"created_at": "2019-08-24T14:15:22Z",
"last_calculation": "2019-08-24T14:15:22Z",
"errors_calculating": 0,
"count": 0,
"is_static": true
}

Questions?

Was this page useful?