API Category

Parse

Parse documentation covers parsing workflows that convert raw documents into reusable markdown and parse metadata, supporting parse-once/extract-many architecture.

Business Use Case

Use parse endpoints to preprocess documents once and reuse parsed output across extraction, QA review, and analytics pipelines.

When To Use

  • You need markdown from source documents before extraction.
  • You want parse status, ensure-parse, and parse text retrieval APIs.
  • You need batch parse operations for many documents.

Endpoint Directory

Endpoint Details

GET

Get Job Status

Get Job Status This endpoint is documented for production integration usage.

parse

Endpoint URL

https://api.neudociq.com/api/v1/jobs/{job_id}

Overview

Get Job Status This endpoint is documented for production integration usage.

Purpose

Get Job Status

Use Case

This endpoint is read-only and should be safe to call repeatedly for the same resource identifier.

Authentication

  • APIKeyHeader: API key in header (X-API-Key).

Header Example

http
X-API-Key: ndq_test_api_key

Headers

No parameters.

Query Parameters

No parameters.

Path Parameters

NameTypeRequiredDescriptionExample
job_idstringRequired--

Request Fields

No request body fields are defined for this endpoint.

Request Default

Copy-ready examples with real endpoint paths and authentication placeholders.

javascript
const url = "https://api.neudociq.com/api/v1/jobs/{job_id}";
const response = await fetch(url, {
  method: 'GET',
  headers: {
    'X-API-Key': 'ndq_test_api_key',
  },
});

const data = await response.json();
console.log(data);

Best Practices

  • Validate required fields client-side before sending requests.
  • Log request identifiers and HTTP status codes for supportability.
  • Retry only when the operation is safe or your workflow is idempotent.
  • Persist the parse job or document identifier so later retrieval endpoints can reuse the same parse output.
POST

Parse Document Using VLM

Parse a document with VLM and return normalized markdown output for extraction, review, and downstream processing workflows.

parse

Endpoint URL

https://api.neudociq.com/api/v1/parse

Overview

Parse a document with VLM and return normalized markdown output for extraction, review, and downstream processing workflows.

Purpose

Parse Document Using VLM

Use Case

Use this endpoint as part of your document processing workflow where the operation path is required.

Authentication

  • APIKeyHeader: API key in header (X-API-Key).

Header Example

http
X-API-Key: ndq_test_api_key

Headers

No parameters.

Query Parameters

No parameters.

Path Parameters

No parameters.

Request Fields

No request body fields are defined for this endpoint.

Request Default

Copy-ready examples with real endpoint paths and authentication placeholders.

javascript
const url = "https://api.neudociq.com/api/v1/parse";
const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-API-Key': 'ndq_test_api_key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "document_id": "string_value",
  "document_url": "string_value",
  "client_id": "string_value",
  "document_type": "string_value",
  "options": {
    "extract_layout": false,
    "extract_bboxes": false,
    "generate_citations": false,
    "use_ocr_fallback": true,
    "maintain_format": true,
    "select_pages": 1,
    "force_reparse": false,
    "parser_model": "gpt-4o",
    "max_pages": 1,
    "schema": {},
    "additional_instructions": "string_value"
  }
}),
});

const data = await response.json();
console.log(data);

Best Practices

  • Validate required fields client-side before sending requests.
  • Log request identifiers and HTTP status codes for supportability.
  • Retry only when the operation is safe or your workflow is idempotent.
  • Persist the parse job or document identifier so later retrieval endpoints can reuse the same parse output.
POST

Start Batch Document Parsing

Start asynchronous parsing for multiple documents and receive a batch identifier to track progress and completion.

parse

Endpoint URL

https://api.neudociq.com/api/v1/parse/batch

Overview

Start asynchronous parsing for multiple documents and receive a batch identifier to track progress and completion.

Purpose

Start Batch Document Parsing

Use Case

Batch endpoints are asynchronous; create the job first, then use status and list endpoints to monitor completion.

Authentication

  • APIKeyHeader: API key in header (X-API-Key).

