Rocket Lawyer Templates API

The Templates API from Rocket Lawyer — 5 operation(s) for templates.

Operations 5

GET /templates Get Templates List #
GET /templates/{templateId} Retrieve a Template by ID #
GET /templates/{templateId}/preview Retrieve a Template Preview #
GET /templates/{templateId}/thumbnail Retrieve a Template Thumbnail #
GET /templates/{templateId}/tagged-answer-model Retrieve Tagged Answer Model for a Template #

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/rocket-lawyer-templates-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

rocket-lawyer-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: RocketDocument v2 Templates API
  version: '2.2'
servers:
- url: https://api-sandbox.rocketlawyer.com/rocketdoc/v2
  description: sandbox
- url: https://api.rocketlawyer.com/rocketdoc/v2
  description: production
security:
- bearerAuth: []
tags:
- name: Templates
paths:
  /templates:
    get:
      tags:
      - Templates
      summary: Get Templates List
      description: A template is a predefined document structure that serves as a blueprint for creating various legal documents. This endpoint allows you to retrieve the full list of available templates.
      operationId: get-templates-list
      parameters:
      - $ref: '#/components/parameters/templateQueryIndex'
      - $ref: '#/components/parameters/lookupValueQuery'
      - $ref: '#/components/parameters/cursorQuery'
      - $ref: '#/components/parameters/pageSizeQuery'
      - $ref: '#/components/parameters/reverseQuery'
      responses:
        '200':
          description: Successfully returns a list of templates.
          headers:
            cursor:
              schema:
                type: string
              description: The cursor used to fetch the next page of results in a paginated response. Include this cursor value in the next request to retrieve the subsequent set of templates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/templatesGetResponse'
              examples:
                GetAllVirtualTemplates:
                  summary: Get a list of virtual templates.
                  value:
                  - templateName: Power of Attorney
                    shortDescription: '...'
                    longDescription: '...'
                    thumbnailRef: ''
                    previewRef: ''
                    templateId: BC006A4D-B5C0-402F-81BD-954D686924A5
                    medianMinutesToComplete: '20'
                    type: virtual
                  - templateName: Advance Directive
                    shortDescription: '...'
                    longDescription: '...'
                    thumbnailRef: ''
                    previewRef: ''
                    templateId: 093AC3FF-26B7-4417-8C99-09EFDE8184CD
                    medianMinutesToComplete: '20'
                    type: virtual
                GetAllUngroupedAndVirtualTemplates:
                  summary: Get a list of ungrouped and virtual templates.
                  value:
                  - templateName: Power of Attorney
                    shortDescription: '...'
                    longDescription: '...'
                    thumbnailRef: ''
                    previewRef: ''
                    templateId: BC006A4D-B5C0-402F-81BD-954D686924A5
                    medianMinutesToComplete: '20'
                    type: virtual
                  - templateName: Advance Directive
                    shortDescription: '...'
                    longDescription: '...'
                    thumbnailRef: ''
                    previewRef: ''
                    templateId: 093AC3FF-26B7-4417-8C99-09EFDE8184CD
                    medianMinutesToComplete: '20'
                    type: virtual
                  - templateName: Accounting Contract
                    shortDescription: Hire an accountant professional
                    longDescription: An Accounting Contract enables ...
                    thumbnailRef: '...'
                    previewRef: '...'
                    templateId: 25285311-89bd-4cea-8800-7b9ce0192428
                    medianMinutesToComplete: '20'
                    type: standard
                  - templateName: Affidavit
                    shortDescription: Make a sworn statement to use in any state
                    longDescription: An Affidavit is simply a written, notarized sworn ...
                    thumbnailRef: '...'
                    previewRef: '...'
                    templateId: 66ea0ae0-32d9-43d7-8e51-b6d2280fafa1
                    medianMinutesToComplete: '20'
                    type: standard
                GetVirtualGroupedTemplates:
                  summary: Get a list of grouped templates.
                  value:
                  - templateName: California Power of Attorney
                    shortDescription: '...'
                    longDescription: '...'
                    thumbnailRef: '...'
                    previewRef: '...'
                    templateId: b82a1961-87a0-4cf8-9db9-7d26f09fc590
                    medianMinutesToComplete: '20'
                    type: standard
                    memberAlias: California
                    memberOf:
                    - BC006A4D-B5C0-402F-81BD-954D686924A5
                  - templateName: Colorado Power of Attorney
                    shortDescription: '...'
                    longDescription: '...'
                    thumbnailRef: '...'
                    previewRef: '...'
                    templateId: cc325f21-3aa2-4f35-8688-287afba21772
                    medianMinutesToComplete: '20'
                    type: standard
                    memberAlias: Colorado
                    memberOf:
                    - BC006A4D-B5C0-402F-81BD-954D686924A5
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      deprecated: false
  /templates/{templateId}:
    get:
      tags:
      - Templates
      summary: Retrieve a Template by ID
      description: Retrieves a specific template identified by the `templateId`. The response includes detailed information such as the template's name, short and long descriptions, and URL references to its thumbnail and preview.
      operationId: get-template
      parameters:
      - $ref: '#/components/parameters/templateIdPath'
        description: The unique identifier of the template to be retrieved.
      responses:
        '200':
          description: Successfully returns the requested template.
          headers:
            Cache-Control:
              schema:
                type: string
              description: Directives for caching Template objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/templateGetResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      deprecated: false
  /templates/{templateId}/preview:
    get:
      tags:
      - Templates
      summary: Retrieve a Template Preview
      description: Retrieves a preview of the specified template identified by the `templateId`. The response provides a visual representation of the template in HTML format.
      operationId: get-template-preview
      parameters:
      - $ref: '#/components/parameters/templateIdPath'
        description: The unique identifier of the template to be retrieved.
      - $ref: '#/components/parameters/brandIdQuery'
      - name: Accept
        in: header
        required: false
        description: Specifies the format of the preview response. Currently, only `text/html` is supported.
        schema:
          enum:
          - text/html
          default: text/html
          type: string
      responses:
        '200':
          description: Successfully returns the template preview in the specified format.
          headers:
            Cache-Control:
              schema:
                type: string
              description: Directives for caching Template previews.
          content:
            text/html:
              schema:
                type: string
                example: "<html>\n  <body>\n    <b>Example</b>\n  </body>\n</html>\n"
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      deprecated: false
  /templates/{templateId}/thumbnail:
    get:
      tags:
      - Templates
      summary: Retrieve a Template Thumbnail
      description: Retrieves the thumbnail image of the specified template identified by the `templateId`. The response provides a visual representation of the template in PNG format.
      operationId: get-template-thumbnail
      parameters:
      - $ref: '#/components/parameters/templateIdPath'
        description: The unique identifier of the template to be retrieved.
      - $ref: '#/components/parameters/brandIdQuery'
      - name: Accept
        in: header
        required: false
        description: Specifies the format of the thumbnail response. Currently, only `image/png` is supported.
        schema:
          enum:
          - image/png
          default: image/png
          type: string
      responses:
        '200':
          description: Successfully returns the template thumbnail in the specified format.
          headers:
            Cache-Control:
              schema:
                type: string
              description: Directives for caching Template thumbnail images.
          content:
            image/png:
              schema:
                type: string
                example: image
                format: binary
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      deprecated: false
  /templates/{templateId}/tagged-answer-model:
    get:
      tags:
      - Templates
      summary: Retrieve Tagged Answer Model for a Template
      description: Retrieves the Tagged Answer Model (TAM) for the specified template identified by the `templateId`. The TAM provides a structured format for injecting data into an interview or retrieving data from an interview.
      operationId: get-template-tam
      parameters:
      - $ref: '#/components/parameters/templateIdPath'
      responses:
        '200':
          description: Successfully returns the Tagged Answer Model (TAM) for the specified template.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tam'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      deprecated: false
