https://www.getanchorgrid.com/developer/docs/endpoints/drawings-doors Cookies & analytics We collect minimal analytics to understand how the site is used. If you decline, we do not load analytics. DeclineAccept #ANCHORGRIDdev #ANCHORGRIDdev NAVIGATION HomeAnchorGrid Suite OVERVIEW IntroductionQuick StartAuthentication BLOG All postsAnchorGrid Back Story ENDPOINTS POST/documentsPOST/drawings/detection/doorsCorePOST/drawings/ detection/elevationPOST/drawings/schedulesPOST/specs/parse/document POST/specs/content-extractGET/v1/jobs/{job_id} ExampleRequestExamples202ResultCreditsErrors Door detection processing time (free tier) This applies only to door detection (POST /v1/drawings/detection/ doors). Free-tier door detection typically completes in 2-4 minutes per job. Processing time scales mainly with page count and drawing complexity -- a dense multi-page set takes longer than a single sheet. Need it faster? Pro and Enterprise plans run detection on dedicated GPU infrastructure.Upgrade your plan - Docs/Endpoints/POST /drawings/detection/doors POST/v1/drawings/detection/doors Detect doors in architectural floor-plan PDFs. Accepts a previously uploaded document_id, enqueues inference, and returns a job you poll for results. Detections are returned as bounding boxes in PDF coordinate space. Floor plansAsync * 2022 credits / page Example run > Run Input Floor plan inputFloor plan with detected doors Request | This endpoint requires a document_id. Upload your PDF first - Auth via X-API-Key header. Body is JSON -- this endpoint does not accept file uploads directly. document_idreq string (UUID) ID of the uploaded PDF. Must belong to this account and not be expired. page_numbers int[] 1-based page indices to scan. Omit to scan all pages. Out-of-range values are skipped by the worker but still billed. webhook_url string URL to POST the completed job payload to. Delivered on developer, pro, and enterprise tiers only. Credits are charged on submission based on len(page_numbers) (or the document's total page count when omitted) -- not on pages that actually contain doors. Send only valid page indices to avoid over-billing. Code examples curlpythonnode.js curl -X POST https://api.anchorgrid.ai/v1/drawings/detection/doors \ -H "X-API-Key: " \ -H "Content-Type: application/json" \ -d '{ "document_id": "550e8400-e29b-41d4-a716-446655440000", "page_numbers": [1, 2, 3] }' Response -- 202 Accepted The job is enqueued immediately. Poll GET /v1/jobs/{job_id} until status is complete or failed. job_id string (UUID) Use this to poll for results. status string Always queued on this response. poll_url string Path only -- prepend https://api.anchorgrid.ai to build the full URL. Result shape When status === "complete" and model === "door-detector", the result field on the job contains: document_id string UUID of the source document. doors array Filtered list of door detections. Each item has id, page, and bbox. doors[].id string Stable identifier -- "door_" + 12 hex chars. doors[].page integer 1-based PDF page index where the door was detected. doors[].bbox object Axis-aligned bounding box in PDF coordinate space: x1, y1, x2, y2. doors_found integer Count of items in doors after server-side geometry filtering. pages_analyzed integer Number of pages the worker actually scanned. model_version string e.g. door-detector-v1.0.0 processing_time_ms integer Wall time for the inference task. The doors list is post-filtered by a geometry and median-area pipeline before being returned. doors_found always reflects the filtered count -- raw unfiltered counts are not exposed. Credits & rate limits Cost 2 credits x pages billed Rate limit Tier RPM (5 / 60 / 120 / 300) free Lifetime credit cap -- 402 FREE_TIER_LIMIT_REACHED when exceeded. developer / pro Monthly pool -- 429 QUOTA_EXCEEDED when exceeded. enterprise No quota 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 401 Missing or invalid X-API-Key. 402 Free tier lifetime credit cap reached. 404 document_id not found or expired. 422 Validation error -- malformed UUID or invalid body. 429 Rate limit or monthly quota exceeded. Response Preview 202 Acceptedresult (complete) 202 OK { "job_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": "queued", "poll_url": "/v1/jobs/7c9e6679-7425-40de-944b-e07fc1f90ae7" } #ANCHORGRIDdev NAVIGATION HomeAnchorGrid Suite OVERVIEW IntroductionQuick StartAuthentication BLOG All postsAnchorGrid Back Story ENDPOINTS POST/documentsPOST/drawings/detection/doorsCorePOST/drawings/ detection/elevationPOST/drawings/schedulesPOST/specs/parse/document POST/specs/content-extractGET/v1/jobs/{job_id}