Skip to content

Commit 3b8310d

Browse files
committed
Initial Add
0 parents  commit 3b8310d

File tree

5 files changed

+35603
-0
lines changed

5 files changed

+35603
-0
lines changed

DocuSign-Extensions.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# DocuSign Vendor specific Extensions
2+
3+
The Swagger and OpenAPI specifications enable vendor specific extensions throughout Swagger files.
4+
The extensions must start with the letter x. All DocuSign extensions start with `x-ds-`.
5+
6+
## Categories, Resources, Methods
7+
The OpenAPI specification does not focus on the idea of resources for APIs.
8+
In particular, the OpenAPI `tags` element can be used to add multiple tags to a method.
9+
10+
DocuSign assigns each method to exactly one **resource**. Resources are usually plural nouns.
11+
They start with a capital letter.
12+
13+
Methods are verbs. They are lower case.
14+
15+
Resources are grouped together into "categories." Within the documentation, a three level table of contents is used:
16+
Categories, Resources, Methods.
17+
18+
### Categories
19+
Categories are listed in the top level `x-ds-categories` element. It is an array of Category objects.
20+
Each object includes parameters:
21+
22+
* `name` -- markdown format
23+
* `description` -- markdown format
24+
* `summary` -- markdown format
25+
26+
### Resources
27+
Within the OpenAPI file, a method's resource name is stored in location `tags[0]` within the method's operation definition.
28+
Only one element of the `tags` array is used.
29+
30+
The top level `tags` array holds the extended descriptions of the resources in markdown format.
31+
32+
Each resource name exactly matchs a definition name. The resource (and definition) names start with a capital letter.
33+
34+
The `description` field in the matching definition entry for the resource holds the resource's summary description,
35+
also in markdown format.
36+
37+
Definitions that are also resources include the following extensions:
38+
39+
* `x-ds-category` -- the name of the definition's (and resource's) owning category.
40+
The value will match a `name` value in the `x-ds-categories` array.
41+
* `x-ds-definition-name` -- the name of the definition as used for generating SDKs
42+
* `x-ds-order` -- an integer for ordering Resources with a Category table of contents entry. Not used.
43+
* `x-ms-summary` -- Not used.
44+
45+
## Methods
46+
The heart of an API specification are the methods.
47+
48+
A Method's Resource name is stored in `tags[0]`
49+
50+
Important parameters for each method:
51+
52+
* `description` -- markdown format.
53+
* `operationId` -- unique throughout the Swagger file.
54+
* `summary` -- markdown format.
55+
* `x-ds-in-sdk` -- is the method included in the SDK? Not used.
56+
* `x-ds-method` -- the method name within the resource's scope. This is the method name used in the API documentation.
57+
* `x-ds-methodname` -- the method name within the category's scope. This method name is used in the SDKs.
58+
* `x-ds-service` -- the owning category for the method.
59+
60+
### Common method names
61+
62+
Most resources include one or more common methods:
63+
64+
| Method name | HTTP method | Description |
65+
| --- | --- | --- |
66+
| create | POST | creates a new resource instance |
67+
| get | GET | get a single instance of the resource |
68+
| list | GET | list current resources |
69+
| delete | DELETE | delete a resource |
70+
| update | PUT | update a resource |

LICENSE

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
The MIT License
2+
3+
Copyright (c) 2016- DocuSign, Inc. (https://www.docusign.com)
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
22+

OpenAPI.png

79.5 KB
Loading

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
![alt text](OpenAPI.png)
2+
3+
# DocuSign OpenAPI Specifications
4+
5+
DocuSign uses the OpenAPI (OAI) Specification - formerly known as "Swagger" - to describe its REST APIs. The goal of the OAI specification is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service. For more info see the official [OAI](https://github.com/OAI/OpenAPI-Specification) spec.
6+
7+
## The Swagger file
8+
9+
`esignature.rest.swagger.json` - the full swagger file for DocuSign's eSignature REST API
10+
11+
## What can I do with a Swagger file?
12+
13+
We use OpenAPI/Swagger files to build many of our developer tools including our [client SDKs](https://www.docusign.com/developer-center/api-overview#sdk-docusign-supported) using `swagger-codegen`. We also use the OAI specification to build our [API Docs](https://docs.docusign.com/esign/) and [API Explorer](https://apiexplorer.docusign.com/#/) tools. What will you build? Let us know by filing an issue in this repository.
14+
15+
### Vendor-specific extensions
16+
17+
Some post-processing is performed on our eSignature Swagger spec which includes adding a number of vendor-specific extensions prefixed with `x-ds-`. See the [DocuSign-Extensions.md](DocuSign-Extensions.md) file for more information.
18+
19+
### Releases
20+
21+
The DocuSign eSignature REST API is updated monthly. The Swagger file in this repository is also updated monthly. See the "Releases" tab for version information. The current release information is available from the [demo/developer sandbox](https://demo.docusign.net/restapi/service_information) and [production](https://www.docusign.net/restapi/service_information) platforms.
22+
23+
## Support
24+
25+
Please log issues through GitHub. We also have an active developer community on Stack Overflow, search the [DocuSignAPI](http://stackoverflow.com/questions/tagged/docusignapi) tag.
26+
27+
## License
28+
29+
The DocuSign OpenAPI (Swagger) Files are licensed under the following [License](LICENSE).

esignature.rest.swagger.json

Lines changed: 35482 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)