Header Example

http
X-API-Key: ndq_test_api_key

Headers

No parameters.

Query Parameters

No parameters.

Path Parameters

No parameters.

Request Fields

FieldTypeRequiredDescriptionExample
documentsobject[]RequiredList of documents to parse (max 100)[{"document_id":"string_value","document_url":"string_value"}]
documentsobject[]RequiredList of documents to parse (max 100)[{"document_id":"string_value","document_url":"string_value"}]

Request Default

Copy-ready examples with real endpoint paths and authentication placeholders.

javascript
const url = "https://api.neudociq.com/api/v1/parse/batch";
const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-API-Key': 'ndq_test_api_key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "documents": [
    {
      "document_id": "string_value",
      "document_url": "string_value"
    }
  ],
  "client_id": "string_value",
  "force_reparse": false,
  "extract_layout": false,
  "extract_bboxes": false,
  "generate_citations": false,
  "maintain_format": true,
  "concurrency": 5,
  "continue_on_error": true,
  "webhook_url": "string_value",
  "priority": "low"
}),
});

const data = await response.json();
console.log(data);

Best Practices

  • Validate required fields client-side before sending requests.
  • Log request identifiers and HTTP status codes for supportability.
  • Retry only when the operation is safe or your workflow is idempotent.
  • Persist the parse job or document identifier so later retrieval endpoints can reuse the same parse output.
  • Poll status endpoints with backoff and stop polling once the batch reaches a terminal state.
GET

Get batch parse results

Get full results including parsed documents for a completed batch.

parse

Endpoint URL

https://api.neudociq.com/api/v1/parse/batch/{batch_id}/results

Overview

Get full results including parsed documents for a completed batch.

Purpose

Get batch parse results

Use Case

This endpoint is read-only and should be safe to call repeatedly for the same resource identifier.

Authentication

  • APIKeyHeader: API key in header (X-API-Key).

Header Example

http
X-API-Key: ndq_test_api_key

Headers

No parameters.

Query Parameters

No parameters.

Path Parameters

NameTypeRequiredDescriptionExample
batch_idstringRequired--

Request Fields

No request body fields are defined for this endpoint.

Request Default

Copy-ready examples with real endpoint paths and authentication placeholders.

javascript
const url = "https://api.neudociq.com/api/v1/parse/batch/{batch_id}/results";
const response = await fetch(url, {
  method: 'GET',
  headers: {
    'X-API-Key': 'ndq_test_api_key',
  },
});

const data = await response.json();
console.log(data);

Best Practices

  • Validate required fields client-side before sending requests.
  • Log request identifiers and HTTP status codes for supportability.
  • Retry only when the operation is safe or your workflow is idempotent.
  • Persist the parse job or document identifier so later retrieval endpoints can reuse the same parse output.
  • Poll status endpoints with backoff and stop polling once the batch reaches a terminal state.
GET

Get batch parse status

Get the status of a batch parsing operation.

parse

Endpoint URL

https://api.neudociq.com/api/v1/parse/batch/{batch_id}/status

Overview

Get the status of a batch parsing operation.

Purpose

Get batch parse status

Use Case

This endpoint is read-only and should be safe to call repeatedly for the same resource identifier.

Authentication

  • APIKeyHeader: API key in header (X-API-Key).

Header Example

http
X-API-Key: ndq_test_api_key

Headers

No parameters.

Query Parameters

No parameters.

Path Parameters

NameTypeRequiredDescriptionExample
batch_idstringRequired--

Request Fields

No request body fields are defined for this endpoint.

Request Default

Copy-ready examples with real endpoint paths and authentication placeholders.

javascript
const url = "https://api.neudociq.com/api/v1/parse/batch/{batch_id}/status";
const response = await fetch(url, {
  method: 'GET',
  headers: {
    'X-API-Key': 'ndq_test_api_key',
  },
});

const data = await response.json();
console.log(data);

