Files
OpenSign/docs/docs/API-docs/opensign.yaml
T

1111 lines
28 KiB
YAML

---
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: User
description: Operations about user
- name: Contacts
description: Operations about contacts
- name: Documents
description: Operations about documents
- name: Templates
description: Operations about templates
paths:
/getuser:
get:
tags:
- User
summary: Get your details
operationId: getUser
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
responses:
"200":
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/user'
"404":
description: User not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/createcontact:
post:
tags:
- Contacts
summary: Create contact
operationId: createcontact
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
requestBody:
description: provide below parameter to create contact
content:
application/json:
schema:
$ref: '#/components/schemas/createcontact_body'
required: true
responses:
"200":
description: Contact created successfully!
content:
application/json:
schema:
$ref: '#/components/schemas/contact'
"404":
description: "Something went wrong, please try again later!"
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_1'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/contact/{contact_id}:
get:
tags:
- Contacts
summary: Get contact
description: get a contact
operationId: getcontact
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: contact_id
in: path
description: objectId of contact
required: true
style: simple
explode: false
schema:
type: string
format: string
example: pH1bhc2hpb
responses:
"200":
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/contact'
"404":
description: Contact not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_2'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
delete:
tags:
- Contacts
summary: Deletes contact
description: delete a contact
operationId: deletecontact
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: contact_id
in: path
description: Provide objectId of contact to delete
required: true
style: simple
explode: false
schema:
type: string
format: string
example: ph2bh2asd
responses:
"200":
description: Contact deleted successfully!
content:
application/json:
schema:
$ref: '#/components/schemas/delete'
"404":
description: Contact not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_2'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/contactlist:
get:
tags:
- Contacts
summary: Get contact list
description: ""
operationId: contactlist
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: limit
in: query
required: false
style: form
explode: true
schema:
type: number
example: 10
- name: skip
in: query
required: false
style: form
explode: true
schema:
type: number
example: 0
responses:
"200":
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/createdocument:
post:
tags:
- Documents
summary: Create document
operationId: createdocument
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
responses:
"200":
description: Document created successfully!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_1'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/document/{document_id}:
get:
tags:
- Documents
summary: Get document by ID
description: Get a document
operationId: getdocument
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: document_id
in: path
description: objectId of contact
required: true
style: simple
explode: false
schema:
type: string
format: string
example: pH1bhc2hpb
responses:
"200":
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/document'
"404":
description: Document not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_3'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
put:
tags:
- Documents
summary: Update document by ID
operationId: updateDocument
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: document_id
in: path
description: ID of the document that needs to be updated
required: true
style: simple
explode: false
schema:
type: string
format: string
requestBody:
description: provide below parameter to update templates (at least one parameter required)
content:
application/json:
schema:
$ref: '#/components/schemas/document_document_id_body'
responses:
"200":
description: Document updated successfully!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_2'
"400":
description: Please provide valid field names!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_400'
"404":
description: Document not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_4'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
delete:
tags:
- Documents
summary: Delete document by ID
description: delete a document
operationId: deletedocument
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: document_id
in: path
description: Provide objectId of document to delete
required: true
style: simple
explode: false
schema:
type: string
format: string
example: ph2bh2asd
responses:
"200":
description: Document deleted successfully!
content:
application/json:
schema:
$ref: '#/components/schemas/delete'
"404":
description: Document not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_3'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/documentlist/{doctype}:
get:
tags:
- Documents
summary: Get document list by doctype
description: |
### Document Types:
Retrieve a list of documents based on type
1. **Draft Documents:**
- Documents that are currently in draft status.
2. **Signature Requests:**
- Documents that require the your signature.
3. **In-Progress Documents:**
- Documents that are currently in progress.
4. **Completed Documents:**
- Documents that have been successfully completed with all required signatures.
5. **Expired Documents:**
- Documents that have expired and are no longer accessible.
6. **Declined Documents:**
- Documents that have been declined by the user.
operationId: getdocumentlist
parameters:
- name: doctype
in: path
description: The type of documents to retrieve
required: true
style: simple
explode: false
schema:
type: string
enum:
- draftdocuments
- signaturerequest
- inprogressdocuments
- completedocuments
- expiredocuments
- declinedocuments
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: limit
in: query
required: false
style: form
explode: true
schema:
type: number
example: 10
- name: skip
in: query
required: false
style: form
explode: true
schema:
type: number
example: 0
responses:
"200":
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_3'
"404":
description: Report not available!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_5'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/createtemplate:
post:
tags:
- Templates
summary: Create template
description: "The Template Creation API allows users to create customizable templates, which serve as blueprints for generating documents with predefined structures. Upon successful template creation, the API returns a unique **templateId** that can be used to generate documents based on the specified template."
operationId: createtemplate
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createtemplate'
responses:
"200":
description: Template created successfully!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_4'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
/template/{template_id}:
get:
tags:
- Templates
summary: Get template by ID
description: ""
operationId: getTemplate
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: template_id
in: path
description: ID of template that needs to be fetched
required: true
style: simple
explode: false
schema:
type: string
format: strng
responses:
"200":
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/template'
"404":
description: Template not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_6'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
put:
tags:
- Templates
summary: Update template by ID
operationId: updateTemplate
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: template_id
in: path
description: ID of the template that needs to be updated
required: true
style: simple
explode: false
schema:
type: string
format: string
requestBody:
description: provide below parameter to update templates (at least one parameter required)
content:
application/json:
schema:
$ref: '#/components/schemas/template_template_id_body'
responses:
"200":
description: Template updated successfully!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_2'
"400":
description: Please provide valid field names!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_400'
"404":
description: Template not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_7'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
delete:
tags:
- Templates
summary: Delete template by ID
operationId: deleteTemplate
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: template_id
in: path
description: ID of the template that needs to be deleted
required: true
style: simple
explode: false
schema:
type: string
format: string
responses:
"200":
description: Template deleted successfully!
content:
application/json:
schema:
$ref: '#/components/schemas/delete'
"404":
description: Template not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_6'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
/templatelist:
get:
tags:
- Templates
summary: Get template list
operationId: gettemplatelist
parameters:
- name: x-api-token
in: header
required: true
style: simple
explode: false
schema:
type: string
example: opensign.xxxx
- name: limit
in: query
required: false
style: form
explode: true
schema:
type: number
example: 10
- name: skip
in: query
required: false
style: form
explode: true
schema:
type: number
example: 0
responses:
"200":
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_5'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
components:
schemas:
date:
type: string
example: 2023-10-07T16:49:56.000Z
xml:
name: date
createtemplate:
type: object
properties:
Name:
type: string
format: string
example: sample template
Note:
type: string
format: string
example: Please review and sign this document
Description:
type: string
format: string
example: template description
URL:
type: string
format: string
example: https://yourimage.com
signers:
type: array
example:
- joe@gmail.com
- john@gmail.com
xml:
name: signers
wrapped: true
items:
$ref: '#/components/schemas/signers'
folderId:
type: string
format: string
example: xjsba1GaxP
xml:
name: createtemplate
template:
type: object
properties:
objectId:
type: string
format: string
example: x1Hbnms2Pg
Title:
type: string
example: sample template
Note:
type: string
example: template note
Folder:
type: string
example: folder name
File:
type: string
example: https://templateuser.com
Owner:
type: string
example: template creator name
Signers:
type: array
items:
$ref: '#/components/schemas/template_Signers'
createdAt:
$ref: '#/components/schemas/date'
updatedAt:
$ref: '#/components/schemas/date'
xml:
name: template
contact:
type: object
properties:
objectId:
type: string
format: string
example: ph1bhx2jp
Name:
type: string
format: string
example: joe bee
Email:
type: string
format: string
example: joebee@example.com
Phone:
type: string
format: string
example: "4131231231"
createdAt:
$ref: '#/components/schemas/date'
updatedAt:
$ref: '#/components/schemas/date'
xml:
name: contactdetails
signers:
type: string
example: joe@example.com
xml:
name: signers
user:
type: object
properties:
objectId:
type: string
format: string
example: FGik23bhUJ
Name:
type: string
format: string
example: Joe Bee
Email:
type: string
format: string
example: joebee@example.com
Phone:
type: string
format: string
example: "4567832123"
JobTitle:
type: string
format: string
example: dev
Company:
type: string
format: string
example: opensign
createdAt:
$ref: '#/components/schemas/date'
updatedAt:
$ref: '#/components/schemas/date'
xml:
name: user
document:
type: object
properties:
objectId:
type: string
format: string
example: FGik23bhUJ
Title:
type: string
format: string
example: sample doc
Note:
type: string
format: string
example: please sign document
Folder:
type: string
format: string
example: OpenSign™ Drive
File:
type: string
format: string
example: https://exampleurl.com
Owner:
type: string
format: string
example: joe bee
Signers:
type: array
items:
$ref: '#/components/schemas/document_Signers'
createdAt:
$ref: '#/components/schemas/date'
updatedAt:
$ref: '#/components/schemas/date'
xml:
name: document
invalidtoken:
type: object
properties:
error:
type: string
example: Invalid API token!
xml:
name: invalidtoken
delete:
type: object
properties:
objectId:
type: string
example: Bxh2aspHp3
deletedAt:
$ref: '#/components/schemas/date'
xml:
name: delete
inline_response_404:
type: object
properties:
error:
type: string
example: User not found!
createcontact_body:
required:
- Email
- Name
- Phone
type: object
properties:
Name:
type: string
format: string
example: joe bee
Email:
type: string
format: string
example: joebee@example.com
Phone:
type: string
format: string
example: "1232131321"
inline_response_404_1:
type: object
properties:
error:
type: string
example: "Something went wrong, please try again later!"
inline_response_404_2:
type: object
properties:
error:
type: string
example: Contact not found!
inline_response_200:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/contact'
inline_response_200_1:
type: object
properties:
objectId:
type: string
format: string
example: hji2zxcv2P
url:
type: string
format: string
example: https://example.com
inline_response_404_3:
type: object
properties:
error:
type: string
example: Document not found!
document_document_id_body:
type: object
properties:
Name:
type: string
format: string
example: sample document
Note:
type: string
format: string
example: Please review and sign this document
Description:
type: string
format: string
example: document description
FolderId:
type: string
format: string
example: Bjsba2bhoP
inline_response_200_2:
type: object
properties:
objectId:
type: string
example: asd2HsP4Hp
updatedAt:
$ref: '#/components/schemas/date'
inline_response_400:
type: object
properties:
error:
type: string
format: string
example: Please provide valid field names!
inline_response_404_4:
type: object
properties:
error:
type: string
format: string
example: Document not found!
inline_response_200_3:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/document'
inline_response_404_5:
type: object
properties:
error:
type: string
example: Report not available!
inline_response_200_4:
type: object
properties:
objectId:
type: number
url:
type: string
example: https://exampleurl.com
inline_response_404_6:
type: object
properties:
error:
type: string
example: Template not found!
template_template_id_body:
type: object
properties:
Name:
type: string
format: string
example: sample template
Note:
type: string
format: string
example: Please review and sign this document
Description:
type: string
format: string
example: template description
FolderId:
type: string
format: string
example: xjsba1GaxP
inline_response_404_7:
type: object
properties:
error:
type: string
format: string
example: Template not found!
inline_response_200_5:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/template'
template_Signers:
type: object
properties:
Name:
type: string
example: joe bee
document_Signers:
type: object
properties:
Name:
type: string
example: joe
securitySchemes:
x-api-token:
type: apiKey
name: x-api-token
in: header