naftiko: 1.0.0-alpha2 info: label: DocuSign Rooms API - v2 — Users description: 'DocuSign Rooms API - v2 — Users. 12 operations. Lead operation: Docusign Gets a list of users.. Self-contained Naftiko capability covering one Docusign business surface.' tags: - Docusign - Users created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DOCUSIGN_API_KEY: DOCUSIGN_API_KEY capability: consumes: - type: http namespace: rooms-users baseUri: https://rooms.docusign.com/restapi description: DocuSign Rooms API - v2 — Users business capability. Self-contained, no shared references. resources: - name: v2-accounts-accountId-users path: /v2/accounts/{accountId}/users operations: - name: usersgetusers method: GET description: Docusign Gets a list of users. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: 'Filters results by name and email address. This is a "starts with" filter, which means that you can enter only the beginning of a name or email address. ' - name: sort in: query type: string description: 'Specifies how to sort the results. Valid values are:' - name: defaultOfficeId in: query type: integer description: Filters for users who have this office ID as their default office ID. - name: accessLevel in: query type: string description: Filters for users who have the specified access level. A user's access level and role determine the types of resources and actions that are available to them. - name: titleId in: query type: integer description: This field is deprecated in Rooms Version 6. - name: roleId in: query type: integer description: Filters for users who have the specified `roleId`. - name: status in: query type: string description: Filters for users who have the specified `status`. - name: lockedOnly in: query type: boolean description: When **true,** filters for users whose accounts are locked. - name: startPosition in: query type: integer description: The starting zero-based index position within the result set from which to begin the response. The default is `0`. - name: count in: query type: integer description: The maximum number of users to return in the response. This value must be a number between `1` and `100` (default). - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: v2-accounts-accountId-users-invite_user path: /v2/accounts/{accountId}/users/invite_user operations: - name: usersinviteuser method: POST description: Docusign Invites a user to a company account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v2-accounts-accountId-users-userId path: /v2/accounts/{accountId}/users/{userId} operations: - name: usersgetuser method: GET description: Docusign Gets a user. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer description: The ID of the user. required: true - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: usersupdateuser method: PUT description: Docusign Updates a user's default office. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer description: The ID of the user to update. required: true - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: usersremoveuser method: DELETE description: Docusign Removes a user from a company account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer description: The ID of the user to remove. required: true - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: v2-accounts-accountId-users-userId-add_to_office path: /v2/accounts/{accountId}/users/{userId}/add_to_office operations: - name: usersaddusertooffice method: POST description: Docusign Adds a user to an office. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer description: The ID of the user to add. required: true - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v2-accounts-accountId-users-userId-add_to_region path: /v2/accounts/{accountId}/users/{userId}/add_to_region operations: - name: usersaddusertoregion method: POST description: Docusign Adds a user to a region. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer description: The ID of the user to add. required: true - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v2-accounts-accountId-users-userId-lock path: /v2/accounts/{accountId}/users/{userId}/lock operations: - name: userslockuser method: POST description: Docusign Locks a user's account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer description: ID of the user to lock. required: true - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v2-accounts-accountId-users-userId-reinvite path: /v2/accounts/{accountId}/users/{userId}/reinvite operations: - name: usersreinviteuser method: POST description: Docusign Reinvites a user to join a company account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer description: The ID of the user to reinvite. required: true - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: v2-accounts-accountId-users-userId-remove_from_office path: /v2/accounts/{accountId}/users/{userId}/remove_from_office operations: - name: usersremoveuserfromoffice method: POST description: Docusign Removes a user from an office. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer description: The ID of the user to remove. required: true - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v2-accounts-accountId-users-userId-remove_from_region path: /v2/accounts/{accountId}/users/{userId}/remove_from_region operations: - name: usersremoveuserfromregion method: POST description: Docusign Removes a user from a region. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer description: The ID of the user to remove. required: true - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v2-accounts-accountId-users-userId-unlock path: /v2/accounts/{accountId}/users/{userId}/unlock operations: - name: usersunlockuser method: POST description: Docusign Unlocks a user's account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer description: The ID of the user to unlock. required: true - name: accountId in: path type: string description: The globally unique identifier (GUID) for the account. required: true authentication: type: apikey key: Authorization value: '{{env.DOCUSIGN_API_KEY}}' placement: header exposes: - type: rest namespace: rooms-users-rest port: 8080 description: REST adapter for DocuSign Rooms API - v2 — Users. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v2/accounts/{accountid}/users name: v2-accounts-accountid-users description: REST surface for v2-accounts-accountId-users. operations: - method: GET name: usersgetusers description: Docusign Gets a list of users. call: rooms-users.usersgetusers with: filter: rest.filter sort: rest.sort defaultOfficeId: rest.defaultOfficeId accessLevel: rest.accessLevel titleId: rest.titleId roleId: rest.roleId status: rest.status lockedOnly: rest.lockedOnly startPosition: rest.startPosition count: rest.count accountId: rest.accountId outputParameters: - type: object mapping: $. - path: /v1/v2/accounts/{accountid}/users/invite-user name: v2-accounts-accountid-users-invite-user description: REST surface for v2-accounts-accountId-users-invite_user. operations: - method: POST name: usersinviteuser description: Docusign Invites a user to a company account. call: rooms-users.usersinviteuser with: accountId: rest.accountId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/accounts/{accountid}/users/{userid} name: v2-accounts-accountid-users-userid description: REST surface for v2-accounts-accountId-users-userId. operations: - method: GET name: usersgetuser description: Docusign Gets a user. call: rooms-users.usersgetuser with: userId: rest.userId accountId: rest.accountId outputParameters: - type: object mapping: $. - method: PUT name: usersupdateuser description: Docusign Updates a user's default office. call: rooms-users.usersupdateuser with: userId: rest.userId accountId: rest.accountId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: usersremoveuser description: Docusign Removes a user from a company account. call: rooms-users.usersremoveuser with: userId: rest.userId accountId: rest.accountId outputParameters: - type: object mapping: $. - path: /v1/v2/accounts/{accountid}/users/{userid}/add-to-office name: v2-accounts-accountid-users-userid-add-to-office description: REST surface for v2-accounts-accountId-users-userId-add_to_office. operations: - method: POST name: usersaddusertooffice description: Docusign Adds a user to an office. call: rooms-users.usersaddusertooffice with: userId: rest.userId accountId: rest.accountId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/accounts/{accountid}/users/{userid}/add-to-region name: v2-accounts-accountid-users-userid-add-to-region description: REST surface for v2-accounts-accountId-users-userId-add_to_region. operations: - method: POST name: usersaddusertoregion description: Docusign Adds a user to a region. call: rooms-users.usersaddusertoregion with: userId: rest.userId accountId: rest.accountId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/accounts/{accountid}/users/{userid}/lock name: v2-accounts-accountid-users-userid-lock description: REST surface for v2-accounts-accountId-users-userId-lock. operations: - method: POST name: userslockuser description: Docusign Locks a user's account. call: rooms-users.userslockuser with: userId: rest.userId accountId: rest.accountId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/accounts/{accountid}/users/{userid}/reinvite name: v2-accounts-accountid-users-userid-reinvite description: REST surface for v2-accounts-accountId-users-userId-reinvite. operations: - method: POST name: usersreinviteuser description: Docusign Reinvites a user to join a company account. call: rooms-users.usersreinviteuser with: userId: rest.userId accountId: rest.accountId outputParameters: - type: object mapping: $. - path: /v1/v2/accounts/{accountid}/users/{userid}/remove-from-office name: v2-accounts-accountid-users-userid-remove-from-office description: REST surface for v2-accounts-accountId-users-userId-remove_from_office. operations: - method: POST name: usersremoveuserfromoffice description: Docusign Removes a user from an office. call: rooms-users.usersremoveuserfromoffice with: userId: rest.userId accountId: rest.accountId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/accounts/{accountid}/users/{userid}/remove-from-region name: v2-accounts-accountid-users-userid-remove-from-region description: REST surface for v2-accounts-accountId-users-userId-remove_from_region. operations: - method: POST name: usersremoveuserfromregion description: Docusign Removes a user from a region. call: rooms-users.usersremoveuserfromregion with: userId: rest.userId accountId: rest.accountId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/accounts/{accountid}/users/{userid}/unlock name: v2-accounts-accountid-users-userid-unlock description: REST surface for v2-accounts-accountId-users-userId-unlock. operations: - method: POST name: usersunlockuser description: Docusign Unlocks a user's account. call: rooms-users.usersunlockuser with: userId: rest.userId accountId: rest.accountId outputParameters: - type: object mapping: $. - type: mcp namespace: rooms-users-mcp port: 9090 transport: http description: MCP adapter for DocuSign Rooms API - v2 — Users. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: docusign-gets-list-users description: Docusign Gets a list of users. hints: readOnly: true destructive: false idempotent: true call: rooms-users.usersgetusers with: filter: tools.filter sort: tools.sort defaultOfficeId: tools.defaultOfficeId accessLevel: tools.accessLevel titleId: tools.titleId roleId: tools.roleId status: tools.status lockedOnly: tools.lockedOnly startPosition: tools.startPosition count: tools.count accountId: tools.accountId outputParameters: - type: object mapping: $. - name: docusign-invites-user-company-account description: Docusign Invites a user to a company account. hints: readOnly: false destructive: false idempotent: false call: rooms-users.usersinviteuser with: accountId: tools.accountId body: tools.body outputParameters: - type: object mapping: $. - name: docusign-gets-user description: Docusign Gets a user. hints: readOnly: true destructive: false idempotent: true call: rooms-users.usersgetuser with: userId: tools.userId accountId: tools.accountId outputParameters: - type: object mapping: $. - name: docusign-updates-user-s-default-office description: Docusign Updates a user's default office. hints: readOnly: false destructive: false idempotent: true call: rooms-users.usersupdateuser with: userId: tools.userId accountId: tools.accountId body: tools.body outputParameters: - type: object mapping: $. - name: docusign-removes-user-company-account description: Docusign Removes a user from a company account. hints: readOnly: false destructive: true idempotent: true call: rooms-users.usersremoveuser with: userId: tools.userId accountId: tools.accountId outputParameters: - type: object mapping: $. - name: docusign-adds-user-office description: Docusign Adds a user to an office. hints: readOnly: false destructive: false idempotent: false call: rooms-users.usersaddusertooffice with: userId: tools.userId accountId: tools.accountId body: tools.body outputParameters: - type: object mapping: $. - name: docusign-adds-user-region description: Docusign Adds a user to a region. hints: readOnly: false destructive: false idempotent: false call: rooms-users.usersaddusertoregion with: userId: tools.userId accountId: tools.accountId body: tools.body outputParameters: - type: object mapping: $. - name: docusign-locks-user-s-account description: Docusign Locks a user's account. hints: readOnly: false destructive: false idempotent: false call: rooms-users.userslockuser with: userId: tools.userId accountId: tools.accountId body: tools.body outputParameters: - type: object mapping: $. - name: docusign-reinvites-user-join-company description: Docusign Reinvites a user to join a company account. hints: readOnly: false destructive: false idempotent: false call: rooms-users.usersreinviteuser with: userId: tools.userId accountId: tools.accountId outputParameters: - type: object mapping: $. - name: docusign-removes-user-office description: Docusign Removes a user from an office. hints: readOnly: false destructive: false idempotent: false call: rooms-users.usersremoveuserfromoffice with: userId: tools.userId accountId: tools.accountId body: tools.body outputParameters: - type: object mapping: $. - name: docusign-removes-user-region description: Docusign Removes a user from a region. hints: readOnly: false destructive: false idempotent: false call: rooms-users.usersremoveuserfromregion with: userId: tools.userId accountId: tools.accountId body: tools.body outputParameters: - type: object mapping: $. - name: docusign-unlocks-user-s-account description: Docusign Unlocks a user's account. hints: readOnly: false destructive: false idempotent: false call: rooms-users.usersunlockuser with: userId: tools.userId accountId: tools.accountId outputParameters: - type: object mapping: $.