Extract schedules

Schedule extraction · model schedule-extractor

POST/v1/drawings/schedules

Extract structured schedule tables from an architectural drawing PDF. Accepts a previously uploaded document_id, enqueues extraction, and returns a job you poll for results. Each schedule is returned with headers, rows, and schedule-level confidence.

Returns
A job to check202 Accepted
Usage
Document indexingper page scanned
Results in
A list of schedulesresult.schedules
Auth
API keyX-API-Key header

Example

Drawing schedule input
A sample drawing set before and after schedule extraction: 4 schedules extracted.

How it runs

  1. Send a document_id
  2. Get a job_id
  3. Check your results or receive a webhook

Request

This endpoint requires a document_id. Upload your PDF first.

Body is JSON — this endpoint does not accept file uploads directly.

FieldDescription
document_idstring · UUIDRequiredID of the uploaded PDF. Must belong to this account and not be expired.
page_numbersarray of integersOptional1-based page indices to scan. Omit for a full-document scan.
webhook_urlstring · URLOptionalURL to POST the completed job payload to. Delivered on developer, pro, and enterprise tiers only.
Usage and pages_analyzedA schedule job counts as one document-indexing page (See pricing). When page_numbers is omitted, pages_analyzed in the completed result is null; when provided, it reflects len(page_numbers) (not a substituted total page count).

Responses

The job is enqueued immediately. Poll GET /v1/jobs/{job_id} until status is complete or failed.

FieldDescription
job_idstring · UUIDUse this to poll for results.
statusstringAlways queued on this response.
poll_urlstringPath only — prepend https://api.anchorgrid.ai to build the full URL.

Usage & rate limits

Each job counts as one document-indexing page (See pricing). Rate limit: tier RPM (5 / 60 / 120 / 300).

PlanWhen the allowance is used up
trialTrial allowance — 402 FREE_TIER_LIMIT_REACHED when used up, 402 TRIAL_ENDED once the trial is over.
developerMonthly allowance, then overage up to your overage limit — 402 OVERAGE_LIMIT_REACHED at the limit (429 QUOTA_EXCEEDED when the allowance is used up without overage billing).
enterpriseNo allowance check.

Rate-limit 429s include retry_after_seconds in the body. Quota 429s and rate-limit 429s return the same status code — check the error body to distinguish them.

Errors

StatusWhat it means
401Missing or invalid X-API-Key.
402Trial allowance used up.
404document_id not found or expired (DOCUMENT_NOT_FOUND in API code).
422Validation error — malformed UUID or invalid body.
429Rate limit or monthly quota exceeded.

Searches these docs: guides, the basics and every endpoint.

Make your first requestPlayground walkthrough: upload, choose an analysis, run it
Connect your softwareYour application calls the REST API. Requires an API key
Connect your AI agentGive an agent a tool that calls the REST API
AuthenticationX-API-Key header, 401 errors, keeping keys safe
Detect doorsPOST /v1/drawings/detection/doorsDoor detection — Find the doors on the pages of an architectural drawing set.
Check your resultsGET /v1/jobs/{job_id}Get a job — See a job’s status and, once it’s complete, its results.