Best Practices

  • Validate required fields client-side before sending requests.
  • Log request identifiers and HTTP status codes for supportability.
  • Retry only when the operation is safe or your workflow is idempotent.
  • Persist the parse job or document identifier so later retrieval endpoints can reuse the same parse output.
  • Poll status endpoints with backoff and stop polling once the batch reaches a terminal state.
POST

Ensure document is parsed

Ensure a document has been parsed. If already parsed, returns cached result. If not parsed, parses the document using VLM. This is useful for integration with other services that need to guarantee parsed_text exists before processing.

parse

Endpoint URL

https://api.neudociq.com/api/v1/parse/ensure/{document_id}

Overview

Ensure a document has been parsed. If already parsed, returns cached result. If not parsed, parses the document using VLM. This is useful for integration with other services that need to guarantee parsed_text exists before processing.

Purpose

Ensure document is parsed

Use Case

Use this endpoint as part of your document processing workflow where the operation path is required.

Authentication

  • APIKeyHeader: API key in header (X-API-Key).

Header Example

http
X-API-Key: ndq_test_api_key

Headers

No parameters.

Query Parameters

NameTypeRequiredDescriptionExample
force_reparsebooleanOptionalForce re-parsing-

Path Parameters

NameTypeRequiredDescriptionExample
document_idstringRequired--

Request Fields

No request body fields are defined for this endpoint.

Request Default

Copy-ready examples with real endpoint paths and authentication placeholders.

javascript
const url = "https://api.neudociq.com/api/v1/parse/ensure/{document_id}";
const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-API-Key': 'ndq_test_api_key',
  },
});

const data = await response.json();
console.log(data);

Best Practices

  • Validate required fields client-side before sending requests.
  • Log request identifiers and HTTP status codes for supportability.
  • Retry only when the operation is safe or your workflow is idempotent.
  • Persist the parse job or document identifier so later retrieval endpoints can reuse the same parse output.
POST

Parse Document Using VLM

Parse an already-ingested document with VLM and return normalized parse output for extraction and review workflows.

parse

Endpoint URL

https://api.neudociq.com/api/v1/parse/json

Overview

Parse an already-ingested document with VLM and return normalized parse output for extraction and review workflows.

Purpose

Parse Document Using VLM

Use Case

Use this endpoint as part of your document processing workflow where the operation path is required.

Authentication

  • APIKeyHeader: API key in header (X-API-Key).

Header Example

http
X-API-Key: ndq_test_api_key

Headers

No parameters.

Query Parameters

No parameters.

Path Parameters

No parameters.

Request Fields

No request body fields are defined for this endpoint.

Request Default

Copy-ready examples with real endpoint paths and authentication placeholders.

javascript
const url = "https://api.neudociq.com/api/v1/parse/json";
const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-API-Key': 'ndq_test_api_key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "document_id": "string_value",
  "document_url": "string_value",
  "client_id": "string_value",
  "document_type": "string_value",
  "options": {
    "extract_layout": false,
    "extract_bboxes": false,
    "generate_citations": false,
    "use_ocr_fallback": true,
    "maintain_format": true,
    "select_pages": 1,
    "force_reparse": false,
    "parser_model": "gpt-4o",
    "max_pages": 1,
    "schema": {},
    "additional_instructions": "string_value"
  }
}),
});

const data = await response.json();
console.log(data);

Best Practices

  • Validate required fields client-side before sending requests.
  • Log request identifiers and HTTP status codes for supportability.
  • Retry only when the operation is safe or your workflow is idempotent.
  • Persist the parse job or document identifier so later retrieval endpoints can reuse the same parse output.
GET

Get document parse status

Check if a document has been parsed and get basic info.

parse

Endpoint URL

https://api.neudociq.com/api/v1/parse/status/{document_id}

Overview

Check if a document has been parsed and get basic info.

Purpose

Get document parse status

Use Case

This endpoint is read-only and should be safe to call repeatedly for the same resource identifier.

Authentication

  • APIKeyHeader: API key in header (X-API-Key).

Header Example

http
X-API-Key: ndq_test_api_key

Headers

No parameters.

Query Parameters

No parameters.

