Track records requests from receipt to release, with statutory due dates and release packages.
Records & FOIATransparencyv1.0.0OpenAPI 3.1
Supports the records-request lifecycle: intake, perfection, search, review, and release. Calculates statutory due dates by track, and exposes release packages through the Document Services API.
Reference design by Iron Brick LLC. Not an official government system; endpoints and data models are adapted to each agency's systems of record during implementation.
Base URLs
https://dev.ironbrick.us/sandbox/records-requests/v1 Iron Brick sandbox (synthetic data; free developer account)
https://{agency-gateway}/records-requests/v1 Agency deployment (behind the agency API gateway)
Send an OAuth 2.0 bearer token from POST https://dev.ironbrick.us/oauth/token in the Authorization header. Your application must hold the scope listed on each operation. How authentication works.
Scope
Grants
requests:read
Read records requests
requests:write
Create and update records requests
POST/requests
Log a new request · requires scope requests:write
Request body application/json
json
{
"subject": "Records related to contract 70RSAT26C0000012",
"track": "complex",
"requesterRef": "REQ-a91e"
}
Responses
201
Request created
400
Invalid request
401
Missing or invalid access token
403
Caller lacks the required scope
Example request
curl -X POST "https://dev.ironbrick.us/sandbox/records-requests/v1/requests" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"subject": "Records related to contract 70RSAT26C0000012", "track": "complex", "requesterRef": "REQ-a91e"}'
Response 201
{
"requestId": "FOIA-2026-03318",
"track": "complex",
"status": "searching",
"receivedDate": "2026-07-02",
"dueDate": "2026-07-31",
"subject": "Records related to contract 70RSAT26C0000012",
"pagesReleased": 0
}
GET/requests
List requests · requires scope requests:read
Parameters
Name
In
Type
Description
status
query
string
dueBefore
query
string
Requests due on or before this date.
cursor
query
string
Pagination cursor from a previous response.
limit
query
integer
Maximum items to return.
Responses
200
A page of requests
401
Missing or invalid access token
403
Caller lacks the required scope
Example request
curl -X GET "https://dev.ironbrick.us/sandbox/records-requests/v1/requests" \
-H "Authorization: Bearer $TOKEN"