Agency settings
Agency settings configure how the warrant workflow behaves for everyone in the agency.
curl -s "$BASE/settings" -H "x-api-key: $API_KEY"
{
"agencyName": "Travis County Health District",
"courtName": "Travis County District Court",
"timezone": "America/Chicago",
"judgeNotifyMethod": "BLAST",
"notifyOnUrgent": true,
"escalationTimeoutMinutesUrgent": 15,
"enabledTemplates": ["emergency-detention", "search-warrant"]
}
Settings keys are camelCase, unlike the rest of the API. They are an open bag: the documented keys below are what the product acts on, and anything else your agency adds is stored and returned unchanged.
Update
curl -s -X PUT "$BASE/settings" \
-H "x-api-key: $API_KEY" \
-H "X-On-Behalf-Of: admin.reyes@example.gov" \
-H "Content-Type: application/json" \
-d '{"escalationTimeoutMinutesUrgent": 10}'
Only the keys you send are changed. Everything else is left alone, so a partial update is safe.
Identity
| Key | Used for |
|---|---|
agencyName | The name on documents and public pages |
courtName | The court that signs, as printed on the warrant |
address, city, county, state, zipCode | The agency's address block |
contactPhone | Public contact number |
logoUrl | Logo on documents and public links |
timezone | IANA timezone used to localize signing times |
isConfigured | Whether onboarding is complete |
timezone matters more than it looks. A warrant records when it was signed, and
the time a court cares about is local time. Store timestamps as the UTC values
the API returns and localize with this.
Routing
judgeNotifyMethod decides who is notified when an application is submitted
without an explicit judge:
| Value | Behavior |
|---|---|
BLAST | Notify the whole bench |
ROUND_ROBIN | Notify the next judge in rotation |
MANUAL | Notify only a judge chosen at submission |
Whatever the mode, assignment stays a routing hint: any judge in the agency can sign. The mode decides who gets told first, not who is allowed to act.
notifyOnStandard and notifyOnUrgent control whether notifications go out at
all for each priority. Turning off notifyOnStandard suits an agency that
works a queue on a schedule rather than being paged.
Escalation
An assigned application that nobody acts on escalates to the whole bench:
| Key | Applies to |
|---|---|
escalationTimeoutMinutesUrgent | URGENT applications |
escalationTimeoutMinutes | STANDARD applications |
Set either to 0 to disable escalation for that priority. Escalation is
recorded in the audit trail as its own action, which is what
lets an agency tell "nobody was notified" apart from "everybody was notified
and nobody acted".
Pick the urgent interval from how long a person is actually willing to wait in the middle of the night, not from what looks tidy.
Enabled templates
enabledTemplates lists the templates an applicant may choose
from. It is how a template is retired from use without deleting it: remove it
from this list, and existing applications keep rendering while no new ones can
be created from it.
Public agency details
A subset of these settings is readable without a key so that public links render correctly:
curl -s "$BASE/settings/public/travis-county-health"
That endpoint returns the name, court name, address, timezone, contact phone, and logo. Nothing operational is exposed: routing, escalation, and enabled templates are private to the agency.