---
title: List request inputs (paginated)
slug: api-guide/list-request-inputs-paginated
docTags: 
createdAt: 2026-09-23T13:13:26.096Z
---

{
  "id": "8eJMQkdch7OtJMi3zSTna",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.app.kognic.com/v2/request-inputs",
    "servers": [
      {
        "url": "https://api.app.kognic.com/v2/request-inputs"
      }
    ],
    "name": "List request inputs (paginated)",
    "description": "<p>List a request's inputs together with their current status and workflow progress, optionally narrowed to a\nsingle scene 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>Paging:</strong> results are cursor-paginated and returned in a stable order. Pass <code>metadata.nextCursorId</code> from\na page as the next request's <code>cursorId</code>; the last page has no <code>nextCursorId</code>. A <code>limit</code> above\n5000, and a <code>cursorId</code> that is not an input of this request, both return 400.</p>\n<p><strong>Per-input field availability:</strong></p>\n<ul>\n<li><code>status</code> is <code>not_started</code> until work begins on the input, <code>completed</code> while it has a valid (non-invalidated)\ndelivery annotation, and <code>in_progress</code> otherwise. A re-correction invalidates the delivery annotation, so an\ninput can go back from <code>completed</code> to <code>in_progress</code>.</li>\n<li><code>progressDetails</code> is populated only when the caller has access to the input's current phase/action. A\nproducer sees every phase; a reviewer sees only the phases and actions granted to them, so an input\ncurrently sitting in a phase they cannot see returns <code>progressDetails</code> as <code>null</code>.</li>\n<li><code>progressDetails.currentTask</code> is <code>null</code> when no task is ongoing (for example the last task completed and\nthe input is awaiting a decision).</li>\n<li><code>progressDetails.currentWorkflowStage</code> splits into <code>phase</code>, <code>action</code> and a combined <code>name</code> (for example\n\"Review 1: Correct\"). <code>phase.id</code> identifies one phase of this request, while\n<code>phase.phaseDefinition.id</code> identifies the <em>kind</em> of phase (for example <code>annotate</code>, <code>correct</code>,\n<code>sampled-review</code>) and is the same for every request and project using that phase type, so it can be used\nto group inputs across requests. <code>action</code> is absent when the input is between actions — for example\nwaiting for a decision after the phase's last task completed.</li>\n<li><code>progressDetails.availableForIntegrationReview</code> is <code>true</code> only for an input sitting in an integration\nreview phase and awaiting a verdict, that is, one an integration review can be posted for right now. It\nturns <code>false</code> once the verdict is in, while a rejected input is being corrected, and for every input\noutside such a phase.</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>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> holds the production\ntime of the input's current valid delivery annotation and is <code>null</code> whenever <code>status</code> is not <code>completed</code>.</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"
        },
        {
          "kind": "optional",
          "name": "limit",
          "type": "integer<int32>",
          "description": "<p>Max inputs per page (default 1000, max 5000)</p>",
          "format": "int32"
        },
        {
          "kind": "optional",
          "name": "cursorId",
          "type": "string<uuid>",
          "description": "Cursor from the previous page's metadata.nextCursorId",
          "format": "uuid"
        }
      ],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "<p>A page of request inputs. <code>metadata.nextCursorId</code> is absent on the last page.</p>",
            "customType": "RequestInputPage",
            "schema": [
              {
                "name": "data",
                "kind": "optional",
                "type": "array",
                "description": "",
                "modelRef": "#/components/schemas/RequestInputV2",
                "customType": "RequestInputV2[]",
                "schema": [
                  {
                    "name": "completedAt",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "<p>When the input's current valid delivery annotation was produced. Set whenever <code>status</code> is\n<code>completed</code> and absent otherwise: a re-correction invalidates the annotation and clears this\nfield, and re-delivery sets it again to a later value. Not a first-delivery audit stamp —\nclients polling for completion 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": "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": "progressDetails",
                    "kind": "optional",
                    "type": "object",
                    "description": "The input's current workflow progress. Only returned when the caller has access to the input's current phase.",
                    "modelRef": "#/components/schemas/InputProgressDetails",
                    "customType": "InputProgressDetails",
                    "schema": [
                      {
                        "name": "availableForIntegrationReview",
                        "kind": "required",
                        "type": "boolean",
                        "description": "<p>Whether an integration review verdict can be posted for the input right now: it sits in an\nintegration review phase and is awaiting a verdict. False for every input outside such a\nphase.</p>"
                      },
                      {
                        "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": "currentWorkflowStage",
                        "kind": "required",
                        "type": "object",
                        "description": "<p>The workflow stage an input is currently in. <code>name</code> combines the phase and action names, ex: \"Review 1: Correct\".</p>",
                        "modelRef": "#/components/schemas/WorkflowStageV2",
                        "customType": "WorkflowStageV2",
                        "schema": [
                          {
                            "name": "action",
                            "kind": "optional",
                            "type": "object",
                            "description": "The action within the phase that the input is currently at.",
                            "modelRef": "#/components/schemas/PhaseAction",
                            "customType": "PhaseAction",
                            "schema": [
                              {
                                "name": "id",
                                "kind": "required",
                                "type": "string<uuid>",
                                "description": "",
                                "format": "uuid"
                              },
                              {
                                "name": "name",
                                "kind": "required",
                                "type": "string",
                                "description": ""
                              }
                            ]
                          },
                          {
                            "name": "name",
                            "kind": "required",
                            "type": "string",
                            "description": ""
                          },
                          {
                            "name": "phase",
                            "kind": "required",
                            "type": "object",
                            "description": "<p>One phase of one request's workflow. Unlike <code>phaseDefinition.id</code>, <code>id</code> is unique to this request.</p>",
                            "modelRef": "#/components/schemas/Phase",
                            "customType": "Phase",
                            "schema": [
                              {
                                "name": "id",
                                "kind": "required",
                                "type": "string<uuid>",
                                "description": "",
                                "format": "uuid"
                              },
                              {
                                "name": "name",
                                "kind": "required",
                                "type": "string",
                                "description": ""
                              },
                              {
                                "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": "requestId",
                    "kind": "required",
                    "type": "string<uuid>",
                    "description": "",
                    "format": "uuid"
                  },
                  {
                    "name": "sceneId",
                    "kind": "required",
                    "type": "string<uuid>",
                    "description": "",
                    "format": "uuid"
                  },
                  {
                    "name": "status",
                    "kind": "required",
                    "type": "string",
                    "description": "<p>not_started until work begins, completed while a valid delivery annotation exists, in_progress otherwise.</p>",
                    "modelRef": "#/components/schemas/RequestInputStatus",
                    "customType": "RequestInputStatus",
                    "schema": []
                  }
                ]
              },
              {
                "name": "metadata",
                "kind": "required",
                "type": "object",
                "description": "",
                "modelRef": "#/components/schemas/CursorMetadata",
                "customType": "CursorMetadata",
                "schema": [
                  {
                    "name": "nextCursorId",
                    "kind": "optional",
                    "type": "string<uuid>",
                    "description": "",
                    "format": "uuid"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/RequestInputPage",
            "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": "L-eCzxi4gg3QB4bDlY0bO",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.app.kognic.com/v2/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": "L-eCzxi4gg3QB4bDlY0bO"
    },
    "results": {
      "languages": [
        {
          "id": "0nNTgXHuDe6UODeaRV1b-",
          "language": "200",
          "code": "{\n  \"data\": [\n    {\n      \"completedAt\": \"\",\n      \"createdAt\": \"\",\n      \"id\": \"\",\n      \"lastCompletedAnnotationId\": \"\",\n      \"lastUpdatedAt\": \"\",\n      \"progressDetails\": {\n        \"availableForIntegrationReview\": false,\n        \"currentTask\": {\n          \"assignedUserId\": \"\",\n          \"isOngoing\": false,\n          \"taskId\": \"\",\n          \"taskType\": \"\"\n        },\n        \"currentWorkflowStage\": {\n          \"action\": {\n            \"id\": \"\",\n            \"name\": \"\"\n          },\n          \"name\": \"\",\n          \"phase\": {\n            \"id\": \"\",\n            \"name\": \"\",\n            \"phaseDefinition\": {\n              \"id\": \"\",\n              \"name\": \"\"\n            }\n          }\n        }\n      },\n      \"requestId\": \"\",\n      \"sceneId\": \"\",\n      \"status\": \"\"\n    }\n  ],\n  \"metadata\": {\n    \"nextCursorId\": \"\"\n  }\n}"
        },
        {
          "id": "DX-ZWj-c1JAk-daWbdslR",
          "language": "400",
          "code": "// Bad request\n{\n  \"errorCode\": \"\",\n  \"message\": \"\"\n}"
        },
        {
          "id": "BOQaohJAiI76zxnm2Q2Ya",
          "language": "401",
          "code": "// Unauthorized\n{\n  \"message\": \"\"\n}"
        },
        {
          "id": "Ci-Y72fzLcDyrsZOw5PmG",
          "language": "403",
          "code": "// Forbidden\n{\n  \"message\": \"\"\n}"
        },
        {
          "id": "aJo2gEOyvs8kenW2o75kl",
          "language": "404",
          "code": "// Not found\n{\n  \"message\": \"\"\n}"
        },
        {
          "id": "si81JMg_WFPEz3YXbcr_4",
          "language": "413",
          "code": "// Payload too large\n{\n  \"message\": \"\"\n}"
        },
        {
          "id": "5ZyWMHEVJyShgel5aAxkA",
          "language": "500",
          "code": "// Internal server error\n{\n  \"message\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "0nNTgXHuDe6UODeaRV1b-"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}