SpotDraft V2.1 Contract Invitations API

Invite, uninvite, and manage contract participants and invited roles across public API versions.

Operations 3

POST /api/v2.1/public/contracts/{contract_id}/invite/ Invite Users & Roles #
POST /api/v2.1/public/contracts/{contract_id}/uninvite/ Un-invite a User or Role #
POST /api/v2.1/public/contracts/{contract_id}/uninvite_all/ Un-invite All Users & Roles #

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/spotdraft-v2-1-contract-invitations-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

spotdraft-v2-1-contract-invitations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SpotDraft V2.1 Contract Invitations API
  version: v1
  x-version: v1
  x-logo:
    url: https://cdn.spotdraft.com/assets/logo-black-new.png
    backgroundColor: transparent
    altText: SpotDraft Logo
    href: https://spotdraft.com
  x-favicon: https://cdn.spotdraft.com/assets/favicon.png
  x-footer: © SpotDraft Inc. All rights reserved.
  description: '# SpotDraft Public API


    Welcome to the **SpotDraft Public API**.'
servers:
- url: https://api.eu.spotdraft.com
  description: Europe
- url: https://api.in.spotdraft.com
  description: India
- url: https://api.us.spotdraft.com
  description: United States
- url: https://api.me.spotdraft.com
  description: Middle East
tags:
- name: V2.1 Contract Invitations
  description: Invite, uninvite, and manage contract participants and invited roles across public API versions.
paths:
  /api/v2.1/public/contracts/{contract_id}/invite/:
    post:
      operationId: v2.1_public_contracts_invite_create
      description: 'Invites specific users or roles to collaborate on the contract.

        This grants contract-level access in addition to any access already inherited from the contract type.'
      summary: Invite Users & Roles
      parameters:
      - in: path
        name: contract_id
        schema:
          type: integer
        description: ID of the Contract.
        required: true
      tags:
      - V2.1 Contract Invitations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalContractInviteRequest'
            examples:
              Example1:
                value:
                  items:
                  - role_id: 34
                    permission_name: CONTRACT.READ
                    note: Inviting Legal team with contract read access.
                summary: Example 1
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExternalContractInviteRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExternalContractInviteRequest'
        required: true
      security:
      - ClientId: []
        ClientSecret: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalContractInviteResponse'
              examples:
                Example1:
                  value:
                    impacted_users: []
                    impacted_roles:
                    - id: 34
                      name: Legal
                      description: Legal team
                  summary: Example 1
          description: Success
      x-tagGroup: Contracts
  /api/v2.1/public/contracts/{contract_id}/uninvite/:
    post:
      operationId: v2.1_public_contracts_uninvite_create
      description: Un-Invite a specific user or roles to this contract who have been invited. This does not change contract type based access, this will also not remove read access given to sign recipients.
      summary: Un-invite a User or Role
      parameters:
      - in: path
        name: contract_id
        schema:
          type: integer
        description: ID of the Contract.
        required: true
      tags:
      - V2.1 Contract Invitations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalContractUnInviteRequest'
            examples:
              Example1:
                value:
                  user_id: 100
                  role_id: 101
                summary: Example 1
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExternalContractUnInviteRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExternalContractUnInviteRequest'
      security:
      - ClientId: []
        ClientSecret: []
      - OAuthBearer: []
      responses:
        '200':
          description: Invite removed.
      x-tagGroup: Contracts
  /api/v2.1/public/contracts/{contract_id}/uninvite_all/:
    post:
      operationId: v2.1_public_contracts_uninvite_all_create
      description: Un-Invite all the users and roles who have been invited to this contract. This does not change contract type based access. this will also not remove read access given to sign recipients.
      summary: Un-invite All Users & Roles
      parameters:
      - in: path
        name: contract_id
        schema:
          type: integer
        description: ID of the Contract.
        required: true
      tags:
      - V2.1 Contract Invitations
      security:
      - ClientId: []
        ClientSecret: []
      - OAuthBearer: []
      responses:
        '200':
          description: All invites removed.
      x-tagGroup: Contracts
