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

# List Web Templates

> Returns a paginated list of all Web template **rows** for the authenticated organization (not filtered to one row per `key` – versions and multiple keys may appear). Newest first (`created_at` descending, then `id` descending). Use `limit` (default 25, max 100) and optional `after_id` for keyset pagination: for the next page, set `after_id` to the previous response `last_id` to fetch older rows. If the cursor id is missing or not in your org, the response is validation error `INVALID_AFTER_ID` on `after_id`. See [Inquiry templates](/web/templates).



## OpenAPI

````yaml /api-reference/openapi.json GET /web/template
openapi: 3.0.3
info:
  title: API 2.0
  version: 1.0.0
  contact: {}
servers:
  - url: https://platform.inklink.com/api/v1
security: []
tags: []
paths:
  /web/template:
    get:
      summary: List Web templates
      description: >-
        Returns a paginated list of all Web template **rows** for the
        authenticated organization (not filtered to one row per `key` – versions
        and multiple keys may appear). Newest first (`created_at` descending,
        then `id` descending). Use `limit` (default 25, max 100) and optional
        `after_id` for keyset pagination: for the next page, set `after_id` to
        the previous response `last_id` to fetch older rows. If the cursor id is
        missing or not in your org, the response is validation error
        `INVALID_AFTER_ID` on `after_id`. See [Inquiry
        templates](/web/templates).
      operationId: listWebTemplates
      parameters:
        - name: api-key
          in: header
          schema:
            type: string
            example: secret_live_xxx
          required: true
        - name: after_id
          in: query
          required: false
          description: >-
            Keyset cursor: a template row `id` in your organization. When set,
            the list returns rows strictly older than that row. For the next
            page, use the previous page `last_id`. If the id is missing or not
            in your org, the response is validation error `INVALID_AFTER_ID` on
            `after_id`.
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: Page size (1–100, default 25).
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
      responses:
        '200':
          description: Paginated template rows.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/webTemplateObject'
                  first_id:
                    type: string
                    nullable: true
                  last_id:
                    type: string
                    nullable: true
                  has_more:
                    type: boolean
              example:
                data:
                  - id: web_tpl_xxxxxxxxxxxxxxxx
                    key: web_tpl_key_xxxxxxxxxxxxxxxx
                    version: 1
                    is_latest: true
                    status: published
                    name: Example template
                    description: ''
                    query: What should we verify from the site?
                    fields: []
                    user_instruction: ''
                    acceptance_guide: ''
                    start_url: https://example.com
                    return_url: https://your-app.com/web/complete
                    capture_type: screenshot
                    settings:
                      show_cover_page: true
                      show_acceptance_guide: false
                    metadata: null
                    theme_id: null
                    org_id: org_xxx
                    created_by: user_xxx
                    published_at: '2026-01-15T10:00:00.000Z'
                    created_at: '2026-01-15T10:00:00.000Z'
                    updated_at: '2026-01-15T10:00:00.000Z'
                    deleted_at: null
                first_id: web_tpl_xxxxxxxxxxxxxxxx
                last_id: web_tpl_xxxxxxxxxxxxxxxx
                has_more: false
        '400':
          description: >-
            Validation error (`VALIDATION_ERROR`) – for example invalid `limit`
            or `after_id` (`INVALID_AFTER_ID`).
components:
  schemas:
    webTemplateObject:
      type: object
      description: >-
        Web inquiry template row. Responses omit `ai_instruction`,
        `login_methods`, and `allowed_modes` even if set in the request body.
      properties:
        id:
          type: string
          description: Row id (`web_tpl_...`).
        key:
          type: string
          description: Use as `template_key` on Create Web inquiry.
        version:
          type: integer
        is_latest:
          type: boolean
        status:
          type: string
          enum:
            - draft
            - published
        name:
          type: string
        description:
          type: string
        query:
          type: string
        fields:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              description:
                type: string
              required:
                type: boolean
            required:
              - name
              - required
        user_instruction:
          type: string
        acceptance_guide:
          type: string
        start_url:
          type: string
        return_url:
          type: string
        capture_type:
          type: string
          enum:
            - screenshot
            - document
        settings:
          type: object
          properties:
            show_acceptance_guide:
              type: boolean
            show_cover_page:
              type: boolean
          additionalProperties: true
        metadata:
          type: object
          nullable: true
          additionalProperties:
            type: string
        theme_id:
          type: string
          nullable: true
        org_id:
          type: string
        created_by:
          type: string
        published_at:
          type: string
          format: date-time
          nullable: true
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        deleted_at:
          type: string
          format: date-time
          nullable: true

````