> ## 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.

# Create Web Inquiry

> Creates a Web inquiry. With `template_key`, only `subject_id` is required; the inquiry inherits configuration from the template, including `return_url`, unless you override fields in the request. Without `template_key`, you must supply the full inquiry configuration (including `return_url`). Redirect the end user to `https://platform.inklink.com/capture/<id>` using the `id` from this response as the trailing path segment. When the hosted flow finishes, the user is returned to the configured return URL with the outcome in the query string (`status` and `inquiry_id`). Use `GET /web/inquiry` to list inquiries for your organization (paginated, with nested `result` per row). For full inquiry detail for one id from your server (configuration, nested `result`, sessions, and evidence), use `GET /web/inquiry/{id}`. See [Web Inquiry Quickstart](/web/quickstart) for the full flow.



## OpenAPI

````yaml /api-reference/openapi.json POST /web/inquiry
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/inquiry:
    post:
      summary: Create Web inquiry
      description: >-
        Creates a Web inquiry. With `template_key`, only `subject_id` is
        required; the inquiry inherits configuration from the template,
        including `return_url`, unless you override fields in the request.
        Without `template_key`, you must supply the full inquiry configuration
        (including `return_url`). Redirect the end user to
        `https://platform.inklink.com/capture/<id>` using the `id` from this
        response as the trailing path segment. When the hosted flow finishes,
        the user is returned to the configured return URL with the outcome in
        the query string (`status` and `inquiry_id`). Use `GET /web/inquiry` to
        list inquiries for your organization (paginated, with nested `result`
        per row). For full inquiry detail for one id from your server
        (configuration, nested `result`, sessions, and evidence), use `GET
        /web/inquiry/{id}`. See [Web Inquiry Quickstart](/web/quickstart) for
        the full flow.
      operationId: createWebInquiry
      parameters:
        - name: api-key
          in: header
          schema:
            type: string
            example: secret_live_xxx
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                subject_id:
                  type: string
                  description: Your stable identifier for the subject.
                  example: user_123
                return_url:
                  type: string
                  format: uri
                  description: >-
                    URL where the user is redirected after the hosted capture
                    flow completes. When `template_key` is provided, omit this
                    to use the template's `return_url`, or pass it to override.
                    Required when `template_key` is not provided.
                template_key:
                  type: string
                  description: >-
                    Key of a published template. When provided, only
                    `subject_id` is required; the inquiry inherits configuration
                    from the template (including `return_url`). Any field may be
                    provided as an override.
                name:
                  type: string
                  description: Inquiry name. Required when `template_key` is not provided.
                description:
                  type: string
                  description: Inquiry description.
                query:
                  type: string
                  description: >-
                    What you want to know from this inquiry. Required when
                    `template_key` is not provided.
                fields:
                  type: array
                  description: >-
                    Fields to extract from the captured evidence. Required when
                    `template_key` is not provided.
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                        description: Field name in snake_case.
                        example: user_full_name
                      description:
                        type: string
                        description: What this field represents.
                        example: The full name of the user
                start_url:
                  type: string
                  format: uri
                  description: URL the user is sent to when the capture session starts.
                acceptance_guide:
                  type: string
                  description: Instructions for earning a high acceptance score.
                show_acceptance_guide:
                  type: boolean
                  description: Whether to show the acceptance guide to the user.
                  default: false
                ai_instruction:
                  type: string
                  description: Additional instructions for AI processing.
                capture_type:
                  type: string
                  enum:
                    - screenshot
                    - document
                  description: >-
                    How evidence is captured. `screenshot` uses a viewport
                    capture; `document` uses files obtained from the site (for
                    example PDF and other supported formats), not limited to
                    PDF.
                  default: screenshot
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                  description: Arbitrary key-value metadata attached to the inquiry.
              required:
                - subject_id
      responses:
        '201':
          description: Inquiry created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Web inquiry id (`web_iq_...`).
                    example: web_iq_xxxxxxxxxxxxxxxx
                  subject_id:
                    type: string
                    description: >-
                      Your stable identifier for the subject (echoed from the
                      create request).
                    example: user_123
                  template_id:
                    type: string
                    nullable: true
                    description: >-
                      Resolved template id when the inquiry was created from a
                      template.
                    example: web_tpl_xxxxxxxxxxxxxxxx
                  template_key:
                    type: string
                    nullable: true
                    description: Template key when the inquiry was created from a template.
                    example: web_tpl_key_xxxxxxxxxxxxxxxx
                  template_version:
                    type: integer
                    description: Template version used when resolving configuration.
                    example: 1
                  status:
                    type: string
                    enum:
                      - active
                      - expired
                      - cancelled
                      - completed
                  name:
                    type: string
                    description: Display name of the inquiry.
                  description:
                    type: string
                    description: Inquiry description.
                  query:
                    type: string
                    description: >-
                      What the inquiry is trying to establish from captured
                      evidence.
                  fields:
                    type: array
                    description: Configured extraction fields.
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Field name in snake_case.
                        description:
                          type: string
                          description: What this field represents.
                  acceptance_guide:
                    type: string
                    description: Markdown acceptance guide shown or used for scoring.
                  start_url:
                    type: string
                    format: uri
                    description: URL the user is sent to when the capture session starts.
                  return_url:
                    type: string
                    format: uri
                    description: >-
                      URL where the user is redirected after the hosted capture
                      flow completes.
                  capture_type:
                    type: string
                    enum:
                      - screenshot
                      - document
                    description: >-
                      How evidence is captured. `screenshot` uses a viewport
                      capture; `document` uses files obtained from the site (for
                      example PDF and other supported formats), not limited to
                      PDF.
                  max_retries:
                    type: integer
                    description: >-
                      Maximum capture or processing retries allowed for this
                      inquiry.
                  metadata:
                    type: object
                    nullable: true
                    additionalProperties:
                      type: string
                    description: Arbitrary metadata attached to the inquiry.
                  expires_at:
                    type: string
                    format: date-time
                  created_at:
                    type: string
                    format: date-time
                  updated_at:
                    type: string
                    format: date-time
                  deleted_at:
                    type: string
                    format: date-time
                    nullable: true
                    description: Present when the inquiry has been soft-deleted.
              example:
                id: web_iq_xxxxxxxxxxxxxxxx
                template_id: web_tpl_xxxxxxxxxxxxxxxx
                template_key: web_tpl_key_xxxxxxxxxxxxxxxx
                template_version: 1
                status: active
                name: Example awareness campaign inquiry
                description: ''
                query: >-
                  Example question the inquiry should resolve from captured
                  browsing.
                fields: []
                acceptance_guide: >
                  ## High Acceptance


                  * Visit an official or primary source page that matches the
                  inquiry topic; capture the section that states the program
                  goals.


                  ---


                  ## Medium Acceptance


                  * Use a well-known reference article that summarizes the
                  topic; capture the lead paragraph.


                  ---


                  ## Low Acceptance


                  * Capture a public social post that mentions the topic in
                  passing.
                start_url: https://example.com/topics/example-topic
                return_url: https://your-app.com/web/inquiry-complete
                capture_type: screenshot
                max_retries: 3
                metadata: null
                expires_at: '2026-01-20T12:00:00.000Z'
                created_at: '2026-01-15T10:00:00.000Z'
                updated_at: '2026-01-15T10:00:00.000Z'
                deleted_at: null
                subject_id: user_123

````