Docusign · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for DocuSign API - v2 Rooms API

20 actions 20 updates phrasing extends openapi/docusign-rooms-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Docusign's API. It is a proposal applied on top of the contract, not a document Docusign publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 20 · first 16 shown; the file carries all of them

$.info
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/envelopes'].post
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/field_data'].get
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/field_data'].put
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/forms'].post
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/users'].get
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/users'].post
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/users/{userId}'].put
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/users/{userId}/revoke_access'].post
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/users/{userId}/restore_access'].post
$.paths['/v2/accounts/{accountId}/rooms'].get
$.paths['/v2/accounts/{accountId}/rooms'].post
$.paths['/v2/accounts/{accountId}/rooms/{roomId}'].get
$.paths['/v2/accounts/{accountId}/rooms/{roomId}'].delete
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/assignable_roles'].get
$.paths['/v2/accounts/{accountId}/rooms/{roomId}/documents'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for DocuSign API - v2 Rooms API
  version: 1.0.0
extends: openapi/docusign-rooms-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 19
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/envelopes'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an eSignature envelope from room documents
      effect: write
      questions:
      - Can I send documents that already live in a room out for signature as an envelope?
      - What do I get back when I turn room documents into an eSignature envelope?
      instructions:
      - text: Create an envelope named {envelopeName} from the documents in room {roomId}.
        slots:
          envelopeName: requestBody.envelopeName
          roomId: path.roomId
      - text: Build an eSignature envelope in account {accountId} from documents {documentIds} in room {roomId}.
        slots:
          accountId: path.accountId
          documentIds: requestBody.documentIds
          roomId: path.roomId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/field_data'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a room's details field values
      effect: read
      questions:
      - Where can I read the values shown on a room's Details tab?
      - What field data, like contact name and phone, is stored for a specific room?
      instructions:
      - text: Show the Details tab field values for room {roomId}.
        slots:
          roomId: path.roomId
      - text: Get the field data for room {roomId} in account {accountId}.
        slots:
          roomId: path.roomId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/field_data'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a room's details field values
      effect: write
      questions:
      - Can I change the values on a room's Details tab through the API?
      - Is it possible to update just one or two fields in a room's field data?
      instructions:
      - text: Update the Details tab field data of room {roomId} with {data}.
        slots:
          roomId: path.roomId
          data: requestBody.data
      - text: Change the room field values for room {roomId} in account {accountId}.
        slots:
          roomId: path.roomId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/forms'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a library form to a room
      effect: write
      questions:
      - Can I attach a form from our form library to a transaction room?
      - What ID do I need to add a form to a room?
      instructions:
      - text: Add form {formId} to room {roomId}.
        slots:
          formId: requestBody.formId
          roomId: path.roomId
      - text: Put library form {formId} into room {roomId} in account {accountId}.
        slots:
          formId: requestBody.formId
          roomId: path.roomId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/users'].get
  update:
    x-apievangelist-phrasing:
      intent: List the people in a room
      effect: read
      questions:
      - Who has been added as a member of a particular room?
      - Can I filter and sort the list of users in a room?
      instructions:
      - text: List the users in room {roomId}.
        slots:
          roomId: path.roomId
      - text: Show the members of room {roomId} matching {filter}, sorted by {sort}.
        slots:
          roomId: path.roomId
          filter: query.filter
          sort: query.sort
      - text: Get the first {count} users of room {roomId} in account {accountId}.
        slots:
          count: query.count
          roomId: path.roomId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/users'].post
  update:
    x-apievangelist-phrasing:
      intent: Invite someone to a room by email
      effect: write
      questions:
      - How do I invite a new person into a transaction room by email address?
      - What details are required to invite someone to a room, such as their role?
      instructions:
      - text: Invite {firstName} {lastName} at {email} to room {roomId} with role {roleId}.
        slots:
          firstName: requestBody.firstName
          lastName: requestBody.lastName
          email: requestBody.email
          roomId: path.roomId
          roleId: requestBody.roleId
      - text: Add {email} to room {roomId} in account {accountId} as {firstName} {lastName} with role {roleId} on side {transactionSideId}.
        slots:
          email: requestBody.email
          roomId: path.roomId
          accountId: path.accountId
          firstName: requestBody.firstName
          lastName: requestBody.lastName
          roleId: requestBody.roleId
          transactionSideId: requestBody.transactionSideId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/users/{userId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a room member's side or role
      effect: write
      questions:
      - Can I change which side of the transaction a room member is on?
      - Which details of an existing room member can I update?
      instructions:
      - text: Change user {userId} in room {roomId} to role {roleId}.
        slots:
          userId: path.userId
          roomId: path.roomId
          roleId: requestBody.roleId
      - text: Move room member {userId} in room {roomId} of account {accountId} to transaction side {transactionSideId}.
        slots:
          userId: path.userId
          roomId: path.roomId
          accountId: path.accountId
          transactionSideId: requestBody.transactionSideId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/users/{userId}/revoke_access'].post
  update:
    x-apievangelist-phrasing:
      intent: Revoke a user's access to a room
      effect: destructive
      questions:
      - Can I remove someone's access to a room immediately or schedule it for a later date?
      - What happens when I revoke a member's room access?
      instructions:
      - text: Revoke user {userId}'s access to room {roomId} now.
        slots:
          userId: path.userId
          roomId: path.roomId
      - text: Revoke room {roomId} access for user {userId} in account {accountId} on {revocationDate}.
        slots:
          roomId: path.roomId
          userId: path.userId
          accountId: path.accountId
          revocationDate: requestBody.revocationDate
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/users/{userId}/restore_access'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore a user's access to a room
      effect: write
      questions:
      - Can I give a previously revoked member their room access back?
      - Is there a way to undo revoking someone from a room?
      instructions:
      - text: Restore user {userId}'s access to room {roomId}.
        slots:
          userId: path.userId
          roomId: path.roomId
      - text: Reinstate room {roomId} access for user {userId} in account {accountId}.
        slots:
          roomId: path.roomId
          userId: path.userId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms'].get
  update:
    x-apievangelist-phrasing:
      intent: List rooms I can view
      effect: read
      questions:
      - Which rooms can I see in my account, and can I filter them by status or office?
      - Can I find rooms that were closed or had field data change within a date range?
      instructions:
      - text: List all rooms in account {accountId}.
        slots:
          accountId: path.accountId
      - text: Show rooms with status {roomStatus} in office {officeId}.
        slots:
          roomStatus: query.roomStatus
          officeId: query.officeId
      - text: Find rooms closed between {roomClosedStartDate} and {roomClosedEndDate}.
        slots:
          roomClosedStartDate: query.roomClosedStartDate
          roomClosedEndDate: query.roomClosedEndDate
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new room
      effect: write
      questions:
      - What do I need before I can create a room, such as an office?
      - Can I create a room from a room template and set its owner?
      instructions:
      - text: Create a room named {name} with my role {roleId} in account {accountId}.
        slots:
          name: requestBody.name
          roleId: requestBody.roleId
          accountId: path.accountId
      - text: Open a new room {name} from template {templateId} in office {officeId} with role {roleId}.
        slots:
          name: requestBody.name
          templateId: requestBody.templateId
          officeId: requestBody.officeId
          roleId: requestBody.roleId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of a single room
      effect: read
      questions:
      - How can I look up the details of one specific room?
      - Can I include the room's field data when fetching a single room?
      instructions:
      - text: Get room {roomId}.
        slots:
          roomId: path.roomId
      - text: Show room {roomId} in account {accountId} including its field data.
        slots:
          roomId: path.roomId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a room
      effect: destructive
      questions:
      - What permission do I need to delete a room?
      - Can a manager delete rooms owned by the people they manage?
      instructions:
      - text: Delete room {roomId}.
        slots:
          roomId: path.roomId
      - text: Permanently remove room {roomId} from account {accountId}.
        slots:
          roomId: path.roomId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/assignable_roles'].get
  update:
    x-apievangelist-phrasing:
      intent: List roles I can assign in a room
      effect: read
      questions:
      - Which room-level roles can I give to people I invite to a room?
      - Does the assignable roles list work for Rooms v6 only?
      instructions:
      - text: List the roles I can assign in room {roomId}.
        slots:
          roomId: path.roomId
      - text: Show assignable roles in room {roomId} of account {accountId} for invitee {assigneeEmail}.
        slots:
          roomId: path.roomId
          accountId: path.accountId
          assigneeEmail: query.assigneeEmail
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/documents'].get
  update:
    x-apievangelist-phrasing:
      intent: List documents in a room
      effect: read
      questions:
      - What documents can I access in a specific room?
      - Can I list room documents in one folder or include archived ones?
      instructions:
      - text: List the documents in room {roomId}.
        slots:
          roomId: path.roomId
      - text: Show documents in room {roomId} in folder {roomFolderId} whose name matches {nameFilter}.
        slots:
          roomId: path.roomId
          roomFolderId: query.roomFolderId
          nameFilter: query.nameFilter
      - text: List room {roomId} documents in account {accountId} including archived files.
        slots:
          roomId: path.roomId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/documents'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a base64 document to a room
      effect: write
      questions:
      - Can I add a document to a room by sending its contents as base64?
      - What happens if a room already has a document with the same name?
      instructions:
      - text: Add document {name} with contents {base64Contents} to room {roomId}.
        slots:
          name: requestBody.name
          base64Contents: requestBody.base64Contents
          roomId: path.roomId
      - text: 'Put base64 file {name} into folder {folderId} of room {roomId} in account {accountId}: {base64Contents}.'
        slots:
          name: requestBody.name
          folderId: requestBody.folderId
          roomId: path.roomId
          accountId: path.accountId
          base64Contents: requestBody.base64Contents
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/documents/contents'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a file to a room as multipart
      effect: write
      questions:
      - Can I upload a file to a room with a multipart form request instead of base64?
      - Which headers are needed for a multipart file upload into a room?
      instructions:
      - text: Upload file {file} to room {roomId} as a multipart upload.
        slots:
          file: requestBody.file
          roomId: path.roomId
      - text: Send the file {file} as a multipart upload into room {roomId} of account {accountId}.
        slots:
          file: requestBody.file
          roomId: path.roomId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/picture'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a room's picture
      effect: write
      questions:
      - What image formats and size limits apply to a room's photo?
      - Can I replace the picture shown for a room?
      instructions:
      - text: Set the picture of room {roomId} to {file}.
        slots:
          roomId: path.roomId
          file: requestBody.file
      - text: Replace the photo of room {roomId} in account {accountId}.
        slots:
          roomId: path.roomId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/accounts/{accountId}/rooms/{roomId}/field_set'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the field set a room uses
      effect: read
      questions:
      - Which set of fields defines what appears on a room's Details tab?
      - Can I see the field definitions behind a room's field data?
      instructions:
      - text: Get the field set used by room {roomId}.
        slots:
          roomId: path.roomId
      - text: Show the Details tab field definitions for room {roomId} in account {accountId}.
        slots:
          roomId: path.roomId
          accountId: path.accountId
      method: generated
      generated: '2026-10-01'

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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 overlay
curl "https://apis.io/api/v1/overlays/docusign-rooms-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.