---
title: List request inputs
slug: api-guide/list-request-inputs
docTags: 
createdAt: 2025-01-14T13:07:48.071Z
---

{
  "id": "94Wv48eGVZLu_Cea2vAC8",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.app.kognic.com/v1/request-inputs",
    "servers": [
      {
        "url": "https://api.app.kognic.com/v1/request-inputs"
      }
    ],
    "name": "List request inputs",
    "description": "<p>List a request's inputs together with their current workflow progress, optionally narrowed to a single\nscene via <code>sceneId</code>.</p>\n<p><strong>Validation:</strong> only requests on flexible workflows are supported. A legacy-workflow request returns 400,\nand a 404 is returned if the request does not exist.</p>\n<p><strong>Access:</strong> the caller must be a collaborator on the request (owner, producer or reviewer) with a workspace\nrole in the project, otherwise 403.</p>\n<p><strong>Per-input field availability:</strong></p>\n<ul>\n<li><code>workflowStage</code> and <code>currentTask</code> are populated only when the caller has access to the input's current\nphase/action. A producer sees every phase; a reviewer sees only the phases and actions granted to them, so\nan input currently sitting in a phase they cannot see returns both fields as <code>null</code>. <code>currentTask</code> is also\n<code>null</code> when no task is ongoing (for example the last task completed and the input is awaiting a decision).</li>\n<li><code>workflowStage.phaseDefinition</code> identifies the <em>kind</em> of phase the input is currently in (for example\n<code>annotate</code>, <code>correct</code>, <code>sampled-review</code>). Its <code>id</code> is the same for every request and project using that\nphase type, so it can be used to group inputs across requests. <code>workflowStage.requestPhaseId</code>, by\ncontrast, identifies one phase instance of one request. <code>phaseDefinition</code> is always present whenever\n<code>workflowStage</code> is.</li>\n<li><code>lastCompletedAnnotationId</code> is the judgement produced by the input's most recently completed assignment. It\nis <code>null</code> until at least one task has completed and is not access-gated.</li>\n<li><code>deliveryReady</code> is <code>true</code> once a non-invalidated delivery annotation exists for the input; it is always\npresent.</li>\n<li><code>createdAt</code>, <code>lastUpdatedAt</code> and <code>completedAt</code> are never access-gated. <code>createdAt</code> is when the input was\nadded to the request; <code>lastUpdatedAt</code> is its last workflow state change (entering a phase, a task being\ncreated, or completing a phase — not edits inside an ongoing task); <code>completedAt</code> mirrors\n<code>deliveryReady</code> and holds the production time of the input's current valid delivery annotation. Because a\nre-correction invalidates that annotation, <code>completedAt</code> can return to <code>null</code> and later be set again to a\nhigher value — do not treat it as a first-delivery stamp.</li>\n</ul>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        }
      ],
      "queryParameters": [
        {
          "kind": "required",
          "name": "requestId",
          "type": "string<uuid>",
          "description": "The request whose inputs to list",
          "format": "uuid"
        },
        {
          "kind": "optional",
          "name": "sceneId",
          "type": "string<uuid>",
          "description": "<p>Optional scene filter; when set, only the input for that scene is returned</p>",
          "format": "uuid"
        }
      ],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "Enveloped_Seq_RequestInput",
            "schema": [
              {
                "name": "data",
                "kind": "optional",
                "type": "array",
                "description": "",
                "modelRef": "#/components/schemas/RequestInput",
                "customType": "RequestInput[]",
                "schema": [
                  {
                    "name": "completedAt",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "<p>When the input's current valid delivery annotation was produced. Set whenever <code>deliveryReady</code> is\ntrue and absent otherwise: a re-correction invalidates the annotation and clears this field, and\nre-delivery sets it again to a later value. Not a first-delivery audit stamp — clients polling for\ncompletion must tolerate it reverting to <code>null</code>.</p>",
                    "format": "date-time"
                  },
                  {
                    "name": "createdAt",
                    "kind": "required",
                    "type": "string<date-time>",
                    "description": "When the input was added to the request. Not the scene's own creation time.",
                    "format": "date-time"
                  },
                  {
                    "name": "currentTask",
                    "kind": "optional",
                    "type": "object",
                    "description": "",
                    "modelRef": "#/components/schemas/CurrentTask",
                    "customType": "CurrentTask",
                    "schema": [
                      {
                        "name": "assignedUserId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "",
                        "format": "int64"
                      },
                      {
                        "name": "isOngoing",
                        "kind": "required",
                        "type": "boolean",
                        "description": ""
                      },
                      {
                        "name": "taskId",
                        "kind": "required",
                        "type": "string<uuid>",
                        "description": "",
                        "format": "uuid"
                      },
                      {
                        "name": "taskType",
                        "kind": "required",
                        "type": "string",
                        "description": "",
                        "modelRef": "#/components/schemas/TaskType",
                        "customType": "TaskType",
                        "schema": []
                      }
                    ]
                  },
                  {
                    "name": "deliveryReady",
                    "kind": "required",
                    "type": "boolean",
                    "description": ""
                  },
                  {
                    "name": "id",
                    "kind": "required",
                    "type": "string<uuid>",
                    "description": "",
                    "format": "uuid"
                  },
                  {
                    "name": "lastCompletedAnnotationId",
                    "kind": "optional",
                    "type": "string<uuid>",
                    "description": "",
                    "format": "uuid"
                  },
                  {
                    "name": "lastUpdatedAt",
                    "kind": "required",
                    "type": "string<date-time>",
                    "description": "<p>The input's last workflow state change: entering a phase, a task being created for it, or the\ninput completing a phase. Edits made inside an ongoing task do not bump it.</p>",
                    "format": "date-time"
                  },
                  {
                    "name": "requestId",
                    "kind": "required",
                    "type": "string<uuid>",
                    "description": "",
                    "format": "uuid"
                  },
                  {
                    "name": "sceneId",
                    "kind": "required",
                    "type": "string<uuid>",
                    "description": "",
                    "format": "uuid"
                  },
                  {
                    "name": "workflowStage",
                    "kind": "optional",
                    "type": "object",
                    "description": "",
                    "modelRef": "#/components/schemas/WorkflowStage",
                    "customType": "WorkflowStage",
                    "schema": [
                      {
                        "name": "name",
                        "kind": "required",
                        "type": "string",
                        "description": ""
                      },
                      {
                        "name": "phaseActionId",
                        "kind": "optional",
                        "type": "string<uuid>",
                        "description": "",
                        "format": "uuid"
                      },
                      {
                        "name": "phaseDefinition",
                        "kind": "required",
                        "type": "object",
                        "description": "The phase type of a workflow stage. The id is the same for every request and project using this kind of phase.",
                        "modelRef": "#/components/schemas/PhaseDefinition",
                        "customType": "PhaseDefinition",
                        "schema": [
                          {
                            "name": "id",
                            "kind": "required",
                            "type": "string<uuid>",
                            "description": "",
                            "format": "uuid"
                          },
                          {
                            "name": "name",
                            "kind": "required",
                            "type": "string",
                            "description": ""
                          }
                        ]
                      },
                      {
                        "name": "requestPhaseId",
                        "kind": "required",
                        "type": "string<uuid>",
                        "description": "",
                        "format": "uuid"
                      }
                    ]
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/Enveloped_Seq_RequestInput",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "Bad request",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "BadRequest",
            "schema": [
              {
                "name": "errorCode",
                "kind": "optional",
                "type": "string",
                "description": ""
              },
              {
                "name": "message",
                "kind": "required",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/BadRequest",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "Unauthorized",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "Unauthorized",
            "schema": [
              {
                "name": "message",
                "kind": "required",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/Unauthorized",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "403",
        "description": "Forbidden",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "Forbidden",
            "schema": [
              {
                "name": "message",
                "kind": "required",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/Forbidden",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "404",
        "description": "Not found",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "NotFound",
            "schema": [
              {
                "name": "message",
                "kind": "required",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/NotFound",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "413",
        "description": "Payload too large",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "PayloadTooLarge",
            "schema": [
              {
                "name": "message",
                "kind": "required",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/PayloadTooLarge",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "500",
        "description": "Internal server error",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "InternalServerError",
            "schema": [
              {
                "name": "message",
                "kind": "required",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/InternalServerError",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "GDpQzdPw5gd2zhQOkaCrE",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.app.kognic.com/v1/request-inputs?requestId=string<uuid>\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "GDpQzdPw5gd2zhQOkaCrE"
    },
    "results": {
      "languages": [
        {
          "id": "N-yLMgzeWhru7hQ0L3Qgi",
          "language": "200",
          "code": "{\n  \"data\": [\n    {\n      \"completedAt\": \"\",\n      \"createdAt\": \"\",\n      \"currentTask\": {\n        \"assignedUserId\": \"\",\n        \"isOngoing\": false,\n        \"taskId\": \"\",\n        \"taskType\": \"\"\n      },\n      \"deliveryReady\": false,\n      \"id\": \"\",\n      \"lastCompletedAnnotationId\": \"\",\n      \"lastUpdatedAt\": \"\",\n      \"requestId\": \"\",\n      \"sceneId\": \"\",\n      \"workflowStage\": {\n        \"name\": \"\",\n        \"phaseActionId\": \"\",\n        \"phaseDefinition\": {\n          \"id\": \"\",\n          \"name\": \"\"\n        },\n        \"requestPhaseId\": \"\"\n      }\n    }\n  ]\n}"
        },
        {
          "id": "--f54jad4bVwHdeW0YZgG",
          "language": "400",
          "code": "// Bad request\n{\n  \"errorCode\": \"\",\n  \"message\": \"\"\n}"
        },
        {
          "id": "EQhmNLLVaVkfReB6mp2tH",
          "language": "401",
          "code": "// Unauthorized\n{\n  \"message\": \"\"\n}"
        },
        {
          "id": "-HeE4uDvabxOHQceLAyKS",
          "language": "403",
          "code": "// Forbidden\n{\n  \"message\": \"\"\n}"
        },
        {
          "id": "lp3QcL4OAT8bYXvRQEDps",
          "language": "404",
          "code": "// Not found\n{\n  \"message\": \"\"\n}"
        },
        {
          "id": "YXKtGsuF345bWiwDHB7LF",
          "language": "413",
          "code": "// Payload too large\n{\n  \"message\": \"\"\n}"
        },
        {
          "id": "rEpFu5nGopUkxJ-rX7nDL",
          "language": "500",
          "code": "// Internal server error\n{\n  \"message\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "N-yLMgzeWhru7hQ0L3Qgi"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}