components:
  schemas:
    ExternalContractInviteResponse:
      title: ExternalContractInviteResponse
      type: object
      properties:
        impacted_users:
          title: Impacted Users
          description: The list of users invited.
          default: []
          type: array
          items:
            title: ExternalUserPublicResponse
            type: object
            properties:
              id:
                title: Id
                description: Id of the User.
                type: integer
              name:
                title: Name
                description: Name of the User.
                default: ''
                type: string
              email:
                title: Email
                description: Email of the User.
                type: string
                format: email
              designation:
                title: Designation
                description: Designation of the User.
                type: string
            required:
            - id
            - email
        impacted_roles:
          title: Impacted Roles
          description: The list of roles invited.
          default: []
          type: array
          items:
            title: ExternalRolePublicResponse
            type: object
            properties:
              id:
                title: Id
                description: Id of the role.
                type: integer
              name:
                title: Name
                description: Name of the role.
                minLength: 1
                type: string
              description:
                title: Description
                description: Description of the role.
                type: string
            required:
            - id
            - name
            - description
      examples:
      - impacted_users: []
        impacted_roles:
        - id: 34
          name: Legal
          description: Legal team
    ExternalContractInviteRequest:
      title: ExternalContractInviteRequest
      type: object
      properties:
        items:
          title: Items
          description: The list of roles/org users/new emails to be invited for this contract. The list cannot be empty.
          type: array
          items:
            title: ExternalContractInviteRequestItem
            type: object
            properties:
              role_id:
                title: Role Id
                description: The Role ID to be invited. [This](https://api.spotdraft.com/api/v2/public/auth/roles) API can be used to fetch the role ID.
                type: integer
              user_id:
                title: User Id
                description: The User ID to be invited. [This](https://api.spotdraft.com/api/v2.1/public/auth/users) API can be used to fetch the user ID.
                type: integer
              new_user_email:
                title: New User Email
                description: Email of the new user to be invited. Set exactly one of `role_id`, `user_id`, or `new_user_email`.
                minLength: 1
                type: string
              new_user_name:
                title: New User Name
                description: Name of the new user to be invited.
                default: ''
                minLength: 1
                type: string
              new_user_role_id:
                title: New User Role Id
                description: Role ID to which the new invited user is to be assigned. [This](https://api.spotdraft.com/api/v2/public/auth/roles) API can be used to fetch the role ID.
                type: integer
              note:
                title: Note
                description: Note to be included in the contract invite.
                default: ''
                minLength: 1
                type: string
              permission_name:
                title: ExternalContractInvitePermissionType
                description: The type of permission to be provided to the invited role/user.
                enum:
                - CONTRACT.READ
                - CONTRACT.SUGGEST
                - CONTRACT.EDIT
                - CONTRACT.SIGN
                type: string
            required:
            - permission_name
      required:
      - items
      examples:
      - items:
        - role_id: 34
          permission_name: CONTRACT.READ
          note: Inviting Legal team with contract read access.
    ExternalContractUnInviteRequest:
      title: ExternalContractUnInviteRequest
      type: object
      properties:
        user_id:
          title: User Id
          description: ID of the user that is to be uninvited. Set exactly one of `user_id` or `role_id`.
          type: integer
        role_id:
          title: Role Id
          description: ID of the role that is to be uninvited. Set exactly one of `user_id` or `role_id`.
          type: integer
      examples:
      - user_id: 100
        role_id: 101
  securitySchemes:
    ClickwrapId:
      type: apiKey
      in: header
      name: clickwrap-id
      description: Public clickwrap identifier header.
    ClientId:
      type: apiKey
      name: client-id
      in: header
    ClientSecret:
      type: apiKey
      name: client-secret
      in: header
    NativeIntegrationBasic:
      type: http
      scheme: basic
      description: HTTP Basic auth for supported native integrations. Send base64(client_id:client_secret) in the Authorization header.
    OAuthBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 bearer token for workspace user access.
    Origin:
      type: apiKey
      in: header
      name: Origin
      description: Browser origin header used for clickwrap domain validation.
x-logo:
  url: https://cdn.spotdraft.com/assets/logo-black-new.png
  backgroundColor: transparent
  altText: SpotDraft Logo
  href: https://spotdraft.com
x-tagGroups:
- name: Contracts
  tags:
  - V2.1 Contract APIs
  - V2 Contract APIs
  - V1 Contract APIs
  - V2.1 Contract Approvals
  - V2 Contract Approvals
  - V2.1 Contract Activity
  - V2 Contract Activity
  - V2.1 Contract Invitations
  - V2 Contract Invitations
  - V2.1 Contract Metadata Values
  - V2 Contract Metadata Values
  - V2.1 Contract External Metadata
  - V2.1 Contract Notes
  - V2 Contract Notes
  - V2.1 Contract Obligations
  - V2.1 Contract Facets
  - V2.1 Contract Versions
  - V2 Contract Versions
  - V2.1 Recipients
  - V2 Recipients
- name: Clickwrap
  tags:
  - V2.1 Clickwrap
- name: Legal Intake
  tags:
  - V1 Legal Intake
- name: Workflow
  tags:
  - V2.1 Contract Metadata Definitions
  - V2 Contract Metadata Definitions
  - V2.1 Contract Types
  - V2 Contract Types
  - V2.1 Templates
  - V2 Templates
  - V1 Templates
- name: Platform
  tags:
  - V2.1 Users
  - V2 Users
  - V1 Users
  - V2.1 Counterparties
  - V2 Counterparties
  - V2.1 Organizations
  - V2 Organizations
  - V1 Obligation Types
  - V1 Native Integrations
  - V2.1 Workspace Files
  - V2.1 Tasks and Reminders
  - V2 Tasks and Reminders
  - V2.1 Webhooks
  - V1 Webhooks
  - V1 Emails
  - V2.1 Analytics Query
  - V2.1 Workspaces
  - V2.1 Workspace Tags
- name: Sidebar
  tags:
  - V2.1 Sidebar