---
title: "Create RequestV2Definition"
method: POST
path: "/api/v3/request-v2-definition"
tags: ["Request Template"]
---

# Create RequestV2Definition

`POST /api/v3/request-v2-definition`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/request-v2-definition`
- Auth: HTTP bearer

Create RequestV2Definition.

## Headers

- `EARLY-ACCESS` string

## Request body

- CreateRequestV2DefinitionInput
  - `description` string, nullable: Description of the request template. Must not exceed 1024 characters and must not contain a null character.
  - `name` string, required: Name of the request template. Must not be empty, must not exceed 255 characters, and must not contain a null character.
  - `prefix` string, required: Prefix for the displayId of requests created from this template.
  - `taskSchemaId` string, required: API ID of the workflow task schema that defines the task structure and fields for this request template.
  - `templateCollectionId` string, required: API ID of the template collection that this request template belongs to.

## Response `201`

Created

- RequestV2Definition: A reusable template that defines the structure and configuration for requests in Benchling. Also known as a "Request Template" in the UI. Each RequestV2Definition specifies a `templateDocument` that serves as the document template for requests, a `workflowTaskSchema` that defines the task structure and fields, and a `prefix` used to generate human-readable display IDs (e.g., "REQ-001") for submissions created from this template. Request templates are organized within `TemplateCollection` folders and support collaboration features like starring (see `Starrable`). When users submit a request, they create a `RequestV2Submission` based on this definition. The template can include a `description` to explain its intended use and can be archived when no longer needed.
  - `archiveReason` string, nullable
  - `archived` boolean
  - `createdAt` string, datetime, nullable
  - `creator` PrincipalRef
    - `__typename` string
    - `id` string, api_id
  - `description` string, nullable: Description of the request template.
  - `id` string
  - `modifiedAt` string, datetime, nullable
  - `name` string
  - `prefix` string: The prefix for the displayId of tasks of this schema.
  - `templateCollection` TemplateCollectionRef
    - `__typename` string
    - `id` string, api_id
  - `webUrl` string, nullable
  - `workflowTaskSchema` WorkflowTaskSchemaRef
    - `__typename` string
    - `id` string, api_id

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/benchling/apis/benchling-api.md) - [All operations](https://skmtc.dev/benchling/apis/benchling-api/llms.txt) - [OpenAPI document](https://skmtc.dev/benchling/apis/benchling-api/revisions/c9f087b98b8b?raw)
