diff --git a/independent-publisher-connectors/Jasper/apiDefinition.swagger.json b/independent-publisher-connectors/Jasper/apiDefinition.swagger.json new file mode 100644 index 000000000..eaed2761f --- /dev/null +++ b/independent-publisher-connectors/Jasper/apiDefinition.swagger.json @@ -0,0 +1,649 @@ +{ + "swagger": "2.0", + "info": { + "title": "Jasper", + "description": "Jasper is an on-brand AI platform for businesses. It helps creators use generative AI to break through writer\u2019s block, create original imagery, and repackage content into different formats, tones and languages. Unlike most AI tools which are tied to individual tools and can produce pretty generic outputs, Jasper can be trained on your brand and called up on any platform you use from email to social media to your website.", + "version": "1.0.0", + "contact": { + "name": "Troy Taylor", + "url": "https://www.hitachisolutions.com", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.jasper.ai", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/v1/command": { + "post": { + "responses": { + "201": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "requestId": { + "type": "string", + "description": "The request identifier.", + "title": "Request ID" + }, + "resource": { + "type": "string", + "description": "The resource.", + "title": "Resource" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + }, + "text": { + "type": "string", + "description": "The text.", + "title": "Text" + } + } + }, + "title": "Data" + } + } + } + } + }, + "summary": "Run command", + "description": "Run a command to generate an AI output.", + "operationId": "CommandPost", + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "inputs": { + "type": "object", + "properties": { + "command": { + "type": "string", + "description": "The command.", + "title": "Command" + }, + "context": { + "type": "string", + "description": "The context.", + "title": "Context" + } + }, + "title": "Inputs", + "required": [ + "command" + ] + }, + "options": { + "type": "object", + "properties": { + "outputCount": { + "type": "integer", + "format": "int32", + "description": "The output count.", + "title": "Output Count", + "default": 3 + }, + "inputLanguage": { + "type": "string", + "description": "The input language.", + "title": "Input Language", + "default": "English", + "enum": [ + "English", + "French", + "Italian", + "Spanish", + "Portuguese", + "German" + ] + }, + "outputLanguage": { + "type": "string", + "description": "The output language.", + "title": "Output Language", + "default": "English", + "enum": [ + "English", + "French", + "Italian", + "Spanish", + "Portuguese", + "German" + ] + }, + "languageFormality": { + "type": "string", + "description": "The language formality.", + "title": "Language Formality", + "default": "default", + "enum": [ + "default", + "more", + "less" + ] + }, + "completionType": { + "type": "string", + "description": "The completion type.", + "title": "Completion Type", + "default": "performance", + "enum": [ + "performance", + "quality" + ] + } + }, + "title": "Options" + } + }, + "required": [ + "inputs" + ] + } + } + ] + } + }, + "/v1/keep-writing": { + "post": { + "responses": { + "201": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + }, + "text": { + "type": "string", + "description": "The text.", + "title": "Text" + } + } + }, + "title": "Data" + }, + "requestId": { + "type": "string", + "description": "The request identifier.", + "title": "Request ID" + }, + "resource": { + "type": "string", + "description": "The resource.", + "title": "Resource" + } + } + } + } + }, + "summary": "Run keep writing", + "description": "Continue writing content by using a previous AI text output or other written content as background information.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "inputs": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type.", + "title": "Type", + "default": "text", + "enum": [ + "text", + "id" + ] + }, + "value": { + "type": "string", + "description": "The value.", + "title": "Value" + } + }, + "title": "Inputs", + "required": [ + "type", + "value" + ] + }, + "options": { + "type": "object", + "properties": { + "inputLanguage": { + "type": "string", + "description": "The input language.", + "title": "Input Language", + "default": "English", + "enum": [ + "English", + "French", + "Italian", + "Spanish", + "Portuguese", + "German" + ] + }, + "outputLanguage": { + "type": "string", + "description": "The output language.", + "title": "Output Language", + "default": "English", + "enum": [ + "English", + "French", + "Italian", + "Spanish", + "Portuguese", + "German" + ] + }, + "languageFormality": { + "type": "string", + "description": "The language formality.", + "title": "Language Formality", + "default": "default", + "enum": [ + "default", + "more", + "less" + ] + } + }, + "title": "Options" + } + }, + "required": [ + "inputs" + ] + } + } + ], + "operationId": "KeepWritingPost" + } + }, + "/v1/templates": { + "get": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "inputSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "inputKey": { + "type": "string", + "description": "The input key.", + "title": "Input Key" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "required": { + "type": "boolean", + "description": "Whether required.", + "title": "Required" + }, + "label": { + "type": "string", + "description": "The label.", + "title": "Label" + }, + "maxLength": { + "type": "integer", + "format": "int32", + "description": "The maximum length.", + "title": "Max Length" + }, + "placeholder": { + "type": "string", + "description": "The placeholder.", + "title": "Placeholder" + }, + "tooltip": { + "type": "string", + "description": "The tooltip.", + "title": "Tooltip" + } + } + }, + "title": "Input Schema" + } + } + }, + "title": "Data" + }, + "requestId": { + "type": "string", + "description": "The request identifier.", + "title": "Request ID" + }, + "resource": { + "type": "string", + "description": "The resource.", + "title": "Resource" + } + } + } + } + }, + "summary": "Retrieve templates", + "description": "Retrieve all templates available in your workspace including default templates and custom templates.", + "operationId": "TemplatesGet", + "parameters": [] + } + }, + "/v1/templates/{templateId}": { + "get": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "inputSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "inputKey": { + "type": "string", + "description": "The input key.", + "title": "Input Key" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "required": { + "type": "boolean", + "description": "Whether required.", + "title": "Required" + }, + "label": { + "type": "string", + "description": "The label.", + "title": "Label" + }, + "maxLength": { + "type": "integer", + "format": "int32", + "description": "The maximum length.", + "title": "Max Length" + }, + "placeholder": { + "type": "string", + "description": "The placeholder.", + "title": "Placeholder" + } + } + }, + "title": "Input Schema" + } + }, + "title": "Data" + }, + "requestId": { + "type": "string", + "description": "The request identifier.", + "title": "Request ID" + }, + "resource": { + "type": "string", + "description": "The resource.", + "title": "Resource" + } + } + } + } + }, + "summary": "Retrieve template by ID", + "description": "Retrieve an individual default or custom template available in your workspace by identifier.", + "operationId": "TemplateGet", + "parameters": [ + { + "name": "templateId", + "in": "path", + "x-ms-summary": "Template ID", + "x-ms-url-encoding": "single", + "description": "The template identifier.", + "required": true, + "type": "string" + } + ] + } + }, + "/v1/templates/{templateId}/run": { + "post": { + "responses": { + "201": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "requestId": { + "type": "string", + "description": "The request identifier.", + "title": "Request ID" + }, + "resource": { + "type": "string", + "description": "The resource.", + "title": "Resource" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + }, + "text": { + "type": "string", + "description": "The text.", + "title": "Text" + } + } + }, + "title": "Data" + } + } + } + } + }, + "summary": "Run template", + "description": "Run a default template or custom template by identifier to generate an AI output.", + "operationId": "TemplatePost", + "parameters": [ + { + "name": "templateId", + "in": "path", + "x-ms-summary": "Template ID", + "x-ms-url-encoding": "single", + "description": "The template identifier.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "inputs": { + "type": "object", + "properties": {}, + "description": "The inputs.", + "title": "Inputs" + }, + "options": { + "type": "object", + "properties": { + "outputCount": { + "type": "integer", + "format": "int32", + "description": "The output count.", + "title": "Output Count" + }, + "inputLanguage": { + "type": "string", + "description": "The input language.", + "title": "Input Language", + "default": "English", + "enum": [ + "English", + "French", + "Italian", + "Spanish", + "Portuguese", + "German" + ] + }, + "outputLanguage": { + "type": "string", + "description": "The output language.", + "title": "Output Language", + "default": "English", + "enum": [ + "English", + "French", + "Italian", + "Spanish", + "Portuguese", + "German" + ] + }, + "languageFormality": { + "type": "string", + "description": "The language formality.", + "title": "Language Formality", + "default": "default", + "enum": [ + "default", + "more", + "less" + ] + } + }, + "title": "Options" + } + } + } + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "API Key": { + "type": "apiKey", + "in": "header", + "name": "X-API-Key" + } + }, + "security": [ + { + "API Key": [] + } + ], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://www.jasper.ai/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://privacy.jasper.ai/policies" + }, + { + "propertyName": "Categories", + "propertyValue": "AI" + } + ] +} diff --git a/independent-publisher-connectors/Jasper/apiProperties.json b/independent-publisher-connectors/Jasper/apiProperties.json new file mode 100644 index 000000000..76f9655a4 --- /dev/null +++ b/independent-publisher-connectors/Jasper/apiProperties.json @@ -0,0 +1,23 @@ +{ + "properties": { + "connectionParameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "displayName": "API Key", + "description": "The API Key for this api", + "tooltip": "Provide your API Key", + "constraints": { + "tabIndex": 2, + "clearText": false, + "required": "true" + } + } + } + }, + "iconBrandColor": "#da3b01", + "capabilities": [], + "publisher": "Troy Taylor", + "stackOwner": "Jasper AI" + } +} \ No newline at end of file diff --git a/independent-publisher-connectors/Jasper/readme.md b/independent-publisher-connectors/Jasper/readme.md new file mode 100644 index 000000000..46389942a --- /dev/null +++ b/independent-publisher-connectors/Jasper/readme.md @@ -0,0 +1,25 @@ +# Jasper +Jasper is an on-brand AI platform for businesses. It helps creators use generative AI to break through writer’s block, create original imagery, and repackage content into different formats, tones and languages. Unlike most AI tools which are tied to individual tools and can produce pretty generic outputs, Jasper can be trained on your brand and called up on any platform you use from email to social media to your website. + +## Publisher: Troy Taylor, Hitachi Solutions + +## Prerequisites +You will need to sign up for a Business plan with [Jasper](https://www.jasper.ai/contact-sales). + +## Obtaining Credentials +Once logged in to your workspace, navigate to the Integrations page to generate a new API Token. + +## Supported Operations +### Run command +Run a command to generate an AI output. +### Run keep writing +Continue writing content by using a previous AI text output or other written content as background information. +### Retrieve templates +Retrieve all templates available in your workspace including default templates and custom templates. +### Retrieve template by ID +Retrieve an individual default or custom template available in your workspace by identifier. +### Run template +Run a default template or custom template by identifier to generate an AI output. + +## Known Issues and Limitations +There are no known issues at this time.