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 - embeddable_id: flow_myexampleembeddable version_number: 2 - embeddable_id: flow_myexampleembeddable version_number: 3 "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 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: 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 last_updated: "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 last_updated: "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 last_updated: "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 last_updated: "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/EntryEvent" 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 - 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 "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}: 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" required: - embeddable_id - version_number 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 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" last_updated: $ref: "#/components/schemas/DateTime" entry_data: $ref: "#/components/schemas/EntryData" required: - entry_id - group_id - project_id - embeddable_id - contact_id - last_updated - entry_data EntryEvent: title: EntryEvent 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" 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 required: - entry_id - contact_id - project_id - group_id - embeddable_id - embeddable_version_number - timestamp - event_type EntryNotFoundErrorBody: title: EntryNotFoundErrorBody type: object properties: error: $ref: "#/components/schemas/ErrorBody" entryId: $ref: "#/components/schemas/EntryId" required: - error - entryId 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 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