Detect elevations

Elevation detection · model elevation-detector

POST/v1/drawings/detection/elevation

Detect interior elevation regions in an architectural drawing PDF (document_id from POST /v1/documents), then poll GET /v1/jobs/{job_id}. Job model is elevation-detector.

Same async pattern as other drawing intelligence POSTs: X-API-Key auth; JSON body with document_id, optional page_numbers (1-based), optional webhook_url; immediate 202 with job_id, status: "queued", and poll_url. Webhooks run only on developer, pro, and enterprise (not free). This path is included in the tier-based RPM limiter with other job-submit POSTs.

New to interior elevations? The elevation detection guide explains what the API finds and what you can build with the bounding boxes.

Returns
A job to check202 Accepted
Usage
Document indexingper page read
Results in
A list of elevationsresult.elevations
Auth
API keyX-API-Key header

Example

Elevation drawing input
A sample drawing before and after elevation detection: 34 elevations detected.

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.

The document must belong to your account and have expires_at > now(). Body shape matches other drawing job endpoints (e.g. door detection).

FieldDescription
document_idstring · UUIDRequiredFrom POST /v1/documents. Must be valid and not expired.
page_numbersarray of integersOptional1-based pages to scan. Omit for full document. Out-of-range indices are skipped by the worker; usage still follows len(page_numbers) or page_count (or 1) — same counting rules as door detection.
webhook_urlstring · URLOptionalCallback URL for the completed job payload. Honored on developer, pro, and enterprise only.
UsagePages are counted from len(page_numbers) when provided, else the document page_count (or 1). Keep indices valid — the worker skips out-of-range pages but they still count toward your usage.

Responses

Poll GET /v1/jobs/{job_id} with the same API key until status is complete or failed.

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

Usage & rate limits

Document indexing, per page scanned (See pricing). Pages are counted the same way as door detection. Rate limit: tier RPM (job-submit bucket).

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. Quota vs RPM both use status 429 — inspect the error body.

Errors

StatusWhat it means
401Missing or invalid X-API-Key.
402Trial allowance used up (same as doors).
404Missing or expired document. Code may use DOCUMENT_NOT_FOUND; the Intelligence JSON body may still be genericized.
422Bad JSON / invalid UUID / validation.
429Rate limit or monthly quota.

See also Errors for how HTTP exceptions map to client-visible envelopes.

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.