acc_create_rfi
Create a Request For Information in ACC Build's RFIs module via the APS Construction RFIs v1 API, in 'draft' status. Returns the ACC rfi_id. When to use: a trade or subcontractor needs formal information from the design team (unclear detail, conflicting spec, missing dimension) and you want a tracked paper trail. When NOT to use: the item is just a punchlist fix — use acc_create_issue. The question is internal to one trade — handle inside that trade's toolchain. APS scopes: data:read data:write account:read 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/invalid — refresh; 403 scope or resource permission denied (app not provisioned for the project's ACC account, or RFIs module not enabled); 404 project_id not found — check the ID; 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: NON-IDEMPOTENT. Creates a new draft RFI each call. Inserts a row into D1 usage_log.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| subject | Yes | Short RFI subject line, 1-255 chars. Appears as the RFI headline in ACC. | |
| priority | No | RFI priority. Defaults to 'medium'. | |
| question | Yes | Full question body sent to the design team. Plain text with newlines allowed. | |
| project_id | Yes | ACC project ID in 'b.<uuid>' or '<uuid>' form (the 'b.' prefix is stripped automatically). Obtainable via acc_list_projects. | |
| assigned_to | No | ACC user ID (UUID) or email of the responder. Pass null or omit to leave unassigned. | |
| linked_clash_id | No | Optional clash ID from detect_clashes output used to link this RFI back to the triggering clash. Stored for ScanBIM cross-referencing; not forwarded to ACC. | |
| linked_model_id | No | Optional APS URN of the model the RFI references. Stored for ScanBIM cross-referencing; not forwarded to ACC. |