Story
This API is the main entry point for creating, editing and publishing analytics throught the Presalytics API
COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.0",
"servers": [
{
"url": "/story"
}
],
"info": {
"description": "This API is the main entry point for creating, editing and publishing analytics throught the Presalytics API",
"title": "Story",
"version": "0.3.1",
"x-apisguru-categories": [
"analytics"
],
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_presalytics_io_static_img_Logo_Logos_Orange-White_navbar.svg"
},
"x-origin": [
{
"format": "openapi",
"url": "https://api.presalytics.io/story/openapi.json",
"version": "3.0"
}
],
"x-providerName": "presalytics.io",
"x-serviceName": "story"
},
"tags": [
{
"description": "Story",
"name": "Story"
},
{
"description": "Story Collaborators",
"name": "Story Collaborators"
},
{
"description": "Permissions and Authorization",
"name": "Permissions"
}
],
"paths": {
"/": {
"get": {
"description": "Returns a list of stories for this user identifie via the access token presentated to the api",
"operationId": "story_get",
"parameters": [
{
"$ref": "#/components/parameters/include_relationships"
},
{
"$ref": "#/components/parameters/include_outline"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/story"
},
"type": "array"
}
}
},
"description": "List of stories for this user"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story: Get List of User Stories",
"tags": [
"Story"
],
"x-operationName": "list"
},
"post": {
"description": "Upload new story to presalytics api",
"operationId": "story_post",
"parameters": [
{
"$ref": "#/components/parameters/include_outline"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/outline"
}
}
},
"description": "A story outline json object",
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/story"
},
"415": {
"$ref": "#/components/responses/unsupported_media_type"
},
"422": {
"$ref": "#/components/responses/unprocessable_entity"
}
},
"summary": "Story: Upload",
"tags": [
"Story"
]
}
},
"/cache": {
"post": {
"description": "An endpoint for Presalytics Renderers to cache html subdocuments for subsequent retrieval by the browser. Documents Are retrieved via token expire after 1 minute.",
"operationId": "cache_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/cache_post_request"
}
}
},
"description": "parameters to identify an update a collaborator across multiple stories",
"required": true
},
"responses": {
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Cache: Store Subdocument",
"tags": [
"Cache"
]
}
},
"/cache/{nonce}": {
"get": {
"description": "An endpoint for broswer retreive html documents that were cached durin the rendering process via a nonce (token)",
"operationId": "cache_nonce_get",
"parameters": [
{
"$ref": "#/components/parameters/nonce"
}
],
"responses": {
"200": {
"content": {
"text/html": {
"schema": {
"description": "html document with a link to the login page",
"title": "Login Button",
"type": "string"
}
}
},
"description": "A cached html subdocument (typically loaded via iframe)"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Cache: Get Subdocument",
"tags": [
"Cache"
]
}
},
"/collaborators": {
"post": {
"description": "Allows for bulk updates on collaborator metadata. Restricted to internal admins",
"operationId": "collaborators_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/collaborator_bulk_update_request"
}
}
},
"description": "parameters to identify an update a collaborator across multiple stories",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/permission_type"
},
"title": "List of Permission Types",
"type": "array"
}
}
},
"description": "Array of all possible permission types"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Collborators: Bulk Update (Admin Only)",
"tags": [
"Restricted"
]
}
},
"/environment/": {
"get": {
"description": "pass rendering metadata to the client-side scripts",
"operationId": "get_environment",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"description": "Success"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
}
},
"summary": "Environment: Get"
}
},
"/file": {
"post": {
"description": "Upload new story to presalytics api via an Open Office Xml file",
"operationId": "story_post_file",
"parameters": [
{
"$ref": "#/components/parameters/include_outline"
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"description": "A pptx or xlsx object from which to start creation of a story",
"properties": {
"file": {
"items": {
"format": "binary",
"type": "string"
},
"type": "array"
}
},
"title": "Open Office Xml document (e.g., xlsx, pptx file)"
}
}
},
"description": "A pptx or xlsx file upload or story outline json object",
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/story"
},
"415": {
"$ref": "#/components/responses/unsupported_media_type"
},
"422": {
"$ref": "#/components/responses/unprocessable_entity"
}
},
"summary": "Story: Upload a File",
"tags": [
"Story"
],
"x-operationName": "upload-file"
}
},
"/file/json": {
"post": {
"description": "Upload new story to presalytics api via an Open Office Xml file",
"operationId": "story_post_file_json",
"parameters": [
{
"$ref": "#/components/parameters/include_outline"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/file_upload"
}
}
},
"description": "A json-formatted object that includes a base64 encoded file (file encoded utf-8)"
},
"responses": {
"200": {
"$ref": "#/components/responses/story"
},
"415": {
"$ref": "#/components/responses/unsupported_media_type"
},
"422": {
"$ref": "#/components/responses/unprocessable_entity"
}
},
"summary": "Story: Upload a File (base64)",
"tags": [
"Story"
],
"x-operationName": "upload-file-json"
}
},
"/no_tags_spec": {
"get": {
"description": "json-formatted version of this spec with the tags removed to help with codegen processes",
"operationId": "spec_no_tags",
"responses": {
"200": {
"description": "Success"
},
"400": {
"$ref": "#/components/responses/badrequest"
}
},
"summary": "Specification: No tags"
}
},
"/outline-schema/{schema_version}/story-outline.json": {
"get": {
"description": "Json Schema for validating Story Outline objects",
"operationId": "story_outline_schema",
"parameters": [
{
"$ref": "#/components/parameters/schema_version"
}
],
"responses": {
"200": {
"description": "Success"
},
"400": {
"$ref": "#/components/responses/badrequest"
}
},
"summary": "Story Outline Schema",
"tags": [
"Schemas"
]
}
},
"/permission_types": {
"get": {
"description": "Returns a list of possible user permission types",
"operationId": "story_permission_types_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/permission_type"
},
"title": "List of Permission Types",
"type": "array"
}
}
},
"description": "Array of all possible permission types"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Permissions: List Permission Types",
"tags": [
"Permissions"
],
"x-operationName": "list"
}
},
"/sessions/{session_id}": {
"delete": {
"description": "Remove a session and dependant data.",
"operationId": "session_id_delete",
"parameters": [
{
"$ref": "#/components/parameters/session_id"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Sessions: Delete by Id",
"tags": [
"Sessions"
]
},
"get": {
"description": "Get session metadata",
"operationId": "session_id_get",
"parameters": [
{
"$ref": "#/components/parameters/session_id"
},
{
"$ref": "#/components/parameters/include_relationships"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/session"
}
}
},
"description": "A session object"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Sessions: Get",
"tags": [
"Sessions"
],
"x-operationName": "get-session-id"
}
},
"/sessions/{session_id}/views": {
"get": {
"description": "Get data for all views in a session",
"operationId": "sessions_id_views_get",
"parameters": [
{
"$ref": "#/components/parameters/session_id"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/view"
},
"type": "array"
}
}
},
"description": "A List of session views"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Views: List Session Views",
"tags": [
"Views"
],
"x-operationName": "get-views"
},
"post": {
"description": "Create a page view object for a viewing session",
"operationId": "sessions_id_views_post",
"parameters": [
{
"$ref": "#/components/parameters/session_id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"description": "A page view required a page number from the story outline to be created",
"properties": {
"activeMSecs": {
"type": "integer"
},
"additional": {
"type": "string"
},
"endTime": {
"format": "date-time",
"type": "string"
},
"pageNumber": {
"type": "integer"
},
"startTime": {
"format": "date-time",
"type": "string"
}
},
"required": [
"pageNumber",
"startTime",
"endTime"
],
"title": "Required parameters to create a view",
"type": "object"
}
}
},
"description": "Collaborator user id and permission type",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/view"
}
}
},
"description": "A new view object"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Views: Create A Session View",
"tags": [
"Views"
],
"x-operationName": "create-view"
}
},
"/views/{view_id}": {
"delete": {
"description": "Remove a view and dependant data.",
"operationId": "views_id_delete",
"parameters": [
{
"$ref": "#/components/parameters/view_id"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Views: Delete by Id",
"tags": [
"Views"
]
},
"get": {
"description": "Get view meta data",
"operationId": "views_id_get",
"parameters": [
{
"$ref": "#/components/parameters/view_id"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/view"
}
}
},
"description": "A List of session views"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Views: Get View",
"tags": [
"Views"
],
"x-operationName": "get-view-id"
}
},
"/{id}": {
"delete": {
"description": "Remove a story and dependant data.",
"operationId": "story_id_delete",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story: Delete by Id",
"tags": [
"Story"
]
},
"get": {
"description": "Returns story metadata, inlcuding json object with story outline",
"operationId": "story_id_get",
"parameters": [
{
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/components/parameters/include_relationships"
},
{
"$ref": "#/components/parameters/include_outline"
},
{
"$ref": "#/components/parameters/full"
},
{
"$ref": "#/components/parameters/refresh_cache"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/story"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story: Get by Id",
"tags": [
"Story"
]
},
"put": {
"description": "Update story metadata, including story outline",
"operationId": "story_id_put",
"parameters": [
{
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/components/parameters/include_outline"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/story"
}
}
},
"description": "The updated story object",
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/story"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story: Modify",
"tags": [
"Story"
]
}
},
"/{id}/analytics": {
"get": {
"description": "returns an html document containing session and event metrics for the story",
"operationId": "story_id_analytics",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"description": "html document with reveal.js presenation of story",
"title": "reveal.js presenation with analytics data",
"type": "string"
}
}
},
"description": "An html document containing session analytics for the story"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"content": {
"text/html": {
"schema": {
"description": "html document with a link to the login page",
"title": "Login Button",
"type": "string"
}
}
},
"description": "An html document containing a login button"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story: View Analytics",
"tags": [
"Story"
],
"x-operationName": "getAnalytics"
}
},
"/{id}/collaborators": {
"get": {
"description": "Gets a list users that can read or edit this story",
"operationId": "story_id_collaborators_get",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/story_collaborator"
},
"type": "array"
}
}
},
"description": "List of collaborators on the story"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story Collaborators: List",
"tags": [
"Story Collaborators"
],
"x-operationName": "list"
},
"post": {
"description": "Add a colloborator to this story",
"operationId": "story_id_collaborators_post",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/add_new_collaborator_request"
}
}
},
"description": "Collaborator user id and permission type",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/story_collaborator"
}
}
},
"description": "Collaborator data"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story Collaborators: Add New User",
"tags": [
"Story Collaborators"
]
}
},
"/{id}/collaborators/authorize/{story_collaborator_userid}/{permissiontype}": {
"get": {
"description": "Check whether user have certain types of permissions. Use http status codes to understand if permission is granted - 204 = Granted, 403 = Forbidden",
"operationId": "story_id_collaborators_userid_permissiontype_get",
"parameters": [
{
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/components/parameters/story_collaborator_userid"
},
{
"description": "the type of permission requested. can be a permission_type object name (e.g., owner, editor, create, viewer, admin) or a permission type field (e.g., can_edit, can_view, can_add_collaborators, can_delete)",
"in": "path",
"name": "permissiontype",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Permissions: Story Authorization for a User",
"tags": [
"Permissions"
],
"x-operationName": "check-auth"
}
},
"/{id}/collaborators/inactive": {
"post": {
"description": "Edit story permissions for inactive users. Requires admin rights.",
"operationId": "story_id_collaborators_inactive_post",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/modify_inactive_collaborator"
}
}
},
"description": "Collaborator user id and permission type",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/story_collaborator"
}
}
},
"description": "Collaborator data"
},
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story Collaborators: Edit Inactive User Permission",
"tags": [
"Story Collaborators"
]
}
},
"/{id}/collaborators/{story_collaborator_userid}": {
"delete": {
"description": "Remove a collaborator from this story",
"operationId": "story_id_collaborators_userid_delete",
"parameters": [
{
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/components/parameters/story_collaborator_userid"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story Collaborators: Remove User",
"tags": [
"Story Collaborators"
]
},
"get": {
"description": "Data to help you understand the access rights of a particular collaborator on this story",
"operationId": "story_id_collaborators_userid_get",
"parameters": [
{
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/components/parameters/story_collaborator_userid"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/story_collaborator"
}
}
},
"description": "Collaborator data"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story Collaborators: Access Permissions",
"tags": [
"Story Collaborators"
]
},
"put": {
"description": "Modify a user's access right to this story (e.g., grant edit permissions)",
"operationId": "story_id_collaborators_userid_put",
"parameters": [
{
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/components/parameters/story_collaborator_userid"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/story_collaborator"
}
}
},
"description": "Collaborator user id (presalytics userid) and permission type",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/story_collaborator"
}
}
},
"description": "Collaborator data"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story Collaborators: Edit Access Rights",
"tags": [
"Story Collaborators"
]
}
},
"/{id}/events": {
"get": {
"description": "Get a list of Events available to users of this story",
"operationId": "story_id_events_get",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/event"
},
"type": "array"
}
}
},
"description": "An Array of events"
},
"401": {
"$ref": "#/components/responses/unauthorized"
}
},
"summary": "Events: List Events",
"tags": [
"Events"
],
"x-operationName": "get-events"
},
"post": {
"description": "Add a message to the Story's conversation",
"operationId": "story_id_events_post",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/manage_event"
}
}
},
"description": "Collaborator user id and permission type",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"description": "A repsonse to the requested action"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Events: Manage Events",
"tags": [
"Events"
],
"x-operationName": "post-events"
}
},
"/{id}/file": {
"post": {
"description": "Upload a file to an existing story",
"operationId": "story_id_file_post",
"parameters": [
{
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/components/parameters/replace_existing"
},
{
"$ref": "#/components/parameters/obsolete_id"
},
{
"$ref": "#/components/parameters/include_outline"
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"description": "A pptx or xlsx object from which to start creation of a story",
"properties": {
"file": {
"items": {
"format": "binary",
"type": "string"
},
"type": "array"
}
},
"title": "Open Office Xml document (e.g., xlsx, pptx file)"
}
}
},
"description": "A pptx or xlsx file upload or story outline json object",
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/story"
},
"415": {
"$ref": "#/components/responses/unsupported_media_type"
},
"422": {
"$ref": "#/components/responses/unprocessable_entity"
}
},
"summary": "Story: Upload a File To Existing Story",
"tags": [
"Story"
],
"x-operationName": "update"
}
},
"/{id}/file/{ooxml_automation_id}": {
"delete": {
"description": "Deletes a subdcoument of this story (e.g., .pptx, .docx, .xlsx)",
"operationId": "story_id_file_ooxmlautomationid_delete",
"parameters": [
{
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/components/parameters/ooxml_automation_id"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story: Delete Subdocument",
"tags": [
"Story"
],
"x-operationName": "download"
},
"get": {
"description": "Redtreives updated story as open office xml file (e.g., .pptx, .docx, .xlsx)",
"operationId": "story_id_file_ooxmlautomationid_get",
"parameters": [
{
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/components/parameters/ooxml_automation_id"
}
],
"responses": {
"200": {
"content": {
"application/vnd.openxmlformats-officedocument.presentationml.presentation": {
"schema": {
"format": "binary",
"title": "Powerpoint presentation",
"type": "string"
}
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
"schema": {
"format": "binary",
"title": "Word document",
"type": "string"
}
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
"schema": {
"format": "binary",
"title": "Excel spreadsheet",
"type": "string"
}
}
},
"description": "The latest versiono of the story, in its orginal file format"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story: Download Updated File",
"tags": [
"Story"
],
"x-operationName": "download"
}
},
"/{id}/messages": {
"get": {
"description": "Get a list of messages that have been send in this story",
"operationId": "story_id_messages_get",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/message"
},
"type": "array"
}
}
},
"description": "An Array of conversation messages"
},
"401": {
"$ref": "#/components/responses/unauthorized"
}
},
"summary": "Conversation: List Conversation Messages",
"tags": [
"Conversation"
],
"x-operationName": "get-messages"
},
"post": {
"description": "Add a message to the Story's conversation",
"operationId": "story_id_messages_post",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "The message text",
"required": true
},
"responses": {
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Conversation: Send a Message",
"tags": [
"Conversation"
],
"x-operationName": "post-messages"
}
},
"/{id}/outline": {
"get": {
"description": "Returns Story's outline",
"operationId": "story_id_outline_get",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "Stringified Story outline"
},
"202": {
"$ref": "#/components/responses/accepted"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
},
"410": {
"$ref": "#/components/responses/gone"
}
},
"summary": "Story: Get Story Outline",
"tags": [
"Story"
],
"x-operationName": "getOutline"
},
"post": {
"description": "Update a story outline.",
"operationId": "story_id_outline_post",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "A story outline object",
"required": true
},
"responses": {
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story: Post Story Outline",
"tags": [
"Story"
],
"x-operationName": "postOutline"
}
},
"/{id}/public/": {
"get": {
"description": "returns an html document containing a reveal.js epresentation of the story, if the story if set to is_public = True",
"operationId": "story_id_public",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"description": "html document with reveal.js presenation of story",
"title": "reveal.js presenation",
"type": "string"
}
}
},
"description": "An html document containing a reveal.js represenation of the story"
},
"302": {
"description": "Not Found redirect"
},
"400": {
"$ref": "#/components/responses/badrequest"
}
},
"summary": "Story: Public Link to Story Reveal.js Document",
"tags": [
"Story"
],
"x-operationName": "getPublic"
}
},
"/{id}/reveal": {
"get": {
"description": "returns an html document containing a reveal.js epresentation of the story",
"operationId": "story_id_reveal",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"description": "html document with reveal.js presenation of story",
"title": "reveal.js presenation",
"type": "string"
}
}
},
"description": "An html document containing a reveal.js represenation of the story"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"content": {
"text/html": {
"schema": {
"description": "html document with a link to the login page",
"title": "Login Button",
"type": "string"
}
}
},
"description": "An html document containing a login button"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story: Get Story at Reveal.js Document",
"tags": [
"Story"
],
"x-operationName": "getHtml"
}
},
"/{id}/sessions": {
"get": {
"description": "Get a list of sessions asscoaited with this story",
"operationId": "story_id_sessions_get",
"parameters": [
{
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/components/parameters/include_relationships"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/session"
},
"type": "array"
}
}
},
"description": "An array of session objects"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Sessions: List Story Sessions",
"tags": [
"Sessions"
],
"x-operationName": "get-sessions"
},
"post": {
"description": "Create a new session",
"operationId": "story_id_session_post",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create_session_request"
}
}
},
"description": "Collaborator user id and permission type",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/session"
}
}
},
"description": "A new session object"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Sessions: Create a Session",
"tags": [
"Sessions"
],
"x-operationName": "create-session"
}
},
"/{id}/status": {
"get": {
"description": "Returns code indicating whether story has active running background and is healthy (e.g., the latest outline is valid)",
"operationId": "story_id_status_get",
"parameters": [
{
"$ref": "#/components/parameters/id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/accepted"
},
"204": {
"$ref": "#/components/responses/success_response_no_content"
},
"400": {
"$ref": "#/components/responses/badrequest"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"404": {
"$ref": "#/components/responses/notfound"
}
},
"summary": "Story: Get Story Status",
"tags": [
"Story"
],
"x-operationName": "getStatus"
}
}
},
"components": {
"parameters": {
"d3_id": {
"description": "A d3 figure id from a D3Widget instance in the Presaltyics Python Library",
"in": "path",
"name": "d3_id",
"required": true,
"schema": {
"type": "string"
}
},
"figure_id": {
"description": "A matplotlib figure id from a MatplotlibResponsiveFigure instance in the Presaltyics Python Library",
"in": "path",
"name": "figure_id",
"required": true,
"schema": {
"type": "string"
}
},
"full": {
"description": "Pull a story object with associated collaborator user, permission, and session data(faster if cached from prior api call)",
"in": "query",
"name": "full",
"required": false,
"schema": {
"type": "boolean"
}
},
"id": {
"description": "the id from the story object",
"in": "path",
"name": "id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
"include_outline": {
"description": "Determines whether a repsonse including story objects should include the story outline. Defaults to true. Useful for speeding up processing times.",
"in": "query",
"name": "include_outline",
"required": false,
"schema": {
"type": "boolean"
}
},
"include_relationships": {
"description": "Indicate whether the returned object should include child relationships",
"in": "query",
"name": "include_relationships",
"required": false,
"schema": {
"type": "boolean"
}
},
"nonce": {
"description": "A one-time use token for retieving items in the users cache",
"in": "path",
"name": "nonce",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
"obsolete_id": {
"description": "A primary key pointing to an obsolete item in the story. Item type is context-dependent",
"in": "query",
"name": "obsolete_id",
"required": false,
"schema": {
"format": "uuid",
"type": "string"
}
},
"ooxml_automation_id": {
"description": "the id of the ooxml_automation object",
"in": "path",
"name": "ooxml_automation_id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
"permissiontype": {
"description": "The type of access required. Must match - admin, owner, editor, viewer",
"in": "path",
"name": "permissiontype",
"required": true,
"schema": {
"type": "string"
}
},
"refresh_cache": {
"description": "Force the api reload the `Story full` object",
"in": "query",
"name": "refresh_cache",
"required": false,
"schema": {
"type": "boolean"
}
},
"replace_existing": {
"description": "Indicates whether a put or post method would replace the existing contents",
"in": "query",
"name": "replace_existing",
"required": false,
"schema": {
"type": "boolean"
}
},
"schema_version": {
"description": "The semanitic version of a schema (e.g. '0.3.1')",
"in": "path",
"name": "schema_version",
"required": true,
"schema": {
"type": "string"
}
},
"session_id": {
"description": "The primary key for a view session",
"in": "path",
"name": "session_id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
"story_collaborator_userid": {
"description": "The presalytics userid (NOT the Id of the story_collaborator object)",
"in": "path",
"name": "story_collaborator_userid",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
"view_id": {
"description": "The primary key for a page view within a session",
"in": "path",
"name": "view_id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
}
},
"responses": {
"accepted": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/status"
}
}
},
"description": "Accepted"
},
"badrequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/problem_detail"
}
}
},
"description": "Bad Request"
},
"forbidden": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/problem_detail"
}
}
},
"description": "Forbidden"
},
"gone": {
"description": "Gone"
},
"notfound": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/problem_detail"
}
}
},
"description": "Not found"
},
"outline": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/outline"
}
}
},
"description": "Success responses with story object"
},
"story": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/story"
}
}
},
"description": "Success responses with story object"
},
"success_response_no_content": {
"description": "Success"
},
"unauthorized": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/problem_detail"
}
}
},
"description": "Unauthorized"
},
"unprocessable_entity": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/problem_detail"
}
}
},
"description": "Unprocessable Entity"
},
"unsupported_media_type": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/problem_detail"
}
}
},
"description": "Unsupported Media Type"
}
},
"schemas": {
"add_new_collaborator_request": {
"description": "required subset of collaborator data to get a permission",
"properties": {
"collaborator_type": {
"type": "string"
},
"user_email": {
"type": "string"
},
"user_id": {
"format": "uuid",
"type": "string"
}
},
"title": "Collaborator permission data"
},
"base_model": {
"description": "Base model for all types",
"properties": {
"created_at": {
"format": "date-time",
"type": "string",
"x-nullable": true
},
"created_by": {
"format": "uuid",
"type": "string",
"x-nullable": true
},
"id": {
"format": "uuid",
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string",
"x-nullable": true
},
"updated_by": {
"format": "uuid",
"type": "string",
"x-nullable": true
}
},
"title": "BaseModel"
},
"cache_post_request": {
"properties": {
"current_user_id": {
"format": "uuid",
"type": "string"
},
"nonce": {
"format": "uuid",
"type": "string"
},
"subdocument": {
"type": "string"
}
},
"title": "Cache Post Request body",
"type": "object"
},
"collaborator_bulk_update_request": {
"description": "allows for bulk updating of user_ids and active status based on a lead id or user_id",
"properties": {
"active": {
"type": "boolean"
},
"lead_id": {
"format": "int32",
"type": "integer"
},
"user_id": {
"format": "uuid",
"type": "string"
}
},
"title": "Collaborator data to change"
},
"create_session_request": {
"description": "Request body for creating a session",
"properties": {
"collaboratorUserId": {
"format": "uuid",
"type": "string"
},
"host": {
"type": "string"
}
},
"title": "session-create"
},
"event": {
"allOf": [
{
"$ref": "#/components/schemas/base_model"
},
{
"properties": {
"attributes": {
"type": "string"
},
"chat_prompt": {
"type": "string"
},
"conversation_id": {
"type": "string"
},
"dom_selectors": {
"type": "string"
},
"is_chat_hidden": {
"type": "boolean"
},
"is_notify_enabled": {
"type": "boolean"
},
"name": {
"type": "string"
}
},
"type": "object"
}
],
"description": "An Story Event object",
"title": "Event"
},
"file_upload": {
"description": "A Base64 encoded file object",
"properties": {
"content_length": {
"type": "integer"
},
"file": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mimetype": {
"type": "string"
}
},
"title": "File Upload"
},
"manage_event": {
"properties": {
"action": {
"enum": [
"create",
"fire",
"change",
"delete"
],
"type": "string"
},
"action_params": {
"additionalProperties": true,
"type": "object"
},
"name": {
"nullable": true,
"type": "string",
"x-nullable": true
}
},
"title": "Event Actions",
"type": "object"
},
"message": {
"description": "A conversation message",
"properties": {
"body": {
"type": "string"
},
"id": {
"type": "string"
},
"remote": {
"type": "boolean"
},
"timestamp": {
"format": "date-time",
"type": "string"
},
"userId": {
"format": "uuid",
"type": "string"
},
"userName": {
"type": "string"
}
},
"title": "Message"
},
"modify_inactive_collaborator": {
"description": "Action can be either \"delete\" or \"activate\". Either lead_id or user_id is required. user_id takes precedence.",
"properties": {
"action": {
"type": "string"
},
"lead_id": {
"format": "int32",
"type": "integer"
},
"user_id": {
"format": "uuid",
"type": "string"
}
},
"title": "Collaborator permission data"
},
"ooxml_document": {
"allOf": [
{
"$ref": "#/components/schemas/base_model"
},
{
"properties": {
"delete_target_on_story_delete": {
"type": "boolean"
},
"ooxml_automation_id": {
"format": "uuid",
"type": "string"
},
"story_id": {
"format": "uuid",
"type": "string"
}
},
"type": "object"
}
],
"description": "A reference to an Ooxml Automation Document from the Presalytics Ooxml Automation API",
"title": "Ooxml Document"
},
"outline": {
"description": "story_outline (json object)",
"properties": {
"outline": {
"type": "string"
}
},
"title": "Story Outline"
},
"permission_type": {
"allOf": [
{
"$ref": "#/components/schemas/base_model"
},
{
"properties": {
"can_add_collaborators": {
"type": "boolean"
},
"can_delete": {
"type": "boolean"
},
"can_edit": {
"type": "boolean"
},
"can_view": {
"type": "boolean"
},
"name": {
"type": "string"
}
},
"type": "object"
}
],
"description": "A permission type that can be applied to story collaborator",
"title": "Permission Type"
},
"problem_detail": {
"description": "Error reponse model",
"properties": {
"detail": {
"type": "string"
},
"status": {
"format": "int32",
"type": "integer"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"title": "Problem Detail"
},
"session": {
"allOf": [
{
"$ref": "#/components/schemas/base_model"
},
{
"properties": {
"collaborator": {
"$ref": "#/components/schemas/story_collaborator"
},
"collaborator_id": {
"format": "uuid",
"type": "string"
},
"host": {
"type": "string"
},
"outline_revision": {
"type": "integer"
},
"views": {
"items": {
"$ref": "#/components/schemas/view"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "A user session with an open story",
"title": "Session"
},
"status": {
"description": "Status response when returning 202s",
"properties": {
"status": {
"type": "string"
}
},
"title": "Status"
},
"story": {
"allOf": [
{
"$ref": "#/components/schemas/base_model"
},
{
"properties": {
"collaborators": {
"items": {
"$ref": "#/components/schemas/story_collaborator"
},
"type": "array",
"x-nullable": true
},
"is_public": {
"type": "boolean",
"x-nullable": true
},
"ooxml_documents": {
"items": {
"$ref": "#/components/schemas/ooxml_document"
},
"type": "array",
"x-nullable": true
},
"outline": {
"nullable": true,
"type": "string",
"x-nullable": true
},
"outline_history": {
"items": {
"$ref": "#/components/schemas/story_outline_history"
},
"type": "array",
"x-nullable": true
},
"revision": {
"format": "Int32",
"type": "integer",
"x-nullable": true
},
"title": {
"type": "string",
"x-nullable": true
}
},
"type": "object"
}
],
"description": "Model for story objects",
"title": "Story"
},
"story_collaborator": {
"allOf": [
{
"$ref": "#/components/schemas/base_model"
},
{
"properties": {
"active": {
"nullable": true,
"type": "boolean",
"x-nullable": true
},
"email": {
"type": "string"
},
"lead_id": {
"format": "int32",
"nullable": true,
"type": "integer",
"x-nullable": true
},
"name": {
"type": "string"
},
"permission_type": {
"$ref": "#/components/schemas/permission_type",
"nullable": true,
"x-nullable": true
},
"permission_type_id": {
"format": "uuid",
"type": "string"
},
"story_id": {
"format": "uuid",
"type": "string"
},
"user_id": {
"format": "uuid",
"type": "string"
}
},
"type": "object"
}
],
"description": "Description of a user that can collaborate on a story",
"title": "Story Collaborator"
},
"story_outline_history": {
"allOf": [
{
"$ref": "#/components/schemas/base_model"
},
{
"properties": {
"collaborator_user_id": {
"format": "uuid",
"type": "string"
},
"outline": {
"type": "string"
},
"revision_number": {
"format": "Int32",
"type": "integer"
},
"story_id": {
"format": "uuid",
"type": "string"
}
},
"type": "object"
}
],
"description": "A revision repository for story outlines",
"title": "Story Outline History"
},
"view": {
"allOf": [
{
"$ref": "#/components/schemas/base_model"
},
{
"properties": {
"active_msecs": {
"type": "integer"
},
"additional": {
"type": "string"
},
"end_time": {
"format": "date-time",
"type": "string"
},
"page_number": {
"type": "integer"
},
"session_id": {
"format": "uuid",
"type": "string"
},
"start_time": {
"format": "date-time",
"type": "string"
},
"total_msecs": {
"type": "integer"
}
},
"type": "object"
}
],
"description": "A Page view within a session-create",
"title": "View"
}
},
"securitySchemes": {
"jwt": {
"bearerFormat": "JWT",
"scheme": "bearer",
"type": "http"
}
}
}
}