SpotDraft V2.1 Contract Types API

Browse contract types, questionnaire definitions, and contract-type metadata.

Business capability
Contract Management BC-150.10

Operations 4

GET /api/v2.1/public/contract_types/ Get Contract Type List #
POST /api/v2.1/public/contract_types/{contract_type_id}/access_control Get Access Control List for Contract Type #
GET /api/v2.1/public/contract_types/{contract_type_id}/entities List Contract Type Entities #
GET /api/v2.1/public/contract_types/{contract_type_id}/intake_form/questionnaire/ Get Intake Form Questionnaire Details #

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-types-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-types-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SpotDraft V2.1 Contract Types 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 Types
  description: Browse contract types, questionnaire definitions, and contract-type metadata.
paths:
  /api/v2.1/public/contract_types/:
    get:
      operationId: v2.1_public_contract_types_retrieve
      description: Returns the contract types available to the authenticated workspace. Use these ids when creating contracts, uploading third-party paper, or querying intake-form requirements.
      summary: Get Contract Type List
      tags:
      - V2.1 Contract Types
      security:
      - ClientId: []
        ClientSecret: []
      - OAuthBearer: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractTypeListDomainModel'
              examples:
                Example1:
                  value:
                  - id: 100
                    name: General
                  summary: Example 1
          description: Contract Type List
      x-tagGroup: Workflow
  /api/v2.1/public/contract_types/{contract_type_id}/access_control:
    post:
      operationId: v2.1_public_contract_types_access_control_create
      description: Returns the contract-type access rules for the requested permission filters. Use this to understand which users and roles receive access automatically for contracts created from this contract type.
      summary: Get Access Control List for Contract Type
      parameters:
      - in: path
        name: contract_type_id
        schema:
          type: integer
        description: ID of the Contract Type.
        required: true
      tags:
      - V2.1 Contract Types
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractTypeAccessControlListAPIRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ContractTypeAccessControlListAPIRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ContractTypeAccessControlListAPIRequest'
        required: true
      security:
      - ClientId: []
        ClientSecret: []
      - OAuthBearer: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalContractTypeAccessControlListAPIResponse'
          description: List Contract Type access control list
      x-tagGroup: Workflow
  /api/v2.1/public/contract_types/{contract_type_id}/entities:
    get:
      operationId: v2.1_public_contract_types_entities_retrieve
      description: Returns the organization entities that can be used with this contract type. Use these ids when the workflow requires a creator-side legal entity.
      summary: List Contract Type Entities
      parameters:
      - in: path
        name: contract_type_id
        schema:
          type: integer
        description: ID of the Contract Type.
        required: true
      tags:
      - V2.1 Contract Types
      security:
      - ClientId: []
        ClientSecret: []
      - OAuthBearer: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalContractTypeEntityListResponse'
          description: List Contract Type Entities
      x-tagGroup: Workflow
  /api/v2.1/public/contract_types/{contract_type_id}/intake_form/questionnaire/:
    get:
      operationId: v2.1_public_contract_types_intake_form_questionnaire_retrieve
      description: Returns the intake-form questions configured for the contract type. Use the response to build a valid questionnaire payload before you create or upload a contract for this workflow.
      summary: Get Intake Form Questionnaire Details
      parameters:
      - in: path
        name: contract_type_id
        schema:
          type: integer
        description: ID of the Contract Type.
        required: true
      tags:
      - V2.1 Contract Types
      security:
      - ClientId: []
        ClientSecret: []
      - OAuthBearer: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntakeFormQuestionnairePublicResponse'
              examples:
                Example1:
                  value:
                    display_label: Always she crime daughter task positive employee. Already mission popular ahead civil term.
                    variable: Always she crime daughter task positive employee. Already mission popular ahead civil term.
                    type: enum
                    parent_type: dropdown
                    options:
                    - label: test option 1
                      value: test option 1
                    - label: test option 2
                      value: test option 2
                    - label: test option 3
                      value: test option 3
                    required: false
                    default_value: null
                    question: 'Today down gas marriage kid. South think reality always. Management effort ground machine reality when impact.

                      Accept anyone picture him air.'
                    attributes: null
                  summary: Example 1
          description: Intake Form Questionnaire Details
      x-tagGroup: Workflow
