revit_get_elements
When to use: After a Revit model has finished translating, fetch the first ~100 elements belonging to a Revit category (e.g. Walls, Doors, Windows, Structural Columns) with their objectid, name, externalId, and property bag. When NOT to use: Do not call before translation completes (manifest.status must be success), and do not use for free-text searches across the whole model — filter by category here or use revit_run_schedule for tabular views. APS scopes: data:read viewables:read (Model Derivative metadata + properties). Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired — refresh. 403 scope insufficient — add viewables:read. 404 URN not found — confirm model_id and that translation has run. 429 rate limited — back off. 5xx APS upstream — retry with jitter. Side effects: Read-only. Idempotent.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Revit category name to filter on (case-insensitive substring match). Use canonical Revit category names like Walls, Doors, Windows, Structural Columns, Ducts, Pipes, Mechanical Equipment. | |
| model_id | Yes | Base64url-encoded URN of the translated Revit model (returned from revit_upload as model_id/urn). Always begins with 'dXJu' (base64 of 'urn:'). |