mirror of
https://github.com/OpenSignLabs/OpenSign.git
synced 2026-08-17 21:25:54 +02:00
934 lines
23 KiB
JSON
934 lines
23 KiB
JSON
{
|
|
"openapi": "3.0.3",
|
|
"info": {
|
|
"title": "OpenSign API v1",
|
|
"description": "This is API documentation for OpenSign API v1 based on the OpenAPI 3.1 specification. \n\nSome useful links:\n- [Official Website](https://www.opensignlabs.com)\n- [Github repo](https://github.com/opensignlabs/opensign)",
|
|
"termsOfService": "http://www.opensignlabs.com/terms/",
|
|
"contact": {
|
|
"email": "contact@opensignlabs.com"
|
|
},
|
|
"license": {
|
|
"name": "AGPL 3.0",
|
|
"url": "http://github.com/opensignlabs/opensign/LICENSE"
|
|
},
|
|
"version": "1.0.0"
|
|
},
|
|
"externalDocs": {
|
|
"description": "Find out more about OpenSign",
|
|
"url": "http://docs.opensignlabs.com"
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "https://app.opensignlabs.com/api/v1"
|
|
}
|
|
],
|
|
"tags": [
|
|
{
|
|
"name": "OpenSign",
|
|
"description": "OpenSource DocuSign alternative",
|
|
"externalDocs": {
|
|
"description": "Find out more",
|
|
"url": "http://www.opensignlabs.com"
|
|
}
|
|
},
|
|
{
|
|
"name": "Github repo",
|
|
"description": "Access the source code",
|
|
"externalDocs": {
|
|
"description": "Visit github",
|
|
"url": "http://github.com/opensignlabs/opensign"
|
|
}
|
|
},
|
|
{
|
|
"name": "templates",
|
|
"description": "Operations about templates"
|
|
},
|
|
{
|
|
"name": "users",
|
|
"description": "Operations about users"
|
|
},
|
|
{
|
|
"name": "documents",
|
|
"description": "Operations about documents"
|
|
}
|
|
],
|
|
"paths": {
|
|
"/getuser": {
|
|
"put": {
|
|
"tags": [
|
|
"users"
|
|
],
|
|
"summary": "Update an existing pet",
|
|
"description": "Update an existing pet by Id",
|
|
"operationId": "updatePet",
|
|
"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
|
|
},
|
|
"responses": {
|
|
"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"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"api_key": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"users"
|
|
],
|
|
"summary": "Add a new pet to the store",
|
|
"description": "Add a new pet to the store",
|
|
"operationId": "addPet",
|
|
"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
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful operation",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Pet"
|
|
}
|
|
},
|
|
"application/xml": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Pet"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"405": {
|
|
"description": "Invalid input"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"api_key": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/documentlist": {
|
|
"get": {
|
|
"tags": [
|
|
"documents"
|
|
],
|
|
"summary": "Finds Pets by status",
|
|
"description": "Multiple status values can be provided with comma separated strings",
|
|
"operationId": "findPetsByStatus",
|
|
"parameters": [
|
|
{
|
|
"name": "status",
|
|
"in": "query",
|
|
"description": "Status values that need to be considered for filter",
|
|
"required": false,
|
|
"explode": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "available",
|
|
"enum": [
|
|
"available",
|
|
"pending",
|
|
"sold"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "successful operation",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Pet"
|
|
}
|
|
}
|
|
},
|
|
"application/xml": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Pet"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid status value"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"api_key": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/document/": {
|
|
"get": {
|
|
"tags": [
|
|
"documents"
|
|
],
|
|
"summary": "Finds Pets by tags",
|
|
"description": "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.",
|
|
"operationId": "findPetsByTags",
|
|
"parameters": [
|
|
{
|
|
"name": "tags",
|
|
"in": "query",
|
|
"description": "Tags to filter by",
|
|
"required": false,
|
|
"explode": true,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "successful operation",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Pet"
|
|
}
|
|
}
|
|
},
|
|
"application/xml": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Pet"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid tag value"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"api_key": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/contact/{contact_id}": {
|
|
"get": {
|
|
"tags": [
|
|
"contacts"
|
|
],
|
|
"summary": "Find pet by ID",
|
|
"description": "Returns a single pet",
|
|
"operationId": "getPetById",
|
|
"parameters": [
|
|
{
|
|
"name": "contact_id",
|
|
"in": "path",
|
|
"description": "ID of pet to return",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"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"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"api_key": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"contacts"
|
|
],
|
|
"summary": "Updates a pet in the store with form data",
|
|
"description": "",
|
|
"operationId": "updatePetWithForm",
|
|
"parameters": [
|
|
{
|
|
"name": "contact_id",
|
|
"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"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"405": {
|
|
"description": "Invalid input"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"api_key": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"contacts"
|
|
],
|
|
"summary": "Deletes a pet",
|
|
"description": "delete a pet",
|
|
"operationId": "deletePet",
|
|
"parameters": [
|
|
{
|
|
"name": "api_key",
|
|
"in": "header",
|
|
"description": "",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "contact_id",
|
|
"in": "path",
|
|
"description": "Pet id to delete",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"400": {
|
|
"description": "Invalid pet value"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"api_key": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/contactlist": {
|
|
"post": {
|
|
"tags": [
|
|
"contacts"
|
|
],
|
|
"summary": "uploads an image",
|
|
"description": "",
|
|
"operationId": "uploadFile",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "binary"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "successful operation",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ApiResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"api_key": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/createdocument": {
|
|
"get": {
|
|
"tags": [
|
|
"documents"
|
|
],
|
|
"summary": "Returns pet inventories by status",
|
|
"description": "Returns a map of status codes to quantities",
|
|
"operationId": "getInventory",
|
|
"responses": {
|
|
"200": {
|
|
"description": "successful operation",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"api_key": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/createtemplate": {
|
|
"post": {
|
|
"tags": [
|
|
"templates"
|
|
],
|
|
"summary": "Place an order for a pet",
|
|
"description": "Place a new order in the store",
|
|
"operationId": "placeOrder",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Order"
|
|
}
|
|
},
|
|
"application/xml": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Order"
|
|
}
|
|
},
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Order"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "successful operation",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Order"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"405": {
|
|
"description": "Invalid input"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/template/{template_id}": {
|
|
"get": {
|
|
"tags": [
|
|
"templates"
|
|
],
|
|
"summary": "Find purchase order by ID",
|
|
"description": "For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions.",
|
|
"operationId": "getOrderById",
|
|
"parameters": [
|
|
{
|
|
"name": "template_id",
|
|
"in": "path",
|
|
"description": "ID of order that needs to be fetched",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "successful operation",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Order"
|
|
}
|
|
},
|
|
"application/xml": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Order"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid ID supplied"
|
|
},
|
|
"404": {
|
|
"description": "Order not found"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"templates"
|
|
],
|
|
"summary": "Delete purchase order by ID",
|
|
"description": "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors",
|
|
"operationId": "deleteOrder",
|
|
"parameters": [
|
|
{
|
|
"name": "template_id",
|
|
"in": "path",
|
|
"description": "ID of the order that needs to be deleted",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"400": {
|
|
"description": "Invalid ID supplied"
|
|
},
|
|
"404": {
|
|
"description": "Order not found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/templatelist": {
|
|
"post": {
|
|
"tags": [
|
|
"templates"
|
|
],
|
|
"summary": "Create user",
|
|
"description": "This can only be done by the logged in user.",
|
|
"operationId": "createUser",
|
|
"requestBody": {
|
|
"description": "Created user object",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/User"
|
|
}
|
|
},
|
|
"application/xml": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/User"
|
|
}
|
|
},
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/User"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"default": {
|
|
"description": "successful operation",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/User"
|
|
}
|
|
},
|
|
"application/xml": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/User"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"Order": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"example": 10
|
|
},
|
|
"petId": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"example": 198772
|
|
},
|
|
"quantity": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"example": 7
|
|
},
|
|
"shipDate": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"description": "Order Status",
|
|
"example": "approved",
|
|
"enum": [
|
|
"placed",
|
|
"approved",
|
|
"delivered"
|
|
]
|
|
},
|
|
"complete": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"xml": {
|
|
"name": "order"
|
|
}
|
|
},
|
|
"Customer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"example": 100000
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"example": "fehguy"
|
|
},
|
|
"address": {
|
|
"type": "array",
|
|
"xml": {
|
|
"name": "addresses",
|
|
"wrapped": true
|
|
},
|
|
"items": {
|
|
"$ref": "#/components/schemas/Address"
|
|
}
|
|
}
|
|
},
|
|
"xml": {
|
|
"name": "customer"
|
|
}
|
|
},
|
|
"Address": {
|
|
"type": "object",
|
|
"properties": {
|
|
"street": {
|
|
"type": "string",
|
|
"example": "437 Lytton"
|
|
},
|
|
"city": {
|
|
"type": "string",
|
|
"example": "Palo Alto"
|
|
},
|
|
"state": {
|
|
"type": "string",
|
|
"example": "CA"
|
|
},
|
|
"zip": {
|
|
"type": "string",
|
|
"example": "94301"
|
|
}
|
|
},
|
|
"xml": {
|
|
"name": "address"
|
|
}
|
|
},
|
|
"Category": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"example": 1
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"example": "Dogs"
|
|
}
|
|
},
|
|
"xml": {
|
|
"name": "category"
|
|
}
|
|
},
|
|
"User": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"example": 10
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"example": "theUser"
|
|
},
|
|
"firstName": {
|
|
"type": "string",
|
|
"example": "John"
|
|
},
|
|
"lastName": {
|
|
"type": "string",
|
|
"example": "James"
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"example": "john@email.com"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"example": "12345"
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"example": "12345"
|
|
},
|
|
"userStatus": {
|
|
"type": "integer",
|
|
"description": "User Status",
|
|
"format": "int32",
|
|
"example": 1
|
|
}
|
|
},
|
|
"xml": {
|
|
"name": "user"
|
|
}
|
|
},
|
|
"Tag": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"xml": {
|
|
"name": "tag"
|
|
}
|
|
},
|
|
"Pet": {
|
|
"required": [
|
|
"name",
|
|
"photoUrls"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"example": 10
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"example": "doggie"
|
|
},
|
|
"category": {
|
|
"$ref": "#/components/schemas/Category"
|
|
},
|
|
"photoUrls": {
|
|
"type": "array",
|
|
"xml": {
|
|
"wrapped": true
|
|
},
|
|
"items": {
|
|
"type": "string",
|
|
"xml": {
|
|
"name": "photoUrl"
|
|
}
|
|
}
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"xml": {
|
|
"wrapped": true
|
|
},
|
|
"items": {
|
|
"$ref": "#/components/schemas/Tag"
|
|
}
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"description": "pet status in the store",
|
|
"enum": [
|
|
"available",
|
|
"pending",
|
|
"sold"
|
|
]
|
|
}
|
|
},
|
|
"xml": {
|
|
"name": "pet"
|
|
}
|
|
},
|
|
"ApiResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"xml": {
|
|
"name": "##default"
|
|
}
|
|
}
|
|
},
|
|
"requestBodies": {
|
|
"Pet": {
|
|
"description": "Pet object that needs to be added to the store",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Pet"
|
|
}
|
|
},
|
|
"application/xml": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Pet"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"UserArray": {
|
|
"description": "List of user object",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/User"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"securitySchemes": {
|
|
"api_key": {
|
|
"type": "apiKey",
|
|
"name": "X-Parse-ApiKey",
|
|
"in": "header"
|
|
}
|
|
}
|
|
}
|
|
} |