components:
  schemas:
    tamEntityName:
      description: The name of the entity. This could be the name of a person, organization, or property involved in the interview.
      type: string
      example: Formed Entity
    templatesGetResponse:
      type: array
      items:
        $ref: '#/components/schemas/template'
    tam:
      description: 'The Tagged Answer Model (TAM) represents the structured format for injecting data into an interview or retrieving data from an interview. This model maps the input data to the corresponding fields and entities within the document template.

        '
      type: object
      properties:
        name:
          type: string
          description: The name of the template being used for the interview.
          example: Employment contract
        templateId:
          $ref: '#/components/schemas/templateId'
        entities:
          type: array
          items:
            $ref: '#/components/schemas/tamEntity'
        fields:
          type: array
          items:
            $ref: '#/components/schemas/tamField'
      required:
      - name
      - entities
      - fields
    tamRole:
      description: A list of roles that the entity plays within the interview context. Roles define the specific function or position of the entity in the interview, such as 'Applicant' or 'Employer'.
      type: string
      example: Applicant
    template:
      type: object
      properties:
        templateId:
          $ref: '#/components/schemas/templateId'
        templateName:
          type: string
          description: The name of the interview template. This name typically reflects the purpose of the template, such as "Employment contract."
          example: Employment contract
        shortDescription:
          type: string
          description: A brief summary of the document template. This description provides a quick overview of the template's purpose and content.
          example: A contract for employment.
        longDescription:
          type: string
          description: A detailed description of the document template. This description offers an in-depth explanation of the template's contents, including any specific options or considerations.
          example: A contract for employment with options for employer & employee.
        medianMinutesToComplete:
          type: integer
          description: This is the median time expressed in minutes that takes to complete the entire Interview based on this Template.
          example: 10
        type:
          type: string
          enum:
          - standard
          - virtual
          example: standard
        memberOf:
          type: array
          description: This will be present if the Template (standard) has been grouped into one (1) or several virtual Templates. <small>(optional)</small>
          items:
            type: string
          example:
          - 5e281c0e-c7fc-4b32-85d9-d2c9c59c8aa5
          - 4b120b4d-b6fc-4b32-85d9-a1c9c59c8aa4
        thumbnailRef:
          type: string
          description: A URI to the thumbnail image representing the template. This thumbnail provides a visual representation of the template.
          example: https://api-sandbox.rocketlawyer.com/rocketdoc/v2/templates/0bf17ad8-a229-1289-ef4a-00b7c9ad9cab/thumbnail
        previewRef:
          type: string
          description: A URI to a preview of the template. This preview allows users to see a detailed view of the template before selecting or using it.
          example: https://api-sandbox.rocketlawyer.com/rocketdoc/v2/templates/0bf17ad8-a229-1289-ef4a-00b7c9ad9cab/preview
      required:
      - templateId
      - templateName
      - shortDescription
      - longDescription
      - thumbnailRef
      - previewRef
    templateGetResponse:
      allOf:
      - $ref: '#/components/schemas/template'
    tamEntity:
      type: object
      description: Represents an entity involved in the interview process. Entities can be individuals, organizations, or properties, each playing specific roles within the context of the interview.
      properties:
        name:
          $ref: '#/components/schemas/tamEntityName'
        class:
          $ref: '#/components/schemas/tamClass'
        roles:
          type: array
          items:
            $ref: '#/components/schemas/tamRole'
        isCyclical:
          type: string
          enum:
          - true
          - false
          default: false
          description: True if this Entity is cyclical. Not present or false if not.
      required:
      - name
      - class
      - roles
    fieldType:
      description: Metadata type suggesting what this field should contain and loosely describing how a UI might display it for user interaction. The field type provides hints on the nature of the data and the appropriate form input controls to use.
      type: object
      enum:
      - TEXT
      - PARAGRAPH
      - DATE
      - DROPDOWN
      - NUMBER
      - CURRENCY
      - PERCENTAGE
      - SSN
      - RADIO
      - CHECKBOX
      - PHONE_NUMBER
      - PHONE_EXT
    tamClass:
      type: string
      description: 'The classification of the entity. Can be either:

        - `Person`

        - `Organization`

        - `Property`

        '
      enum:
      - Person
      - Organization
      - Property
      example: Person
    tamEntityClass:
      description: The classification of the field within the entity. This defines the type or category of the field, aligning with the entity's role and characteristics.
      type: string
      example: Entity Type
    templateId:
      description: The unique identifier of the document template to be used for the interview. This template defines the structure and content of the interview. Retrieve a list of available templates with the [Get Templates](/get-templates) endpoint.
      type: string
      example: 0bf17ad8-a229-1289-ef4a-00b7c9ad9cab
    tamField:
      type: object
      description: Each field corresponds to a data point in the interview, allowing for the collection and retrieval of user-entered information. These fields are pre-filled with initial data and align with the template's structure, facilitating a customized and relevant interview process.
      properties:
        entity:
          description: This entity correlates with an object in the entities array, linking the field to a specific entity involved in the interview. The entity helps to contextualize the field within the broader interview structure.
          type: string
        fieldClass:
          $ref: '#/components/schemas/tamEntityClass'
        type:
          $ref: '#/components/schemas/fieldType'
        value:
          type: string
          description: The actual value of the field. This is the data entered by the user or provided initially, corresponding to the field's type and purpose within the interview.
        cycleId:
          description: "Id of the cycle. Not present if not cyclical. Cycle Ids can be of any type \nbut numerical is most intuitive and most predictable for sorting.\n"
          type: string
      required:
      - entity
      - fieldClass
      - type
      - value
  parameters:
    reverseQuery:
      name: reverse
      in: query
      description: 'Determines the order of search results. When set to true, results are returned in reverse order. Use this parameter to reverse the sorting order of the search results. The default value is `false`.

        ⚠️ <small>Ignored if the `index` and `lookupValue` parameters are not present.</small> ⚠️

        '
      schema:
        type: boolean
      example: true
      required: false
    pageSizeQuery:
      name: pageSize
      in: query
      description: 'Defines the number of results to return per page in a paginated response. Use this parameter to control the amount of data returned in each response.

        The default value is `20`, with a maximum limit of `200`.

        ⚠️ <small>Ignored if the `index` and `lookupValue` parameters are not present.</small> ⚠️

        '
      schema:
        type: integer
      example: 25
      required: false
    templateIdPath:
      name: templateId
      in: path
      description: The unique identifier of a Template.
      required: true
      schema:
        type: string
      example: e3b7da14-a7ef-402d-a50d-50edd3015fa6
    templateQueryIndex:
      name: index
      in: query
      description: 'Specifies the name of the index to filter search results. Use this parameter to perform searches against a specific index. Possible indexed lookups:

        - `virtual`: Lists all virtual templates exclusively. This is a list of all group parents.

        - `virtualAndUngrouped`: Lists all virtual templates (group parents) and ungrouped standard templates. This search does not contain standard templates that are associated with a virtual template.

        - `groupBy`: Use this index to show only templates grouped by the `templateId` in `lookupValue`. Note that if the templateId does not identify a virtual template, the resulting list will be empty.

        '
      schema:
        type: string
        enum:
        - virtual
        - virtualAndUngrouped
        - groupBy
      example: virtual
      required: false
    cursorQuery:
      name: cursor
      in: query
      description: 'A pagination cursor used to retrieve the next set of results in a paginated response. Include the cursor value from the previous response to continue fetching results. This parameter is not required for the first search.

        ⚠️ <small>Ignored if the `index` and `lookupValue` parameters are not present.</small> ⚠️

        '
      schema:
        type: string
      example: 'bfc84903-b4ea-46b0-b7cb-78157a979687

        '
      required: false
    lookupValueQuery:
      name: lookupValue
      in: query
      description: 'The value to search for within the specified index. This parameter works in conjunction with the `index` parameter to refine search results.

        ⚠️ <small>Ignored if the `index` parameter is not present.</small> ⚠️

        '
      schema:
        type: string
      required: false
    brandIdQuery:
      name: brandId
      in: query
      description: The unique identifier of the brand.
      required: false
      schema:
        type: string
      example: cde1d5c7-ba7e-46bf-8ac3-78ea2ec3f5e4
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT