openapi: 3.0.1 info: title: api version: "" paths: /projects/{projectId}/embeddables: get: description: Retrieve all embeddables in this project operationId: embeddables_getEmbeddables tags: - Embeddables parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject Example2: value: pr_doesnotexist - name: X-Api-Key in: header required: true schema: type: string examples: Example1: value: rk_myexampleapikey Example2: value: rk_myexampleapikey responses: "200": description: "" content: application/json: schema: type: array items: $ref: "#/components/schemas/Embeddable" examples: Example1: value: - embeddable_id: flow_myexampleembeddable_1 title: My Example Embeddable 1 group_id: flow_myexamplegroup project_id: pr_myexampleproject - embeddable_id: flow_myexampleembeddable_2 title: My Example Embeddable 2 group_id: flow_myexamplegroup project_id: pr_myexampleproject - embeddable_id: flow_myexampleembeddable_3 title: My Example Embeddable 3 group_id: flow_myexamplegroup project_id: pr_myexampleproject "401": description: "" content: application/json: schema: $ref: "#/components/schemas/UnauthorizedErrorBody" "404": description: "" /projects/{projectId}/embeddables/{embeddableId}: get: description: Retrieve an embeddable from the database based on the ID operationId: embeddables_getEmbeddable tags: - Embeddables parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject Example2: value: pr_myexampleproject - name: embeddableId in: path required: true schema: $ref: "#/components/schemas/EmbeddableId" examples: Example1: value: flow_myexampleembeddable Example2: value: flow_doesnotexist - name: X-Api-Key in: header required: true schema: type: string examples: Example1: value: rk_myexampleapikey Example2: value: rk_myexampleapikey responses: "200": description: "" content: application/json: schema: $ref: "#/components/schemas/EmbeddableWithJson" examples: Example1: value: embeddable_id: flow_myexampleembeddable title: My Example Embeddable group_id: flow_myexamplegroup project_id: pr_myexampleproject json_string_prod: '{ "pages": [] }' "401": description: "" content: application/json: schema: $ref: "#/components/schemas/UnauthorizedErrorBody" "404": description: "" content: application/json: schema: $ref: "#/components/schemas/EmbeddableDoesNotExistErrorBody" examples: Example1: value: error: code: embeddable_does_not_exist message: The embeddable does not exist projectId: pr_myexampleproject embeddableId: flow_doesnotexist /projects/{projectId}/embeddables/{embeddableId}/versions: get: description: Retrieve all versions of an embeddable from the database based on the ID operationId: embeddables_getEmbeddableVersions tags: - Embeddables parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject Example2: value: pr_myexampleproject - name: embeddableId in: path required: true schema: $ref: "#/components/schemas/EmbeddableId" examples: Example1: value: flow_myexampleembeddable Example2: value: flow_doesnotexist - name: limit in: query required: false schema: $ref: "#/components/schemas/Limit" nullable: true examples: Example1: value: 100 - name: direction in: query required: false schema: $ref: "#/components/schemas/Direction" nullable: true examples: Example1: value: DESC - name: X-Api-Key in: header required: true schema: type: string examples: Example1: value: rk_myexampleapikey Example2: value: rk_myexampleapikey responses: "200": description: "" content: application/json: schema: type: array items: $ref: "#/components/schemas/EmbeddableVersion" examples: Example1: value: - embeddable_id: flow_myexampleembeddable version_number: 1 saved_at: "2022-01-01T00:00:00Z" - embeddable_id: flow_myexampleembeddable version_number: 2 saved_at: "2022-01-02T00:00:00Z" - embeddable_id: flow_myexampleembeddable version_number: 3 saved_at: "2022-01-03T00:00:00Z" "401": description: "" content: application/json: schema: $ref: "#/components/schemas/UnauthorizedErrorBody" "404": description: "" content: application/json: schema: $ref: "#/components/schemas/EmbeddableDoesNotExistErrorBody" examples: Example1: value: error: code: embeddable_does_not_exist message: The embeddable does not exist projectId: pr_myexampleproject embeddableId: flow_doesnotexist /projects/{projectId}/embeddables/{embeddableId}/versions/{versionNumber}: get: description: >- Retrieve a specific version of an embeddable from the database based on the ID and version number operationId: embeddables_getEmbeddableVersion tags: - Embeddables parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject Example2: value: pr_myexampleproject Example3: value: pr_myexampleproject - name: embeddableId in: path required: true schema: $ref: "#/components/schemas/EmbeddableId" examples: Example1: value: flow_myexampleembeddable Example2: value: flow_doesnotexist Example3: value: flow_myexampleembeddable - name: versionNumber in: path required: true schema: $ref: "#/components/schemas/EmbeddableVersionNumber" examples: Example1: value: 123 Example2: value: 123 Example3: value: 123456789 - name: X-Api-Key in: header required: true schema: type: string examples: Example1: value: rk_myexampleapikey Example2: value: rk_myexampleapikey Example3: value: rk_myexampleapikey responses: "200": description: "" content: application/json: schema: $ref: "#/components/schemas/EmbeddableVersionWithJson" examples: Example1: value: embeddable_id: flow_myexampleembeddable version_number: 123 saved_at: "2022-01-01T00:00:00Z" json_string: '{ "pages": [] }' "401": description: "" content: application/json: schema: $ref: "#/components/schemas/UnauthorizedErrorBody" "404": description: "" content: application/json: schema: $ref: "#/components/schemas/EmbeddableDoesNotExistErrorBody" examples: Example1: value: error: code: embeddable_does_not_exist message: The embeddable does not exist projectId: pr_myexampleproject embeddableId: flow_doesnotexist "405": description: "" content: application/json: schema: $ref: "#/components/schemas/EmbeddableVersionDoesNotExistErrorBody" examples: Example1: value: error: code: embeddable_version_does_not_exist message: The embeddable version does not exist projectId: pr_myexampleproject embeddableId: flow_myexampleembeddable versionNumber: 123456789 /projects/{projectId}/entries-page-views: get: description: >- Retrieve all pages viewed, with timestamps, for all entries in the database operationId: entriesPageViews_getEntriesPageViews tags: - EntriesPageViews parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject Example2: value: pr_myexampleproject - name: limit in: query required: false schema: $ref: "#/components/schemas/Limit" nullable: true - name: direction in: query required: false schema: $ref: "#/components/schemas/Direction" nullable: true - name: updated_after in: query required: false schema: $ref: "#/components/schemas/DateTime" nullable: true - name: updated_before in: query required: false schema: $ref: "#/components/schemas/DateTime" nullable: true - name: include_urls in: query required: false schema: type: string nullable: true - name: X-Api-Key in: header required: true schema: type: string examples: Example1: value: rk_myexampleapikey Example2: value: rk_incorrectkey responses: "200": description: "" content: application/json: schema: type: array items: $ref: "#/components/schemas/EntryPageViews" examples: Example1: value: - entry_id: entry_myexampleentry_1 group_id: group_myexamplegroup project_id: pr_myexampleproject embeddable_id: flow_myexampleflow contact_id: contact_myexamplecontact_1 created_at: "2022-01-01T00:00:00Z" updated_at: "2022-01-01T00:00:00Z" page_views: - timestamp: "2022-01-01T00:00:00Z" page_id: page_myexamplepageid1 page_key: page_myexamplepagekey1 page_index: 1 - entry_id: entry_myexampleentry_2 group_id: group_myexamplegroup project_id: pr_myexampleproject embeddable_id: flow_myexampleflow contact_id: contact_myexamplecontact_2 created_at: "2022-01-01T00:00:00Z" updated_at: "2022-01-01T00:00:00Z" page_views: - timestamp: "2022-01-01T00:00:00Z" page_id: page_myexamplepageid1 page_key: page_myexamplepagekey1 page_index: 1 - entry_id: entry_myexampleentry_3 group_id: group_myexamplegroup project_id: pr_myexampleproject embeddable_id: flow_myexampleflow contact_id: contact_myexamplecontact_3 created_at: "2022-01-01T00:00:00Z" updated_at: "2022-01-01T00:00:00Z" page_views: - timestamp: "2022-01-01T00:00:00Z" page_id: page_myexamplepageid1 page_key: page_myexamplepagekey1 page_index: 1 "401": description: "" content: application/json: schema: $ref: "#/components/schemas/UnauthorizedErrorBody" examples: Example1: value: error: code: unauthorized message: >- You are not authorized to access this project with the API key provided. projectId: pr_myexampleproject /projects/{projectId}/entries: get: description: Retrieve all entries from the database operationId: entries_getEntries tags: - Entries parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject Example2: value: pr_myexampleproject - name: limit in: query required: false schema: $ref: "#/components/schemas/Limit" nullable: true - name: sort in: query required: false schema: $ref: "#/components/schemas/Sort" nullable: true - name: direction in: query required: false schema: $ref: "#/components/schemas/Direction" nullable: true - name: updated_after in: query required: false schema: $ref: "#/components/schemas/DateTime" nullable: true - name: updated_before in: query required: false schema: $ref: "#/components/schemas/DateTime" nullable: true - name: X-Api-Key in: header required: true schema: type: string examples: Example1: value: rk_myexampleapikey Example2: value: rk_incorrectkey responses: "200": description: "" content: application/json: schema: type: array items: $ref: "#/components/schemas/Entry" examples: Example1: value: - entry_id: entry_myexampleentry_1 group_id: group_myexamplegroup project_id: pr_myexampleproject embeddable_id: flow_myexampleflow contact_id: contact_myexamplecontact_1 created_at: "2022-01-01T00:00:00Z" updated_at: "2022-01-01T00:00:00Z" entry_data: '{ "email": "ada@lovelace.com" }' - entry_id: entry_myexampleentry_2 group_id: group_myexamplegroup project_id: pr_myexampleproject embeddable_id: flow_myexampleflow contact_id: contact_myexamplecontact_2 created_at: "2022-01-01T00:00:00Z" updated_at: "2022-01-01T00:00:00Z" entry_data: '{ "email": "grace@hopper.com" }' - entry_id: entry_myexampleentry_3 group_id: group_myexamplegroup project_id: pr_myexampleproject embeddable_id: flow_myexampleflow contact_id: contact_myexamplecontact_3 created_at: "2022-01-01T00:00:00Z" updated_at: "2022-01-01T00:00:00Z" entry_data: '{ "email": "alan@turing.com" }' "401": description: "" content: application/json: schema: $ref: "#/components/schemas/UnauthorizedErrorBody" examples: Example1: value: error: code: unauthorized message: >- You are not authorized to access this project with the API key provided. projectId: pr_myexampleproject /projects/{projectId}/entries/{entryId}: get: description: Retrieve an entry from the database based on the ID operationId: entries_getEntry tags: - Entries parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject Example2: value: pr_myexampleproject Example3: value: pr_myexampleproject - name: entryId in: path required: true schema: $ref: "#/components/schemas/EntryId" examples: Example1: value: entry_myexampleentry Example2: value: entry_doesnotexist Example3: value: entry_doesnotexist - name: X-Api-Key in: header required: true schema: type: string examples: Example1: value: rk_myexampleapikey Example2: value: rk_incorrectkey Example3: value: rk_myexampleapikey responses: "200": description: "" content: application/json: schema: $ref: "#/components/schemas/Entry" examples: Example1: value: entry_id: entry_myexampleentry group_id: group_myexamplegroup project_id: pr_myexampleproject embeddable_id: flow_myexampleflow contact_id: contact_myexamplecontact created_at: "2022-01-01T00:00:00Z" updated_at: "2022-01-01T00:00:00Z" entry_data: '{ "email": "ada@lovelace.com" }' "401": description: "" content: application/json: schema: $ref: "#/components/schemas/UnauthorizedErrorBody" examples: Example1: value: error: code: unauthorized message: >- You are not authorized to access this project with the API key provided. projectId: pr_myexampleproject "404": description: "" content: application/json: schema: $ref: "#/components/schemas/EntryNotFoundErrorBody" examples: Example1: value: error: code: entry_not_found message: >- The entry with the specified ID does not exist or you don't have permission to access it. entryId: entry_doesnotexist /projects/{projectId}/entries/{entryId}/events: get: description: Retrieve all events for entry from the database based on the ID operationId: entries_getEntryEvents tags: - Entries parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject Example2: value: pr_myexampleproject Example3: value: pr_myexampleproject - name: entryId in: path required: true schema: $ref: "#/components/schemas/EntryId" examples: Example1: value: entry_myexampleentry Example2: value: entry_doesnotexist Example3: value: entry_doesnotexist - name: limit in: query required: false schema: $ref: "#/components/schemas/Limit" nullable: true - name: direction in: query required: false schema: $ref: "#/components/schemas/Direction" nullable: true - name: X-Api-Key in: header required: true schema: type: string examples: Example1: value: rk_myexampleapikey Example2: value: rk_incorrectkey Example3: value: rk_myexampleapikey responses: "200": description: "" content: application/json: schema: type: array items: $ref: "#/components/schemas/Event" examples: Example1: value: - entry_id: entry_myexampleentry contact_id: contact_myexamplecontact project_id: pr_myexampleproject group_id: group_myexamplegroup embeddable_id: flow_myexampleflow embeddable_version_number: 1 timestamp: "2022-01-01T00:00:00Z" page_id: page_myexamplepageid1 page_key: page_myexamplepagekey1 page_index: 1 max_page_id: page_myexamplemaxpageid2 max_page_key: page_myexamplemaxpagekey2 max_page_index: 2 total_pages: 3 event_type: flowpage.viewed view_type: flowpage custom_event_name: my_custom_event custom_event_props: '{ "key": "value" }' - entry_id: entry_myexampleentry contact_id: contact_myexamplecontact project_id: pr_myexampleproject group_id: group_myexamplegroup embeddable_id: flow_myexampleflow embeddable_version_number: 1 timestamp: "2022-01-01T00:01:00Z" page_id: page_myexamplepageid2 page_key: page_myexamplepagekey2 page_index: 2 max_page_id: page_myexamplemaxpageid2 max_page_key: page_myexamplemaxpagekey2 max_page_index: 2 total_pages: 3 event_type: flowpage.viewed view_type: flowpage custom_event_name: my_custom_event custom_event_props: '{ "key": "value" }' "401": description: "" content: application/json: schema: $ref: "#/components/schemas/UnauthorizedErrorBody" examples: Example1: value: error: code: unauthorized message: >- You are not authorized to access this project with the API key provided. projectId: pr_myexampleproject "404": description: "" content: application/json: schema: $ref: "#/components/schemas/EntryNotFoundErrorBody" examples: Example1: value: error: code: entry_not_found message: >- The entry with the specified ID does not exist or you don't have permission to access it. entryId: entry_doesnotexist /projects/{projectId}/events: post: description: Submit a custom event for an entry operationId: events_createEvent tags: - Events parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject - name: X-Api-Key in: header required: true schema: type: string examples: Example1: value: rk_myexampleapikey responses: "200": description: "" content: application/json: schema: $ref: "#/components/schemas/Event" examples: Example1: value: group_id: group_myexamplegroup project_id: pr_myexampleproject embeddable_id: flow_myexampleflow embeddable_version_number: 1 contact_id: contact_myexamplecontact entry_id: entry_myexampleentry timestamp: "2022-01-01T00:00:00Z" event_type: custom_event:triggered custom_event_name: my_custom_event custom_event_props: '{ "my_prop": "my_val" }' "401": description: "" content: application/json: schema: $ref: "#/components/schemas/UnauthorizedErrorBody" "404": description: "" content: application/json: schema: $ref: "#/components/schemas/EntryNotFoundErrorBody" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/EntryEventRequest" examples: Example1: value: embeddable_id: flow_myexampleflow timestamp: "2022-01-01T00:00:00.000Z" custom_event_name: my_custom_event custom_event_props: '{ "my_prop": "my_val" }' identifiers: - key: email value: '"test@test.com"' /projects/{projectId}/experiments: get: description: Retrieve all experiments in a project with optional status filtering operationId: experiments_getExperiments tags: - Experiments parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject - name: status in: query required: false schema: $ref: "#/components/schemas/ExperimentStatus" nullable: true responses: "200": description: "" content: application/json: schema: type: array items: $ref: "#/components/schemas/Experiment" examples: Example1: value: - id: exp_abc123 experimentId: exp_abc123 flowId: flow_123 name: Button Color A/B Test hypothesis: Changing button color will improve conversion rates impact_metrics: - conversion_rate - click_through_rate no_impact_metrics: - bounce_rate created_at: "2024-01-01T00:00:00Z" updated_at: "2024-01-01T00:00:00Z" observations: Users seem to prefer blue buttons outcome: Blue variant shows 15% higher conversion attachments: >- [{"url":"/project/pr_rIu92Y0RXzLYemTB/library/?libraryItemId=recmqyMdB2FHK0WOC","name":"HIMS - Weight Loss Plans"}] variants: >- {"control": {"name": "Control (Red)", "color": "#ff0000"}, "variant_a": {"name": "Blue Button", "color": "#0000ff"}} flow_ids: - flow_123 - flow_456 paused_showing_variant: null winner_variant: variant_a status: running - id: exp_def456 experimentId: exp_def456 flowId: flow_789 name: Headline Test hypothesis: Different headlines will affect engagement impact_metrics: - engagement_rate no_impact_metrics: [] created_at: "2024-01-02T00:00:00Z" updated_at: "2024-01-02T00:00:00Z" observations: null outcome: null attachments: "[]" variants: >- {"control": {"headline": "Original"}, "variant_a": {"headline": "New"}} flow_ids: - flow_789 paused_showing_variant: null winner_variant: null status: draft "401": description: "" content: application/json: schema: $ref: "#/components/schemas/UnauthorizedErrorBody" "404": description: "" /projects/{projectId}/experiments/{experimentId}: get: description: Retrieve an experiment from the database based on the experiment ID operationId: experiments_getExperiment tags: - Experiments parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject Example2: value: pr_myexampleproject - name: experimentId in: path required: true schema: $ref: "#/components/schemas/ExperimentId" examples: Example1: value: exp_abc123 Example2: value: exp_does_not_exist responses: "200": description: "" content: application/json: schema: $ref: "#/components/schemas/Experiment" examples: Example1: value: id: exp_abc123 experimentId: exp_abc123 flowId: flow_123 name: Button Color A/B Test hypothesis: Changing button color will improve conversion rates impact_metrics: - conversion_rate - click_through_rate no_impact_metrics: - bounce_rate created_at: "2024-01-01T00:00:00Z" updated_at: "2024-01-01T00:00:00Z" observations: Users seem to prefer blue buttons outcome: Blue variant shows 15% higher conversion attachments: >- [{"url":"/project/pr_rIu92Y0RXzLYemTB/library/?libraryItemId=recmqyMdB2FHK0WOC","name":"HIMS - Weight Loss Plans"}] variants: >- {"control": {"name": "Control (Red)", "color": "#ff0000"}, "variant_a": {"name": "Blue Button", "color": "#0000ff"}} flow_ids: - flow_123 - flow_456 paused_showing_variant: null winner_variant: variant_a status: running "404": description: "" /projects/{projectId}: get: description: Retrieve a project from the database based on the ID operationId: projects_getProject tags: - Projects parameters: - name: projectId in: path required: true schema: $ref: "#/components/schemas/ProjectId" examples: Example1: value: pr_myexampleproject Example2: value: pr_doesnotexist responses: "200": description: "" content: application/json: schema: $ref: "#/components/schemas/Project" examples: Example1: value: id: pr_myexampleproject title: My Example Project "404": description: "" components: schemas: EmbeddableId: title: EmbeddableId type: string description: The unique identifier for a Embeddable in the database EmbeddableVersionNumber: title: EmbeddableVersionNumber type: integer description: The version number of an embeddable JsonString: title: JsonString type: string description: The JSON representation of the embeddable, stringified Embeddable: title: Embeddable type: object properties: embeddable_id: $ref: "#/components/schemas/EmbeddableId" title: type: string group_id: type: string project_id: type: string required: - embeddable_id - title - group_id - project_id EmbeddableWithJson: title: EmbeddableWithJson type: object properties: json_string_prod: $ref: "#/components/schemas/JsonString" required: - json_string_prod allOf: - $ref: "#/components/schemas/Embeddable" EmbeddableVersion: title: EmbeddableVersion type: object properties: embeddable_id: $ref: "#/components/schemas/EmbeddableId" version_number: $ref: "#/components/schemas/EmbeddableVersionNumber" saved_at: $ref: "#/components/schemas/DateTime" required: - embeddable_id - version_number - saved_at EmbeddableVersionWithJson: title: EmbeddableVersionWithJson type: object properties: json_string: $ref: "#/components/schemas/JsonString" required: - json_string allOf: - $ref: "#/components/schemas/EmbeddableVersion" PageId: title: PageId type: string PageKey: title: PageKey type: string PageIndex: title: PageIndex type: integer EmbeddableDoesNotExistErrorBody: title: EmbeddableDoesNotExistErrorBody type: object properties: error: $ref: "#/components/schemas/ErrorBody" projectId: $ref: "#/components/schemas/ProjectId" embeddableId: $ref: "#/components/schemas/EmbeddableId" required: - error - projectId - embeddableId EmbeddableVersionDoesNotExistErrorBody: title: EmbeddableVersionDoesNotExistErrorBody type: object properties: error: $ref: "#/components/schemas/ErrorBody" projectId: $ref: "#/components/schemas/ProjectId" embeddableId: $ref: "#/components/schemas/EmbeddableId" versionNumber: $ref: "#/components/schemas/EmbeddableVersionNumber" required: - error - projectId - embeddableId - versionNumber EntryPageViews: title: EntryPageViews type: object properties: entry_id: $ref: "#/components/schemas/EntryId" contact_id: $ref: "#/components/schemas/ContactId" project_id: $ref: "#/components/schemas/ProjectId" group_id: $ref: "#/components/schemas/GroupId" embeddable_id: $ref: "#/components/schemas/EmbeddableId" created_at: $ref: "#/components/schemas/DateTime" updated_at: $ref: "#/components/schemas/DateTime" page_views: type: array items: $ref: "#/components/schemas/EntryPageView" required: - entry_id - contact_id - project_id - group_id - embeddable_id - created_at - updated_at - page_views EntryPageView: title: EntryPageView type: object properties: timestamp: $ref: "#/components/schemas/DateTime" page_id: $ref: "#/components/schemas/PageId" page_key: $ref: "#/components/schemas/PageKey" page_index: $ref: "#/components/schemas/PageIndex" url: type: string nullable: true required: - timestamp - page_id - page_key - page_index EntryId: title: EntryId type: string description: The unique identifier for an Entry in the database GroupId: title: GroupId type: string description: The unique identifier for a Group in the database ContactId: title: ContactId type: string description: The unique identifier for a Contact in the database EntryData: title: EntryData type: string description: The entry's user data, stringified EventType: title: EventType type: string ViewType: title: ViewType type: string Entry: title: Entry type: object properties: entry_id: $ref: "#/components/schemas/EntryId" group_id: $ref: "#/components/schemas/GroupId" project_id: $ref: "#/components/schemas/ProjectId" embeddable_id: $ref: "#/components/schemas/EmbeddableId" contact_id: $ref: "#/components/schemas/ContactId" created_at: $ref: "#/components/schemas/DateTime" updated_at: $ref: "#/components/schemas/DateTime" entry_data: $ref: "#/components/schemas/EntryData" required: - entry_id - group_id - project_id - embeddable_id - contact_id - created_at - updated_at - entry_data Event: title: Event type: object properties: entry_id: $ref: "#/components/schemas/EntryId" contact_id: $ref: "#/components/schemas/ContactId" project_id: $ref: "#/components/schemas/ProjectId" group_id: $ref: "#/components/schemas/GroupId" embeddable_id: $ref: "#/components/schemas/EmbeddableId" embeddable_version_number: $ref: "#/components/schemas/EmbeddableVersionNumber" nullable: true timestamp: $ref: "#/components/schemas/DateTime" page_id: $ref: "#/components/schemas/PageId" nullable: true page_key: $ref: "#/components/schemas/PageKey" nullable: true page_index: $ref: "#/components/schemas/PageIndex" nullable: true max_page_id: $ref: "#/components/schemas/PageId" nullable: true max_page_key: $ref: "#/components/schemas/PageKey" nullable: true max_page_index: $ref: "#/components/schemas/PageIndex" nullable: true total_pages: type: integer nullable: true event_type: $ref: "#/components/schemas/EventType" view_type: $ref: "#/components/schemas/ViewType" nullable: true custom_event_name: type: string nullable: true custom_event_props: type: string nullable: true required: - entry_id - contact_id - project_id - group_id - embeddable_id - timestamp - event_type EntryNotFoundErrorBody: title: EntryNotFoundErrorBody type: object properties: error: $ref: "#/components/schemas/ErrorBody" entryId: $ref: "#/components/schemas/EntryId" nullable: true required: - error EntryEventRequest: title: EntryEventRequest type: object properties: embeddable_id: $ref: "#/components/schemas/EmbeddableId" timestamp: $ref: "#/components/schemas/DateTime" custom_event_name: $ref: "#/components/schemas/CustomEventName" custom_event_props: $ref: "#/components/schemas/CustomEventProps" identifiers: $ref: "#/components/schemas/Identifiers" required: - embeddable_id - timestamp - custom_event_name - custom_event_props - identifiers CustomEventName: title: CustomEventName type: string description: A name of your choosing for the custom event - must be snake_case CustomEventProps: title: CustomEventProps type: string description: >- Any custom properties you want to attach to the custom event - must be a valid JSON string Identifiers: title: Identifiers type: array items: $ref: "#/components/schemas/Identifier" description: >- A list of key-value pairs that uniquely identify the end-user that this event should be attached to. Currently supports one key-value pair. The value must be JSON-stringified, so strings must be wrapped in double-quotes. Identifier: title: Identifier type: object properties: key: type: string value: type: string required: - key - value ExperimentId: title: ExperimentId type: string description: The unique identifier for an experiment FlowId: title: FlowId type: string description: The unique identifier for a flow ExperimentStatus: title: ExperimentStatus type: string enum: - draft - running - paused - winner_picked - completed - discarded description: The current status of the experiment Experiment: title: Experiment type: object properties: id: type: string example: exp_abc123 experimentId: type: string example: exp_abc123 flowId: $ref: "#/components/schemas/FlowId" name: type: string nullable: true hypothesis: type: string nullable: true impact_metrics: type: array items: type: string nullable: true no_impact_metrics: type: array items: type: string nullable: true created_at: $ref: "#/components/schemas/DateTime" updated_at: $ref: "#/components/schemas/DateTime" observations: type: string nullable: true outcome: type: string nullable: true attachments: type: string nullable: true variants: type: string nullable: true flow_ids: type: array items: type: string nullable: true paused_showing_variant: type: string nullable: true winner_variant: type: string nullable: true status: $ref: "#/components/schemas/ExperimentStatus" nullable: true required: - id - experimentId - flowId - created_at - updated_at ErrorBody: title: ErrorBody type: object properties: code: type: string message: type: string required: - code - message Limit: title: Limit type: integer description: The number of entries to return (defaults to 10). Sort: title: Sort type: string description: the key that you want to sort by (defaults to sorting by last updated) Direction: title: Direction type: string enum: - ASC - DESC description: The direction to sort by (defaults to DESC) DateTime: title: DateTime type: string description: A Date + Time string in ISO format ProjectId: title: ProjectId type: string description: The unique identifier for a Project in the database Project: title: Project type: object properties: id: $ref: "#/components/schemas/ProjectId" title: type: string example: My Example Project required: - id - title UnauthorizedErrorBody: title: UnauthorizedErrorBody type: object properties: error: $ref: "#/components/schemas/ErrorBody" projectId: $ref: "#/components/schemas/ProjectId" required: - error - projectId securitySchemes: {} servers: - url: https://api.embeddables.com description: Production