openapi: 3.0.3 info: title: Survicate Data Export Personal Data Responses API description: 'The Survicate Data Export API (v2) allows retrieval of survey data collected in your Survicate account. It exposes resources for surveys, responses, respondents, and personal data management to integrate feedback into databases, CRMs, and custom solutions. ' version: '2' contact: name: Survicate Developer Documentation url: https://developers.survicate.com/data-export/ termsOfService: https://survicate.com/terms/ license: name: Proprietary url: https://survicate.com/terms/ servers: - url: https://data.survicate.com description: Survicate Data Export API base URL security: - BasicAuth: [] tags: - name: Responses description: Operations related to survey responses paths: /v2/surveys/{surveyId}/responses: get: operationId: listResponses summary: List all responses for a survey description: Returns a paginated list of all responses collected for a specific survey. tags: - Responses parameters: - $ref: '#/components/parameters/surveyId' - name: page in: query description: Page number for pagination required: false schema: type: integer default: 1 minimum: 1 - name: per_page in: query description: Number of responses per page required: false schema: type: integer default: 20 maximum: 100 - name: from in: query description: Filter responses from this date (ISO 8601) required: false schema: type: string format: date-time - name: to in: query description: Filter responses up to this date (ISO 8601) required: false schema: type: string format: date-time responses: '200': description: A list of survey responses content: application/json: schema: $ref: '#/components/schemas/ResponseList' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' /v2/surveys/{surveyId}/responses/{responseId}: get: operationId: getResponse summary: Retrieve a response description: Returns detailed information about a specific survey response. tags: - Responses parameters: - $ref: '#/components/parameters/surveyId' - $ref: '#/components/parameters/responseId' responses: '200': description: Survey response details content: application/json: schema: $ref: '#/components/schemas/Response' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' components: schemas: Response: type: object properties: id: type: string description: Unique identifier for the response survey_id: type: string description: Identifier of the survey this response belongs to respondent_id: type: string description: Identifier of the respondent who submitted this response completed_at: type: string format: date-time description: Date and time when the response was completed answers: type: array description: Answers submitted for each question items: $ref: '#/components/schemas/Answer' Pagination: type: object properties: page: type: integer description: Current page number per_page: type: integer description: Number of items per page total: type: integer description: Total number of items total_pages: type: integer description: Total number of pages ResponseList: type: object allOf: - $ref: '#/components/schemas/Pagination' properties: data: type: array items: $ref: '#/components/schemas/Response' Answer: type: object properties: question_id: type: string description: Identifier of the question being answered value: oneOf: - type: string - type: number - type: array items: type: string description: The answer value (string for text, number for ratings/NPS, array for multi-select) answer_ids: type: array description: IDs of selected answer options (for closed-ended questions) items: type: string Error: type: object properties: message: type: string description: A human-readable error message code: type: string description: An error code identifier parameters: surveyId: name: surveyId in: path required: true description: The unique identifier of the survey schema: type: string responseId: name: responseId in: path required: true description: The unique identifier of the response schema: type: string responses: Unauthorized: description: Authentication failed or API key is missing content: application/json: schema: $ref: '#/components/schemas/Error' TooManyRequests: description: 'Rate limit exceeded. Survicate allows up to 5 concurrent requests and up to 1000 requests per minute per workspace. ' content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: BasicAuth: type: http scheme: basic description: 'Use your Survicate API key as the value for Basic authentication. The API key can be found in the Survicate panel under Surveys Settings > Access Keys. Format: `Basic {{apiKey}}` '