components:
  schemas:
    PermissionFilterListEnum:
      enum:
      - READ
      - SUGGEST
      - EDIT
      - SIGN
      - CREATE
      type: string
    ExternalContractTypeEntityListResponse:
      title: ExternalContractTypeEntityListResponse
      description: The list of entities for the contract type
      type: array
      items:
        title: ExternalContractTypeEntityResponse
        type: object
        properties:
          entity_id:
            title: Entity Id
            description: The id of the entity
            type: integer
          entity_name:
            title: Entity Name
            description: The name of the entity
            type: string
          entity_type:
            title: Entity Type
            description: The type of the entity
            type: string
          jurisdiction_of_incorporation:
            title: Jurisdiction Of Incorporation
            description: The jurisdiction of incorporation
            type: string
          address:
            title: Address
            type: object
            properties:
              city:
                title: City
                description: The city name for this address.
                type: string
              state:
                title: State
                description: The state name for this address.
                default: ''
                type: string
              country:
                title: Country
                description: The name of the country associated with this entity address.
                type: string
              zipcode:
                title: Zipcode
                description: The zip/pin/postal code for this address.
                default: ''
                type: string
              line_one:
                title: Line One
                description: The first line of the address. Usually the apartment, floor, and street information.
                type: string
            required:
            - city
            - country
            - line_one
            examples:
            - address:
                city_name: Cincinnati
                state_name: Ohio
                country_name: USA
                zipcode: '513'
                line_one: 'st: 3, block: 2, Jenkins Road'
            description: The address of the entity
          is_primary:
            title: Is Primary
            description: Defines if this is the primary entity
            type: boolean
        required:
        - entity_id
        - entity_name
        - entity_type
        - jurisdiction_of_incorporation
        - address
        - is_primary
        examples:
        - entity_id: 100
          entity_name: ABC Services
          entity_type: Private Company
          jurisdiction_of_incorporation: United Arab Emirates
          address:
            city_name: Cincinnati
            state_name: Ohio
            country_name: USA
            zipcode: '513'
            line_one: 'st: 3, block: 2, Jenkins Road'
          is_primary: true
    ContractTypeAccessControlListAPIRequest:
      title: ContractTypeAccessControlListAPIRequest
      type: object
      properties:
        permission_filter_list:
          description: List of permission types to filter on. Provide one or more permission enum values.
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/PermissionFilterListEnum'
            title: ExternalContractInvitePermissionType
            description: An enumeration.
      required:
      - permission_filter_list
    ContractTypeListDomainModel:
      title: ContractTypeListDomainModel
      type: array
      items:
        title: ContractTypeDomainModel
        type: object
        properties:
          id:
            title: Id
            type: integer
          name:
            title: Name
            type: string
        required:
        - id
        - name
      examples:
      - - id: 100
          name: General
    IntakeFormQuestionnairePublicResponse:
      title: IntakeFormQuestionnairePublicResponse
      description: The list of attributes for this contract template.
      type: array
      items:
        title: IntakeFormQuestionnaireDetailsPublicResponse
        type: object
        properties:
          display_label:
            title: Display Label
            description: The label to be displayed to users
            type: string
          variable:
            title: Variable
            description: This defines the name of the variable. In case this is a nested variable, The name will include a `.`
            type: string
          type:
            title: CfPublicDescriptorType
            description: This defines the type of question field. The type defines what value needs to be sent in response to this field.
            enum:
            - string
            - boolean
            - int
            - float
            - array of strings
            - array of options
            - enum
            - date
            - repeating
            - array of files
            type: string
          parent_type:
            title: Parent Type
            description: 'The SpotDraft type of the parent variable this field is a child for, if any. Example: dropdown, duration, date, etc'
            minLength: 1
            type: string
          options:
            title: Options
            description: For `enum` and `arrary of options` types, this is the list of options to be shown to the user.
            type: array
            items:
              title: CfOption
              type: object
              properties:
                label:
                  title: Label
                  description: The label of this Option as shown to the user.
                  type: string
                value:
                  title: Value
                  description: The value of this Option as sent to the API.
              required:
              - label
          required:
            title: Required
            description: Describes if this variable is mandatory or not.
            default: true
            type: boolean
          default_value:
            title: Default Value
            description: The default value for this field, if any
          question:
            title: Question
            description: Question for this attribute.
            type: string
          attributes:
            title: Attributes
            description: Describes the shape of the object for repeating types. Only set when `type` is `repeating`.
            type: array
            items:
              title: IntakeFormQuestionnaireDetailsPublicBaseResponse
              type: object
              properties:
                display_label:
                  title: Display Label
                  description: The label to be displayed to users
                  type: string
                variable:
                  title: Variable
                  description: This defines the name of the variable. In case this is a nested variable, The name will include a `.`
                  type: string
                type:
                  title: CfPublicDescriptorType
                  description: This defines the type of question field. The type defines what value needs to be sent in response to this field.
                  enum:
                  - string
                  - boolean
                  - int
                  - float
                  - array of strings
                  - array of options
                  - enum
                  - date
                  - repeating
                  - array of files
                  type: string
                parent_type:
                  title: Parent Type
                  description: 'The SpotDraft type of the parent variable this field is a child for, if any. Example: dropdown, duration, date, etc'
                  minLength: 1
                  type: string
                options:
                  title: Options
                  description: For `enum` and `arrary of options` types, this is the list of options to be shown to the user.
                  type: array
                  items:
                    title: CfOption
                    type: object
                    properties:
                      label:
                        title: Label
                        description: The label of this Option as shown to the user.
                        type: string
                      value:
                        title: Value
                        description: The value of this Option as sent to the API.
                    required:
                    - label
                required:
                  title: Required
                  description: Describes if this variable is mandatory or not.
                  default: true
                  type: boolean
                default_value:
                  title: Default Value
                  description: The default value for this field, if any
                question:
                  title: Question
                  description: Question for this attribute.
                  type: string
              required:
              - display_label
              - variable
              - type
        required:
        - display_label
        - variable
        - type
      examples:
      - display_label: Always she crime daughter task positive employee. Already mission popular ahead civil term.
        variable: Always she crime daughter task positive employee. Already mission popular ahead civil term.
        type: enum
        parent_type: dropdown
        options:
        - label: test option 1
          value: test option 1
        - label: test option 2
          value: test option 2
        - label: test option 3
          value: test option 3
        required: false
        default_value: null
        question: 'Today down gas marriage kid. South think reality always. Management effort ground machine reality when impact.

          Accept anyone picture him air.'
        attributes: null
    ExternalContractTypeAccessControlListAPIResponse:
      title: ExternalContractTypeAccessControlListAPIResponse
      type: object
      properties:
        contract_type_id:
          title: Contract Type Id
          type: integer
        contract_type_name:
          title: Contract Type Name
          type: string
        permission_list:
          title: Permission List
          type: array
          items:
            title: ExternalAccessControlListItem
            type: object
            properties:
              permission_label:
                title: Permission Label
                type: string
              authorized_list:
                title: Authorized List
                type: array
                items:
                  title: ExternalPolicyResponse
                  type: object
                  properties:
                    kind:
                      title: Kind
                      type: string
                    subject_id:
                      title: Subject Id
                      type: integer
                    role:
                      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
                    user:
                      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
                  required:
                  - kind
                  - subject_id
            required:
            - permission_label
            - authorized_list
        auto_add_read_access_creator_team:
          title: Auto Add Read Access Creator Team
          default: false
          type: boolean
      required:
      - contract_type_id
      - contract_type_name
      - permission_list
  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