Path Parameters

NameTypeRequiredDescriptionExample
document_idstringRequired--

Request Fields

No request body fields are defined for this endpoint.

Request Default

Copy-ready examples with real endpoint paths and authentication placeholders.

javascript
const url = "https://api.neudociq.com/api/v1/parse/status/{document_id}";
const response = await fetch(url, {
  method: 'GET',
  headers: {
    'X-API-Key': 'ndq_test_api_key',
  },
});

const data = await response.json();
console.log(data);

Best Practices

  • Validate required fields client-side before sending requests.
  • Log request identifiers and HTTP status codes for supportability.
  • Retry only when the operation is safe or your workflow is idempotent.
  • Persist the parse job or document identifier so later retrieval endpoints can reuse the same parse output.
GET

Get parsed text

Get the parsed markdown text for a document.

parse

Endpoint URL

https://api.neudociq.com/api/v1/parse/text/{document_id}

Overview

Get the parsed markdown text for a document.

Purpose

Get parsed text

Use Case

This endpoint is read-only and should be safe to call repeatedly for the same resource identifier.

Authentication

  • APIKeyHeader: API key in header (X-API-Key).

Header Example

http
X-API-Key: ndq_test_api_key

Headers

No parameters.

Query Parameters

NameTypeRequiredDescriptionExample
include_metadatabooleanOptionalInclude parse metadata-

Path Parameters

NameTypeRequiredDescriptionExample
document_idstringRequired--

Request Fields

No request body fields are defined for this endpoint.

Request Default

Copy-ready examples with real endpoint paths and authentication placeholders.

javascript
const url = "https://api.neudociq.com/api/v1/parse/text/{document_id}";
const response = await fetch(url, {
  method: 'GET',
  headers: {
    'X-API-Key': 'ndq_test_api_key',
  },
});

const data = await response.json();
console.log(data);

Best Practices

  • Validate required fields client-side before sending requests.
  • Log request identifiers and HTTP status codes for supportability.
  • Retry only when the operation is safe or your workflow is idempotent.
  • Persist the parse job or document identifier so later retrieval endpoints can reuse the same parse output.
POST

Parse Document With File Upload

Upload a file and parse it in one step to generate structured parse output without a separate ingestion call.

parse

Endpoint URL

https://api.neudociq.com/api/v1/parse/upload

Overview

Upload a file and parse it in one step to generate structured parse output without a separate ingestion call.

Purpose

Parse Document With File Upload

Use Case

Use multipart uploads from browsers or server-side form-data clients when sending files.

Authentication

  • APIKeyHeader: API key in header (X-API-Key).

Header Example

http
X-API-Key: ndq_test_api_key

Headers

No parameters.

Query Parameters

No parameters.

Path Parameters

No parameters.

Request Fields

FieldTypeRequiredDescriptionExample
filestringRequiredDocument file to parsefile_value

Request Default

Copy-ready examples with real endpoint paths and authentication placeholders.

javascript
const url = "https://api.neudociq.com/api/v1/parse/upload";
const formData = new FormData();
formData.append('file', "file_value");
formData.append('document_id', "string_value");
formData.append('document_type', "string_value");
formData.append('client_id', "string_value");
formData.append('force_reparse', "false");
formData.append('select_pages', "string_value");
formData.append('max_pages', "1");
formData.append('maintain_format', "true");
formData.append('extract_layout', "false");
formData.append('extract_bboxes', "false");
formData.append('generate_citations', "false");
formData.append('use_ocr_fallback', "true");
formData.append('additional_instructions', "string_value");

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-API-Key': 'ndq_test_api_key',
  },
  body: formData,
});

const data = await response.json();
console.log(data);

Best Practices

  • Validate required fields client-side before sending requests.
  • Log request identifiers and HTTP status codes for supportability.
  • Retry only when the operation is safe or your workflow is idempotent.
  • Persist the parse job or document identifier so later retrieval endpoints can reuse the same parse output.
  • Check file size and content type before upload to avoid unnecessary transfer failures.