Managing copilots via API
Validate swagger file
Validate a given swagger file and provide recommendations (first create a copilot then validate it here).
GET
/
backend
/
api
/
copilot
/
:id
/
validator
Path
curl --location 'http://example.com/backend/api/copilot/:id/validator' \
--header 'Accept: application/json'
{
"chatbot_id": "1ca91513-fc59-4868-9965-0112ca3393f4",
"all_endpoints": [
{
"operationId": "updatePet",
"type": "PUT",
"name": "Update an existing pet",
"description": "Update an existing pet by Id",
"requestBody": {
"description": "Update an existent pet in the store",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
},
"required": true
},
"requestParameters": null,
"responseBody": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
}
},
"400": {
"description": "Invalid ID supplied"
},
"404": {
"description": "Pet not found"
},
"405": {
"description": "Validation exception"
}
},
"path": "/pet"
},
{
"operationId": null,
"type": "POST",
"name": "Add a new pet to the store",
"description": "Add a new pet to the store",
"requestBody": {
"description": "Create a new pet in the store",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
},
"required": true
},
"requestParameters": null,
"responseBody": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
}
},
"405": {
"description": "Invalid input"
}
},
"path": "/pet"
},
],
"validations": {
"endpoints_without_operation_id": {
"1": {
"operationId": null,
"type": "POST",
"name": "Add a new pet to the store",
"description": "Add a new pet to the store",
"requestBody": {
"description": "Create a new pet in the store",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
},
"required": true
},
"requestParameters": null,
"responseBody": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
}
},
"405": {
"description": "Invalid input"
}
},
"path": "/pet"
}
},
"endpoints_without_description": {
"5": {
"operationId": "updatePetWithForm",
"type": "POST",
"name": "Updates a pet in the store with form data",
"description": "",
"requestBody": null,
"requestParameters": [
{
"name": "petId",
"in": "path",
"description": "ID of pet that needs to be updated",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "name",
"in": "query",
"description": "Name of pet that needs to be updated",
"schema": {
"type": "string"
}
},
{
"name": "status",
"in": "query",
"description": "Status of pet that needs to be updated",
"schema": {
"type": "string"
}
}
],
"responseBody": {
"405": {
"description": "Invalid input"
}
},
"path": "/pet/{petId}"
},
"7": {
"operationId": "uploadFile",
"type": "POST",
"name": "uploads an image",
"description": "",
"requestBody": {
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"requestParameters": [
{
"name": "petId",
"in": "path",
"description": "ID of pet to update",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "additionalMetadata",
"in": "query",
"description": "Additional Metadata",
"required": false,
"schema": {
"type": "string"
}
}
],
"responseBody": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"path": "/pet/{petId}/uploadImage"
},
},
"endpoints_without_name": [],
"auth_type": "oauth2"
}
}
Body
id
string
The uuid of the copilot to validate
Response
chatbot_id
string
The uuid of the copilot that was validated
all_endpoints
Array of endpoint objects
validations
object
Validations for various endpoints and properties
curl --location 'http://example.com/backend/api/copilot/:id/validator' \
--header 'Accept: application/json'
{
"chatbot_id": "1ca91513-fc59-4868-9965-0112ca3393f4",
"all_endpoints": [
{
"operationId": "updatePet",
"type": "PUT",
"name": "Update an existing pet",
"description": "Update an existing pet by Id",
"requestBody": {
"description": "Update an existent pet in the store",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
},
"required": true
},
"requestParameters": null,
"responseBody": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
}
},
"400": {
"description": "Invalid ID supplied"
},
"404": {
"description": "Pet not found"
},
"405": {
"description": "Validation exception"
}
},
"path": "/pet"
},
{
"operationId": null,
"type": "POST",
"name": "Add a new pet to the store",
"description": "Add a new pet to the store",
"requestBody": {
"description": "Create a new pet in the store",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
},
"required": true
},
"requestParameters": null,
"responseBody": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
}
},
"405": {
"description": "Invalid input"
}
},
"path": "/pet"
},
],
"validations": {
"endpoints_without_operation_id": {
"1": {
"operationId": null,
"type": "POST",
"name": "Add a new pet to the store",
"description": "Add a new pet to the store",
"requestBody": {
"description": "Create a new pet in the store",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
},
"required": true
},
"requestParameters": null,
"responseBody": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
}
},
"405": {
"description": "Invalid input"
}
},
"path": "/pet"
}
},
"endpoints_without_description": {
"5": {
"operationId": "updatePetWithForm",
"type": "POST",
"name": "Updates a pet in the store with form data",
"description": "",
"requestBody": null,
"requestParameters": [
{
"name": "petId",
"in": "path",
"description": "ID of pet that needs to be updated",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "name",
"in": "query",
"description": "Name of pet that needs to be updated",
"schema": {
"type": "string"
}
},
{
"name": "status",
"in": "query",
"description": "Status of pet that needs to be updated",
"schema": {
"type": "string"
}
}
],
"responseBody": {
"405": {
"description": "Invalid input"
}
},
"path": "/pet/{petId}"
},
"7": {
"operationId": "uploadFile",
"type": "POST",
"name": "uploads an image",
"description": "",
"requestBody": {
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"requestParameters": [
{
"name": "petId",
"in": "path",
"description": "ID of pet to update",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "additionalMetadata",
"in": "query",
"description": "Additional Metadata",
"required": false,
"schema": {
"type": "string"
}
}
],
"responseBody": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"path": "/pet/{petId}/uploadImage"
},
},
"endpoints_without_name": [],
"auth_type": "oauth2"
}
}