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

# List template layers (v3)

> Retrieve paginated After Effects layers discovered during template processing.



## OpenAPI

````yaml /openapi.json get /v3/templates/{id}/layers
openapi: 3.0.4
info:
  title: Nexrender API
  version: '2.0'
  description: >
    REST API for the Nexrender cloud rendering platform, enabling programmatic
    control over After Effects template processing, job management, and asset
    handling.


    Features include:


    - Template upload and management (AEP, MOGRT, ZIP files)

    - Job creation and status monitoring with real-time progress

    - Job nesting for multi-composition renders (parent/child jobs)

    - Job stitching to combine multiple videos into one

    - Batch job creation for submitting up to 1000 jobs at once

    - Font library management for typography consistency

    - Secret management for secure API key storage

    - Webhook notifications for job lifecycle events

    - Asset injection for dynamic content replacement


    Authentication is required for all endpoints using Bearer token
    authorization.
servers:
  - url: https://api.nexrender.com/api/v2
    description: Production API server
security:
  - apiToken: []
paths:
  /v3/templates/{id}/layers:
    servers:
      - url: https://api.nexrender.com/api
        description: Production API server
    get:
      tags:
        - Template Management
      summary: List template layers (v3)
      description: >-
        Retrieve paginated After Effects layers discovered during template
        processing.
      operationId: listTemplateLayersV3
      parameters:
        - in: path
          name: id
          required: true
          description: Unique template identifier in ULID format
          schema:
            type: string
            pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
        - in: query
          name: limit
          required: false
          description: >-
            Number of items to return. Defaults to 300. Values above 1000 are
            capped to 1000.
          schema:
            type: integer
            minimum: 1
            default: 300
        - in: query
          name: offset
          required: false
          description: Number of items to skip before returning results. Defaults to 0.
          schema:
            type: integer
            minimum: 0
            default: 0
      responses:
        '200':
          description: Successfully retrieved template layers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TemplateLayer'
        '400':
          description: Invalid template id or pagination parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing API token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: >-
            Template not found - the specified template ID does not exist or is
            not accessible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    TemplateLayer:
      type: object
      description: After Effects layer discovered during template processing
      properties:
        composition_id:
          type: integer
          description: >-
            After Effects id of the composition that owns this layer. Match it
            to a composition aeid.
        aeid:
          type: integer
          description: After Effects layer id
        name:
          type: string
          description: Layer name to use as layerName in render job assets and functions
        top:
          type: number
          description: Layer bounds top position at time 0
        left:
          type: number
          description: Layer bounds left position at time 0
        width:
          type: number
          description: Layer bounds width at time 0
        height:
          type: number
          description: Layer bounds height at time 0
        start_time:
          type: number
          description: Layer start time in seconds
        in_point:
          type: number
          description: Layer in point in seconds
        out_point:
          type: number
          description: Layer out point in seconds
        layer_type:
          type: string
          description: Detected After Effects layer type
        source_type:
          type: string
          nullable: true
          description: Detected source type for AV layers, when available
        source_comp_id:
          type: integer
          nullable: true
          description: >-
            After Effects id of the source composition for precomp layers, when
            available
        parent_id:
          type: integer
          nullable: true
          description: After Effects id of the parent layer, when available
        data:
          type: object
          description: Additional parser metadata for the layer
          additionalProperties: true
      required:
        - composition_id
        - aeid
        - name
        - top
        - left
        - width
        - height
        - start_time
        - in_point
        - out_point
        - layer_type
        - source_type
        - source_comp_id
        - parent_id
        - data
    ErrorResponse:
      type: object
      description: Standard error response format
      properties:
        error:
          type: string
          description: Human-readable error message explaining what went wrong
      required:
        - error
  securitySchemes:
    apiToken:
      type: http
      scheme: bearer
      description: >
        Bearer token authentication using API tokens for team-based access
        control.


        You can generate your own API token at:
        https://app.nexrender.com/settings/api-tokens

````