Skip to content
StudyFetch API

Materials

Get processing job status for a material

Returns the current status of a PDF processing job including progress information

OpenAPI specification
GET/api/v1/materials/{id}/job-status

Authentication

x-api-key

Request

curl --globoff --request GET \
  --url 'https://api.example.com/api/v1/materials/%3Cid%3E/job-status' \
  --header 'x-api-key: <API_KEY>'

Replace credential and <field> placeholders with your own values. URL placeholders appear as %3Cfield%3E. Review the example values before sending your request.

Replace https://api.example.com with the API server URL.

Parameters

idpath · string · required

Material ID

Responses

200Job status retrieved successfully
{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "description": "Unique job identifier"
    },
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "running",
        "completed",
        "failed",
        "cancelled"
      ],
      "description": "Current job status"
    },
    "startedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Job start time"
    },
    "completedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Job completion time"
    },
    "progress": {
      "type": "object",
      "properties": {
        "totalImages": {
          "type": "number",
          "description": "Total images to process"
        },
        "processedImages": {
          "type": "number",
          "description": "Images processed so far"
        },
        "currentBatch": {
          "type": "number",
          "description": "Current batch being processed"
        },
        "totalBatches": {
          "type": "number",
          "description": "Total number of batches"
        },
        "percentage": {
          "type": "number",
          "description": "Completion percentage (0-100)"
        }
      }
    },
    "error": {
      "type": "string",
      "description": "Error message if job failed"
    },
    "resultSummary": {
      "type": "object",
      "properties": {
        "textExtracted": {
          "type": "boolean",
          "description": "Whether text was extracted"
        },
        "textLength": {
          "type": "number",
          "description": "Length of extracted text"
        },
        "imagesProcessed": {
          "type": "number",
          "description": "Number of images processed"
        },
        "processingTimeMs": {
          "type": "number",
          "description": "Total processing time in milliseconds"
        }
      }
    }
  }
}
404Material not found