Cimd Verification

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

Endpoints

GET
POST
GET
PATCH
DELETE

List all cimd verification tokens

Manage CIMD verification tokens for an organization.

A partner embeds the plaintext token in their CIMD metadata document as verification_token inside the com.posthog object (the legacy top-level posthog_verification_token field still works as a fallback). When PostHog fetches the metadata, matching the token links the partner app to this organization and grants a higher default rate limit for account provisioning.

Each token is scoped at creation to the one cimd_url it will be published at, and verifies nowhere else. Two organizations may name the same URL; only the one whose token is actually served there verifies, so claiming a URL cannot be used to block a partner from verifying theirs.

The plaintext value is only available on creation; we store a hash.

Required API key scopes

organization:read

Query parameters

  • limit
    integer
  • offset
    integer

Response


Example request

GET /api/organizations/:organization_id/cimd_verification_tokens
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/organizations/:organization_id/cimd_verification_tokens/

Example 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": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"label": "string",
"cimd_url": "string",
"mask_value": "string",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"last_used_at": "2019-08-24T14:15:22Z"
}
]
}

Create cimd verification tokens

Manage CIMD verification tokens for an organization.

A partner embeds the plaintext token in their CIMD metadata document as verification_token inside the com.posthog object (the legacy top-level posthog_verification_token field still works as a fallback). When PostHog fetches the metadata, matching the token links the partner app to this organization and grants a higher default rate limit for account provisioning.

Each token is scoped at creation to the one cimd_url it will be published at, and verifies nowhere else. Two organizations may name the same URL; only the one whose token is actually served there verifies, so claiming a URL cannot be used to block a partner from verifying theirs.

The plaintext value is only available on creation; we store a hash.

Required API key scopes

organization:write

Request parameters

  • label
    string
  • cimd_url
    string

Response


Example request

POST /api/organizations/:organization_id/cimd_verification_tokens
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/organizations/:organization_id/cimd_verification_tokens/\
-d label="string",\
-d cimd_url="string"

Example response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"label": "string",
"cimd_url": "string",
"mask_value": "string",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"last_used_at": "2019-08-24T14:15:22Z",
"value": "string"
}

Retrieve cimd verification tokens

Manage CIMD verification tokens for an organization.

A partner embeds the plaintext token in their CIMD metadata document as verification_token inside the com.posthog object (the legacy top-level posthog_verification_token field still works as a fallback). When PostHog fetches the metadata, matching the token links the partner app to this organization and grants a higher default rate limit for account provisioning.

Each token is scoped at creation to the one cimd_url it will be published at, and verifies nowhere else. Two organizations may name the same URL; only the one whose token is actually served there verifies, so claiming a URL cannot be used to block a partner from verifying theirs.

The plaintext value is only available on creation; we store a hash.

Required API key scopes

organization:read

Path parameters

  • id
    string

Response


Example request

GET /api/organizations/:organization_id/cimd_verification_tokens/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/organizations/:organization_id/cimd_verification_tokens/:id/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"label": "string",
"cimd_url": "string",
"mask_value": "string",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"last_used_at": "2019-08-24T14:15:22Z"
}

Update cimd verification tokens

Manage CIMD verification tokens for an organization.

A partner embeds the plaintext token in their CIMD metadata document as verification_token inside the com.posthog object (the legacy top-level posthog_verification_token field still works as a fallback). When PostHog fetches the metadata, matching the token links the partner app to this organization and grants a higher default rate limit for account provisioning.

Each token is scoped at creation to the one cimd_url it will be published at, and verifies nowhere else. Two organizations may name the same URL; only the one whose token is actually served there verifies, so claiming a URL cannot be used to block a partner from verifying theirs.

The plaintext value is only available on creation; we store a hash.

Required API key scopes

organization:write

Path parameters

  • id
    string

Request parameters

  • cimd_url
    string

Response


Example request

PATCH /api/organizations/:organization_id/cimd_verification_tokens/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/organizations/:organization_id/cimd_verification_tokens/:id/\
-d cimd_url="string"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"label": "string",
"cimd_url": "string",
"mask_value": "string",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"last_used_at": "2019-08-24T14:15:22Z"
}

Delete cimd verification tokens

Manage CIMD verification tokens for an organization.

A partner embeds the plaintext token in their CIMD metadata document as verification_token inside the com.posthog object (the legacy top-level posthog_verification_token field still works as a fallback). When PostHog fetches the metadata, matching the token links the partner app to this organization and grants a higher default rate limit for account provisioning.

Each token is scoped at creation to the one cimd_url it will be published at, and verifies nowhere else. Two organizations may name the same URL; only the one whose token is actually served there verifies, so claiming a URL cannot be used to block a partner from verifying theirs.

The plaintext value is only available on creation; we store a hash.

Required API key scopes

organization:write

Path parameters

  • id
    string

Example request

DELETE /api/organizations/:organization_id/cimd_verification_tokens/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X DELETE \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/organizations/:organization_id/cimd_verification_tokens/:id/

Example response

Status 204 No response body