Docusign Documents API

Methods to grant access, delete, and get information, including contents, to a document.

Operations 3

GET /v2/accounts/{accountId}/documents/{documentId} Docusign Gets information about or the contents of a document. #
DELETE /v2/accounts/{accountId}/documents/{documentId} Docusign Deletes a specified document. #
POST /v2/accounts/{accountId}/documents/{documentId}/users Docusign Grants a user access to a document. #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/docusign-documents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

docusign-documents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DocuSign Rooms API - v2 Documents API
  description: An API for an integrator to access the features of DocuSign Rooms
  termsOfService: https://www.docusign.com/company/terms-and-conditions/web
  contact:
    name: DocuSign Developer Center
    url: https://developers.docusign.com
    email: devcenter@docusign.com
  version: v2
servers:
- url: https://rooms.docusign.com/restapi
security:
- Bearer: []
tags:
- name: Documents
  description: Methods to grant access, delete, and get information, including contents, to a document.
paths:
  /v2/accounts/{accountId}/documents/{documentId}:
    get:
      tags:
      - Documents
      summary: Docusign Gets information about or the contents of a document.
      description: 'Returns information about a document in a room. You can optionally request the contents of the document, which is returned in base64-encoded format.


        To find the `documentId` of the document that you want to retrieve, use the Rooms: GetDocuments method.'
      operationId: Documents_GetDocument
      parameters:
      - name: documentId
        in: path
        description: The ID of the document.
        required: true
        schema:
          type: integer
          format: int32
      - name: includeContents
        in: query
        description: When **true,** includes the contents of the document in the `base64Contents` property of the response. The default value is **false.**
        schema:
          type: boolean
          default: false
      - name: accountId
        in: path
        description: The globally unique identifier (GUID) for the account.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Document successfully retrieved.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Document'
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
            text/json:
              schema:
                $ref: '#/components/schemas/Document'
            application/xml:
              schema:
                $ref: '#/components/schemas/Document'
            text/xml:
              schema:
                $ref: '#/components/schemas/Document'
        '400':
          description: Bad request. See ErrorCode and Message for details
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Not authorized to make this request.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
      x-ds-methodname: GetDocument
      x-ds-method: GetDocument
      x-ds-service: Documents
      x-ds-in-sdk: true
    delete:
      tags:
      - Documents
      summary: Docusign Deletes a specified document.
      description: 'Permanently deletes a document. To find the `documentId` of a document that you want to delete, use the Rooms: GetDocuments method.


        If the document is deleted successfully, the HTTP response code is 204 (No Content), so the response body is empty.'
      operationId: Documents_DeleteDocument
      parameters:
      - name: documentId
        in: path
        description: The ID of the document.
        required: true
        schema:
          type: integer
          format: int32
      - name: accountId
        in: path
        description: The globally unique identifier (GUID) for the account.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Document has been successfully deleted.
          content: {}
        '400':
          description: Bad request. See ErrorCode and Message for details
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Not authorized to make this request.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
      x-ds-methodname: DeleteDocument
      x-ds-method: DeleteDocument
      x-ds-service: Documents
      x-ds-in-sdk: true
  /v2/accounts/{accountId}/documents/{documentId}/users:
    post:
      tags:
      - Documents
      summary: Docusign Grants a user access to a document.
      description: Grants a user access to a document. You specify the user's `userId` in the request body. The response is an object that specifies the access the user has.
      operationId: Documents_CreateDocumentUser
      parameters:
      - name: documentId
        in: path
        description: The ID of the document.
        required: true
        schema:
          type: integer
          format: int32
      - name: accountId
        in: path
        description: The globally unique identifier (GUID) for the account.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/DocumentUserForCreate'
          application/json:
            schema:
              $ref: '#/components/schemas/DocumentUserForCreate'
          text/json:
            schema:
              $ref: '#/components/schemas/DocumentUserForCreate'
          application/*+json:
            schema:
              $ref: '#/components/schemas/DocumentUserForCreate'
          application/xml:
            schema:
              $ref: '#/components/schemas/DocumentUserForCreate'
          text/xml:
            schema:
              $ref: '#/components/schemas/DocumentUserForCreate'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/DocumentUserForCreate'
        required: false
      responses:
        '201':
          description: User successfully granted access to document.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/DocumentUser'
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentUser'
            text/json:
              schema:
                $ref: '#/components/schemas/DocumentUser'
            application/xml:
              schema:
                $ref: '#/components/schemas/DocumentUser'
            text/xml:
              schema:
                $ref: '#/components/schemas/DocumentUser'
        '400':
          description: Bad request. See ErrorCode and Message for details
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Not authorized to make this request.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
            text/xml:
              schema:
                $ref: '#/components/schemas/ApiError'
      x-ds-methodname: CreateDocumentUser
      x-ds-method: CreateDocumentUser
      x-ds-service: Documents
      x-ds-in-sdk: true
      x-codegen-request-body-name: body
components:
  schemas:
    Document:
      required:
      - base64Contents
      - name
      type: object
      properties:
        documentId:
          type: integer
          description: The ID of the document.
          format: int32
        name:
          type: string
          description: The file name associated with the document.
        roomId:
          type: integer
          description: The ID of the room associated with the document.
          format: int32
        ownerId:
          type: integer
          description: The ID of the user who owns the document.
          format: int32
        size:
          type: integer
          description: The size of the document in bytes.
          format: int64
        folderId:
          type: integer
          description: The ID of the folder that holds the document.
          format: int32
        createdDate:
          type: string
          description: 'The date and time when the document was created. This is a read-only value that the service assigns.


            Example: `2019-11-11T17:15:14.82`'
          format: date-time
        isSigned:
          type: boolean
          description: When **true,** indicates that the document is signed.
        contentType:
          type: string
          description: ''
        base64Contents:
          type: string
          description: The base64-encoded contents of the document. This property is only included in the response when you use the `includeContents` query parameter and set it to **true.**
        isDynamic:
          type: boolean
          description: ''
      description: Contains information about a document.
      x-ds-definition-name: Document
      x-ms-summary: Contains information about a document.
    DocumentUserForCreate:
      required:
      - userId
      type: object
      properties:
        userId:
          type: integer
          description: The ID of the user.
          format: int32
      description: ''
      x-ds-definition-name: DocumentUserForCreate
      x-ms-summary: ''
    DocumentUser:
      type: object
      properties:
        userId:
          type: integer
          description: The ID of the user.
          format: int32
        documentId:
          type: integer
          description: The ID of the document.
          format: int32
        name:
          type: string
          description: The file name associated with the document.
        hasAccess:
          type: boolean
          description: '**True** if the user `userId` has access to this document.'
        canApproveTask:
          type: boolean
          description: '**True** if the user `userId` has can approve a task for this document.'
        canAssignToTaskList:
          type: boolean
          description: '**True** if the user `userId` can assign this document to a task list.'
        canCopy:
          type: boolean
          description: '**True** if the user `userId` can make a copy of this document.'
        canDelete:
          type: boolean
          description: '**True** if the user `userId` can delete this document.'
        canRemoveFromTaskList:
          type: boolean
          description: '**True** if the user `userId` can remove this document from a task list.'
        canRemoveApproval:
          type: boolean
          description: '**True** if the user `userId` can remove approval for this document.'
        canRename:
          type: boolean
          description: '**True** if the user `userId` can rename this document.'
        canShare:
          type: boolean
          description: '**True** if the user `userId` can share this document.'
        canViewActivity:
          type: boolean
          description: '**True** if the user `userId` can view activity on this document.'
      description: ''
      x-ds-definition-name: DocumentUser
      x-ms-summary: ''
    ApiError:
      type: object
      properties:
        errorCode:
          type: string
          description: The code associated with the error condition.
        message:
          type: string
          description: A brief message describing the error condition.
        referenceId:
          type: string
          description: ''
      description: This object describes errors that occur. It is valid only for responses and ignored in requests.
      x-ds-definition-name: ApiError
      x-ms-summary: This object describes errors that occur. It is valid only for responses and ignored in requests.
  securitySchemes:
    Bearer:
      type: apiKey
      description: 'JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"'
      name: Authorization
      in: header
externalDocs:
  description: Rooms API Reference
  url: https://developers.docusign.com/docs/rooms-api/reference/
x-ds-categories:
- name: Accounts
  summary: Information about accounts.
  description: Information about accounts.
- name: Documents
  summary: Information about documents.
  description: Information about documents.
- name: ESignPermissionProfiles
  summary: A permission profile is a standard set of user permissions that you can apply to individual users or the users in a group. This functionality makes it easier to manage permissions for a large number of users.
  description: 'When you create or invite a new member in Rooms, the system creates an eSignature account for the member at the same time. This section shows you how to retrieve a list of eSignature permission profiles that the current user can assign to a new member.


    You can use the API only to retrieve and assign eSignature permission profiles. You create and modify permission profiles in the DocuSign console.'
- name: Fields
  summary: This section shows you how to retrieve a specific field set. This is a set of fields that can appear on a room's **Details** tab.
  description: Information about field sets.
- name: Forms
  summary: 'The Forms feature of DocuSign Rooms for Real Estate enables provides access to standard industry association forms that you can add to rooms.


    **Note:** Forms is not a default feature and is currently only available in Rooms for Real Estate. To request access to Forms, contact your DocuSign Account Manager.


    '
  description: "## Form groups\n\nWith the appropriate permissions, form administrators at your company can create form groups, or curated set of forms gathered from the association **form libraries** to which DocuSign provides access. Form groups enable agents to know which forms to add to rooms based on the type of transaction they are working on. When creating groups, administrators can make certain forms required, ensuring compliance. If you don't create groups, agents will have to choose forms they need from a list of association forms.\n\n## Permissions\n\nTo manage forms, you must have the `canManageFormGroups` permission, which enables you to access the **Forms** tab in **Admin.** For all other roles, assign permissions based on how these users will be working with forms. If no form permissions are enabled for these roles, users cannot add forms to rooms.\n\nForm administrators must have the `canManageFormGroups` permission assigned to their user role. This gives them access to the **Forms** tab in **Admin.** However, you should also consider the user's access level. For example, if the user has access to specific offices, they can only administer form groups for those offices. \n"
- name: GlobalResources
  summary: The Global Resources category organizes resource that are used throughout the Rooms API. You typically use these resources when you create or update a room, region, office, or user.
  description: 'This section shows you how to retrieve the following Global Resources:


    - Activity Types

    - Closing Statuses

    - Contact Sides

    - Countries

    - Currencies

    - Financing Types

    - Origins of Leads

    - Property Types

    - Room Contact Types

    - Seller Decision Types

    - Special Circumstances Types

    - States

    - Task Date Types

    - Task Responsibility Types

    - Time Zones

    - Transaction Sides'
- name: Offices
  summary: You can use the API to manage offices in your Rooms account.
  description: This section shows you how to create and manage offices.
- name: Regions
  summary: You can use the API to manage regions associated with your Rooms account.
  description: This section shows you how to create and manage regions for a Rooms account.
- name: Roles
  summary: 'The Roles resource enables you to easily manage user permissions. '
  description: 'Each role is associated with specific permissions. Each new member is assigned a role when you create them, automatically granting them the permissions associated with that role.


    Roles use the following permission types to control the actions that users can perform:


    - Room

    - Room Details

    - Documents

    - Envelopes

    - Member Management

    - Company Settings


    Rooms enables you to configure custom roles containing permissions that make sense for your company. Because each new member is assigned a role, you must set up these roles before you can invite members to join your account.


    Permissions for roles are tied to the `roleId` property and not yet exposed. You can learn more about these permission types and configure them in the web application.


    ### Internal and External Roles


    In Rooms, a role can be either internal or external. You assign internal roles to people inside your company. You assign external roles to people outside your company when you invite them to a room.


    Each member inside your company has a default company role. However, they can also be assigned additional roles with different permissions on a per-room basis. Regardless of the member''s default company role, what they can do in a room is entirely controlled by their role in that particular room.

    '
- name: Rooms
  summary: This section shows you how to create and mange rooms. In Rooms for Real Estate, a room is a collaborative digital space corresponding to a specific property. In Rooms for Mortgages, a room corresponds to a specific loan.
  description: 'A room can hold documents, envelopes, a list of tasks comprising a workflow, and other related information. You can invite others to this space and assign them permissions on a per-room basis. The documentation in this section shows you how to perform these and other tasks.

    '
- name: RoomTemplates
  summary: 'Room templates enable your company to standardize the new rooms that users create. '
  description: This section shows you how to retrieve room templates. You can perform additional room template tasks in the console.
- name: TaskLists
  summary: The TaskLists resource helps you keep track of the documents and activities you must complete before you can close a room.
  description: Your administrator may also have created custom task list templates that can be added to rooms. If your administrator created room templates, those room templates may include task lists for you to use.
- name: Users
  summary: The Users resource provides methods that enable you to add, update, delete, and manage users.
  description: A user is a person who is either added to a room (as a participant), or who is a member of a company. This section shows you how to manage users, including how to update and delete National Association of REALTORS® member numbers.
x-original-swagger-version: '2.0'