> ## Documentation Index
> Fetch the complete documentation index at: https://developer.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Box Doc Gen template

> Marks a file as a Box Doc Gen template.

<Note>
  Learn more about [Box SDK versioning strategy](/guides/tooling/sdks/sdk-versioning/).
</Note>


## OpenAPI

````yaml /box-openapi-v2025.0.json POST /docgen_templates
openapi: 3.0.2
info:
  title: Box Platform API
  description: >-
    [Box Platform](https://developer.box.com) provides functionality to provide
    access to content stored within [Box](https://box.com). It provides
    endpoints for basic manipulation of files and folders, management of users
    within an enterprise, as well as more complex topics such as legal holds and
    retention policies.
  termsOfService: https://cloud.app.box.com/s/rmwxu64h1ipr41u49w3bbuvbsa29wku9
  contact:
    name: Box, Inc
    url: https://developer.box.com
    email: devrel@box.com
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '2025.0'
  x-box-commit-hash: 95117b97f9
servers:
  - url: https://api.box.com/2.0
    description: Box Platform API server.
security:
  - OAuth2Security: []
tags:
  - name: Archives
    description: A set of endpoints used to manage archives.
    x-box-tag: archives
  - name: Enterprise Configurations
    description: >-
      Enterprise configurations admins interact with to drive Box product
      behavior.
    x-box-tag: enterprise_configurations
  - name: Box Doc Gen
    description: Doc Gen is used to automatically generate documents.
    x-box-tag: docgen
  - name: Box Doc Gen templates
    description: Doc Gen templates are used as input to generate documents.
    x-box-tag: docgen_template
  - name: External Users
    description: External users are collaborators from outside of your enterprise.
    x-box-tag: external_users
  - name: Box Hubs
    description: A set of endpoints used to manage Box Hubs.
    x-box-tag: hubs
  - name: Box Hub Collaborations
    description: A set of endpoints used to manage collaborations within a Box Hub.
    x-box-tag: hub_collaborations
  - name: Box Hub Document
    description: >-
      A set of endpoints used to retrieve Box Hub Document elements (pages and
      content blocks).
    x-box-tag: hub_document
  - name: Box Hub Items
    description: A set of endpoints used to manage items within a Box Hub.
    x-box-tag: hub_items
  - name: Shield lists
    description: >-
      Shield List allow an administrator to create a list which will be shared
      between different Shield Smart Access and Threat Detection rules.
    x-box-tag: shield_lists
externalDocs:
  description: Box Developer Documentation.
  url: https://developer.box.com
paths:
  /docgen_templates:
    post:
      tags:
        - Box Doc Gen templates
      summary: Create Box Doc Gen template
      description: Marks a file as a Box Doc Gen template.
      operationId: post_docgen_templates_v2025.0
      parameters:
        - $ref: '#/components/parameters/BoxVersionHeader'
      requestBody:
        description: Marks the provided file as a Box Doc Gen template.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DocGenTemplateCreateRequest'
      responses:
        '201':
          description: The file which has now been marked as a Box Doc Gen template.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocGenTemplate--Base'
        '400':
          description: >-
            The server cannot or will not process the request due to an apparent
            client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '403':
          description: >-
            The client does not have access rights to the content or resource
            requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '429':
          description: The user has sent too many requests in a given amount of time.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected condition was encountered on the server.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
      x-codeSamples:
        - lang: curl
          label: Create Box Doc Gen template
          source: |-
            curl -L 'https://api.box.com/2.0/docgen_templates' \
                 -H 'box-version: 2025.0' \
                 -H 'Authorization: Bearer <ACCESS_TOKEN>' \
                 -H 'Content-Type: application/json' \
                 -D '{
                    "file": {
                        "id": "12345678",
                        "type": "file"
                    }
            }'
        - lang: dotnet
          label: Create Box Doc Gen template
          source: >-
            await
            client.DocgenTemplate.CreateDocgenTemplateV2025R0Async(requestBody:
            new DocGenTemplateCreateRequestV2025R0(file: new
            FileReferenceV2025R0(id: file.Id)));
        - lang: swift
          label: Create Box Doc Gen template
          source: >-
            try await
            client.docgenTemplate.createDocgenTemplateV2025R0(requestBody:
            DocGenTemplateCreateRequestV2025R0(file: FileReferenceV2025R0(id:
            file.id)))
        - lang: java
          label: Create Box Doc Gen template
          source: >-
            client.getDocgenTemplate().createDocgenTemplateV2025R0(new
            DocGenTemplateCreateRequestV2025R0(new
            FileReferenceV2025R0(file.getId())))
        - lang: node
          label: Create Box Doc Gen template
          source: |-
            await client.docgenTemplate.createDocgenTemplateV2025R0({
              file: new FileReferenceV2025R0({ id: file.id }),
            } satisfies DocGenTemplateCreateRequestV2025R0);
        - lang: python
          label: Create Box Doc Gen template
          source: >-
            client.docgen_template.create_docgen_template_v2025_r0(FileReferenceV2025R0(id=file.id))
components:
  parameters:
    BoxVersionHeader:
      name: box-version
      in: header
      description: Version header.
      allowEmptyValue: false
      required: true
      schema:
        type: string
        enum:
          - '2025.0'
      example: '2025.0'
  schemas:
    DocGenTemplateCreateRequest:
      description: The schema for marking document as Box Doc Gen template.
      type: object
      properties:
        file:
          allOf:
            - $ref: '#/components/schemas/FileReference'
            - description: >-
                Marks the file as a Box Doc Gen template to generate the
                document from.
      required:
        - file
      title: Mark file as Box Doc Gen template
    DocGenTemplate--Base:
      description: >-
        A base representation of a Box Doc Gen template, used when nested within
        another resource.
      type: object
      properties:
        file:
          allOf:
            - $ref: '#/components/schemas/FileReference'
            - description: Enable the file to generate a document from.
      title: Box Doc Gen template (Base)
      x-box-resource-id: docgen_template_v2025.0--base
      x-box-variant: base
      x-box-variants:
        - base
        - standard
    ClientError:
      description: A generic error.
      type: object
      properties:
        type:
          description: The value will always be `error`.
          type: string
          example: error
          enum:
            - error
          nullable: false
        status:
          description: The HTTP status of the response.
          type: integer
          format: int32
          example: 400
          nullable: false
        code:
          description: A Box-specific error code.
          type: string
          example: item_name_invalid
          enum:
            - created
            - accepted
            - no_content
            - redirect
            - not_modified
            - bad_request
            - unauthorized
            - forbidden
            - not_found
            - method_not_allowed
            - conflict
            - precondition_failed
            - too_many_requests
            - internal_server_error
            - unavailable
            - item_name_invalid
            - insufficient_scope
        message:
          description: A short message describing the error.
          type: string
          example: Method Not Allowed
          nullable: false
        context_info:
          description: >-
            A free-form object that contains additional context about the error.
            The possible fields are defined on a per-endpoint basis. `message`
            is only one example.
          type: object
          example:
            message: Something went wrong
          additionalProperties: {}
          nullable: true
        help_url:
          description: A URL that links to more information about why this error occurred.
          type: string
          example: >-
            https://developer.box.com/guides/api-calls/permissions-and-errors/common-errors/
          nullable: false
        request_id:
          description: >-
            A unique identifier for this response, which can be used when
            contacting Box support.
          type: string
          example: abcdef123456
          nullable: false
      title: Client error
      x-box-resource-id: client_error_v2025.0
    FileReference:
      description: File reference.
      type: object
      properties:
        type:
          description: The value will always be `file`.
          type: string
          example: file
          enum:
            - file
          nullable: false
        id:
          description: ID of the object.
          type: string
          example: '42037322'
          nullable: false
      required:
        - type
        - id
      title: File reference
  securitySchemes:
    OAuth2Security:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://account.box.com/api/oauth2/authorize
          tokenUrl: https://api.box.com/oauth2/token
          scopes:
            root_readonly: Read all files and folders stored in Box
            root_readwrite: Read and write all files and folders stored in Box
            manage_app_users: Provision and manage app users
            manage_managed_users: Provision and manage managed users
            manage_groups: Manage an enterprise's groups
            manage_webhook: Create webhooks programmatically through the API
            manage_enterprise_properties: Manage enterprise properties
            manage_data_retention: Manage data retention polices
            manage_legal_hold: Manage Legal Holds

````