openapi: 3.1.0 info: title: Formbricks API description: Manage Formbricks ressources programmatically. version: 2.0.0 servers: - url: https://app.formbricks.com/api description: Formbricks Cloud tags: - name: responses description: Operations for managing responses. paths: /responses: get: operationId: getResponses summary: Get responses description: Gets responses from the database. tags: - responses parameters: - in: query name: surveyId schema: type: string required: true - in: query name: limit schema: type: number minimum: 1 maximum: 100 default: 10 - in: query name: skip schema: type: number minimum: 0 default: 0 - in: query name: sortBy schema: type: string enum: - createdAt - updatedAt default: createdAt - in: query name: order schema: type: string enum: - asc - desc default: desc - in: query name: startDate schema: type: string required: true - in: query name: endDate schema: type: string required: true - in: query name: contactId schema: type: string required: true responses: "200": description: Responses retrieved successfully. content: application/json: schema: type: array items: $ref: "#/components/schemas/response" post: operationId: createResponse summary: Create a response description: Creates a response in the database. tags: - responses requestBody: required: true description: The response to create content: application/json: schema: type: object properties: createdAt: type: string updatedAt: type: string environmentId: type: string surveyId: type: string userId: type: - string - "null" displayId: type: - string - "null" singleUseId: type: - string - "null" finished: type: boolean endingId: type: - string - "null" language: type: string data: type: object additionalProperties: anyOf: - type: string - type: number - type: array items: type: string - type: object additionalProperties: type: string variables: type: object additionalProperties: anyOf: - type: string - type: number ttc: type: object additionalProperties: type: number meta: type: object properties: source: type: string url: type: string userAgent: type: object properties: browser: type: string device: type: string os: type: string country: type: string action: type: string required: - environmentId - surveyId - finished - data responses: "201": description: Response created successfully. content: application/json: schema: $ref: "#/components/schemas/response" /responses/{id}: get: operationId: getResponse summary: Get a response description: Gets a response from the database. tags: - responses parameters: - in: path name: id description: The ID of the response schema: $ref: "#/components/schemas/responseId" required: true responses: "200": description: Response retrieved successfully. content: application/json: schema: $ref: "#/components/schemas/response" put: operationId: updateResponse summary: Update a response description: Updates a response in the database. tags: - responses parameters: - in: path name: id description: The ID of the response schema: $ref: "#/components/schemas/responseId" required: true requestBody: required: true description: The response to update content: application/json: schema: type: object properties: createdAt: type: string updatedAt: type: string environmentId: type: string surveyId: type: string userId: type: - string - "null" displayId: type: - string - "null" singleUseId: type: - string - "null" finished: type: boolean endingId: type: - string - "null" language: type: string data: type: object additionalProperties: anyOf: - type: string - type: number - type: array items: type: string - type: object additionalProperties: type: string variables: type: object additionalProperties: anyOf: - type: string - type: number ttc: type: object additionalProperties: type: number meta: type: object properties: source: type: string url: type: string userAgent: type: object properties: browser: type: string device: type: string os: type: string country: type: string action: type: string required: - environmentId - surveyId - finished - data responses: "200": description: Response updated successfully. content: application/json: schema: $ref: "#/components/schemas/response" delete: operationId: deleteResponse summary: Delete a response description: Deletes a response from the database. tags: - responses parameters: - in: path name: id description: The ID of the response schema: $ref: "#/components/schemas/responseId" required: true responses: "200": description: Response deleted successfully. content: application/json: schema: $ref: "#/components/schemas/response" components: schemas: response: type: object properties: id: type: string description: The ID of the response createdAt: type: string description: The date and time the response was created example: 2021-01-01T00:00:00.000Z updatedAt: type: string description: The date and time the response was last updated example: 2021-01-01T00:00:00.000Z finished: type: boolean description: Whether the response is finished example: true surveyId: type: string description: The ID of the survey contactId: type: - string - "null" description: The ID of the contact endingId: type: - string - "null" description: The ID of the ending data: type: object additionalProperties: anyOf: - type: string - type: number - type: array items: type: string - type: object additionalProperties: type: string description: The data of the response example: question1: answer1 question2: 2 question3: - answer3 - answer4 question4: subquestion1: answer5 variables: type: object additionalProperties: anyOf: - type: string - type: number description: The variables of the response example: variable1: answer1 variable2: 2 ttc: type: object additionalProperties: type: number description: The TTC of the response example: question1: 10 question2: 20 meta: type: object properties: source: type: string description: The source of the response example: https://example.com url: type: string description: The URL of the response example: https://example.com userAgent: type: object properties: browser: type: string os: type: string device: type: string country: type: string action: type: string description: The meta data of the response example: source: https://example.com url: https://example.com userAgent: browser: Chrome os: Windows device: Desktop country: US action: click contactAttributes: type: - object - "null" additionalProperties: type: string description: The attributes of the contact example: attribute1: value1 attribute2: value2 singleUseId: type: - string - "null" description: The single use ID of the response language: type: - string - "null" description: The language of the response example: en displayId: type: - string - "null" description: The display ID of the response required: - id - createdAt - updatedAt - finished - surveyId - contactId - endingId - data - variables - ttc - meta - contactAttributes - singleUseId - language - displayId responseId: type: string description: The ID of the response