How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

PostHog surveys API

The surveys API from PostHog — 14 operation(s) for surveys.

PostHog surveys API is one of 139 APIs that PostHog publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Surveys. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a getting-started guide, authentication docs, and an AsyncAPI specification.

This API exposes 18 operations across 14 paths, and defines 73 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://app.posthog.com/api.

18 operations 14 paths 73 schemas 1 DELETE8 GET1 PATCH7 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://app.posthog.com/api
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

PostHog surveys API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (PersonalAPIKeyAuth).

Paths & Operations 18

Across 14 paths, the API surfaces 18 operations — 1 DELETE, 8 GET, 1 PATCH, 7 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

surveys 18
GET
/api/projects/{project_id}/surveys/
surveys_list 5 params → 200
POST
/api/projects/{project_id}/surveys/
surveys_create 1 param body → 201
GET
/api/projects/{project_id}/surveys/{id}/
surveys_retrieve 2 params → 200
PUT
/api/projects/{project_id}/surveys/{id}/
surveys_update 2 params body → 200
PATCH
/api/projects/{project_id}/surveys/{id}/
surveys_partial_update 2 params body → 200
DELETE
/api/projects/{project_id}/surveys/{id}/
surveys_destroy 2 params → 204
GET
/api/projects/{project_id}/surveys/{id}/activity/
surveys_activity_retrieve 2 params → 200
GET
/api/projects/{project_id}/surveys/{id}/archived-response-uuids/
Get list of archived response UUIDs for HogQL filtering. Returns list of UUIDs that the frontend can use to filter out archived responses in HogQL queries.
surveys_archived_response_uuids_retrieve 2 params → 200
POST
/api/projects/{project_id}/surveys/{id}/duplicate_to_projects/
Duplicate a survey to multiple projects in a single transaction. Accepts a list of target team IDs and creates a copy of the survey in each project. Uses an all-or-nothing approach - if any duplicati…
surveys_duplicate_to_projects_create 2 params body → 200
POST
/api/projects/{project_id}/surveys/{id}/generate_translations/
surveys_generate_translations_create 2 params body → 200
POST
/api/projects/{project_id}/surveys/{id}/responses/{response_uuid}/archive/
Archive a single survey response.
surveys_responses_archive_create 3 params body → 200
POST
/api/projects/{project_id}/surveys/{id}/responses/{response_uuid}/unarchive/
Unarchive a single survey response.
surveys_responses_unarchive_create 3 params body → 200
GET
/api/projects/{project_id}/surveys/{id}/stats/
Get survey response statistics for a specific survey. Args: datefrom: Optional ISO timestamp for start date (e.g. 2024-01-01T00:00:00Z) dateto: Optional ISO timestamp for end date (e.g. 2024-01-31T23…
surveys_stats_retrieve 4 params → 200
POST
/api/projects/{project_id}/surveys/{id}/summarize_responses/
surveys_summarize_responses_create 2 params body → 200
POST
/api/projects/{project_id}/surveys/{id}/summary_headline/
surveys_summary_headline_create 2 params body → 200
GET
/api/projects/{project_id}/surveys/activity/
surveys_all_activity_retrieve 1 param → 200
GET
/api/projects/{project_id}/surveys/responses_count/
Get response counts for all surveys. Args: excludearchived: Optional boolean to exclude archived responses (default: false, includes archived) surveyids: Optional comma-separated list of survey IDs t…
surveys_responses_count_retrieve 1 param → 200
GET
/api/projects/{project_id}/surveys/stats/
Get aggregated response statistics across all surveys. Args: datefrom: Optional ISO timestamp for start date (e.g. 2024-01-01T00:00:00Z) dateto: Optional ISO timestamp for end date (e.g. 2024-01-31T2…
surveys_global_stats_retrieve 3 params → 200

Schemas 73

The contract defines 73 schemas that model the data the API accepts and returns. The most detailed are SurveySerializerCreateUpdateOnly (37 properties), SurveySerializerCreateUpdateOnlySchema (37 properties), PatchedSurveySerializerCreateUpdateOnlySchema (37 properties), Survey (35 properties). Each schema is shown below with its type and property counts.

GeneratedSurveyRootTranslation
object
4 properties
SurveyMultipleChoiceQuestionSchemaTypeEnum
string
multiplechoice - multiplechoice
NullEnum
FeatureFlagMultivariateSchema
object
1 property 1 required
SurveyOpenQuestionSchema
object
6 properties 2 required
SurveyRatingQuestionSchemaDisplayEnum
string
number - number emoji - emoji
Survey
object
Mixin for serializers to add user access control fields
35 properties 11 required
SurveyConditionsSchema
object
8 properties
FeatureFlagFilterPropertyFlagEvaluatesSchemaOperatorEnum
string
flagevaluatesto - flagevaluatesto
SurveyConditionEventValueSchema
object
1 property 1 required
FeatureFlagFiltersSchema
object
6 properties
PropertyGroupTypeEnum
string
cohort - cohort person - person group - group
SurveyEndBranching
object
1 property 1 required
DateOperatorEnum
string
isdateexact - isdateexact isdatebefore - isdatebefore isdateafter - isdateafter
FeatureFlagFilterPropertyFlagEvaluatesSchemaTypeEnum
string
flag - flag
ScheduleEnum
string
once - once recurring - recurring always - always
SurveyNextQuestionBranching
object
1 property 1 required
FeatureFlagFilterPropertySemverSchema
object
6 properties 3 required
GenerateSurveyTranslationsRequest
object
4 properties 1 required
SurveyMultipleChoiceQuestionSchema
object
9 properties 3 required
SurveyEventsConditionSchema
object
2 properties
DeviceTypesEnum
string
Desktop - Desktop Mobile - Mobile Tablet - Tablet
SurveyOpenQuestionSchemaTypeEnum
string
open - open
DescriptionContentTypeEnum
string
html - html text - text
SurveyLinkQuestionSchemaTypeEnum
string
link - link
MinimalFeatureFlag
object
13 properties 4 required
FeatureFlagConditionGroupSchema
object
4 properties
GenerateSurveyTranslationsResponse
object
4 properties 4 required
GeneratedSurveyQuestionTranslationPatch
object
2 properties 2 required
GeneratedSurveyQuestionTranslation
object
7 properties
ExistenceOperatorEnum
string
isset - isset isnotset - isnotset
FeatureFlagFilterPropertyCohortInSchemaOperatorEnum
string
in - in notin - notin
ResponseSamplingIntervalTypeEnum
string
day - day week - week month - month
SurveyQuestionInputSchema
SurveyGlobalStatsResponse
object
2 properties 2 required
SurveySerializerCreateUpdateOnly
object
37 properties 8 required
FeatureFlagFilterPropertyDateSchema
object
6 properties 3 required
StringMatchOperatorEnum
string
exact - exact isnot - isnot icontains - icontains noticontains - noticontains regex - regex notregex - notregex
SurveyRatingQuestionSchema
object
11 properties 2 required
FeatureFlagFilterPropertyCohortInSchema
object
6 properties 4 required
BucketingIdentifierEnum
string
distinctid - User ID (default) deviceid - Device ID
SurveySerializerCreateUpdateOnlySchema
object
37 properties 8 required
WidgetTypeEnum
string
button - button tab - tab selector - selector
SurveyAppearanceSchema
object
29 properties
PaginatedSurveyList
object
4 properties 2 required
SurveySpecificQuestionBranching
object
2 properties 2 required
FeatureFlagFilterPropertyExistsSchema
object
6 properties 2 required
FeatureFlagFilterPropertyGenericSchemaOperatorEnum
string
exact - exact isnot - isnot icontains - icontains noticontains - noticontains regex - regex notregex - notregex gt - gt gte - gte lt - lt lte - lte
SurveyStatsResponse
object
5 properties 5 required
SurveyNextQuestionBranchingTypeEnum
string
nextquestion - nextquestion
SurveyResponseBasedBranching
object
2 properties 2 required
PatchedSurveySerializerCreateUpdateOnlySchema
object
37 properties
SurveyLinkQuestionSchema
object
7 properties 3 required
FeatureFlagMultivariateVariantSchema
object
3 properties 2 required
UserBasic
object
9 properties 4 required
RoleAtOrganizationEnum
string
engineering - Engineering data - Data product - Product Management founder - Founder leadership - Leadership marketing - Marketing sales - Sales / Success othe…
SurveyRatingQuestionSchemaTypeEnum
string
rating - rating
SurveyBranchingSchema
SurveySingleChoiceQuestionSchema
object
10 properties 3 required
SurveyEndBranchingTypeEnum
string
end - end
BlankEnum
FeatureFlagFilterPropertyFlagEvaluatesSchema
object
6 properties 4 required
FeatureFlagFilterPropertyCohortInSchemaTypeEnum
string
cohort - cohort
FeatureFlagFilterPropertyMultiContainsSchema
object
6 properties 3 required
SurveySpecificQuestionBranchingTypeEnum
string
specificquestion - specificquestion
FeatureFlagFilterPropertyGenericSchema
object
6 properties 3 required
EvaluationRuntimeEnum
string
server - Server client - Client all - All
FeatureFlagFilterPropertyMultiContainsSchemaOperatorEnum
string
icontainsmulti - icontainsmulti noticontainsmulti - noticontainsmulti
FeatureFlagFilterPropertySchema
SurveyType
string
popover - popover widget - widget externalsurvey - external survey api - api
FeatureFlagFilterPropertySemverSchemaOperatorEnum
string
semvergt - semvergt semvergte - semvergte semverlt - semverlt semverlte - semverlte semvereq - semvereq semverneq - semverneq semvertilde - semvertilde semverc…
SurveySingleChoiceQuestionSchemaTypeEnum
string
singlechoice - singlechoice
SurveyResponseBasedBranchingTypeEnum
string
responsebased - responsebased

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

posthog-surveys-api-openapi.yml Raw ↑

Other APIs PostHog publishes across the network.

PostHog Capture API
PostHog Query API
PostHog Persons API
PostHog Feature Flags API
PostHog Experiments API
PostHog Insights API
PostHog Cohorts API
PostHog Annotations API
PostHog actions API
PostHog activity_log API
PostHog activity_logs API
PostHog advanced_activity_logs API
Where this information came from

This is an independent, third-party profile of PostHog surveys API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.