JSON API - Hearing Create Payload Reference
This page documents field-level details for creating a hearing via the JSON REST endpoint POST /hearings/v1/hearing.
This is not the same schema as the EDI - Hearing Create page. That page documents our CSV bulk-import mechanism. Field availability, date formats, and a few field types differ between the two — if you're calling the JSON API directly (as most integrations do), use this page instead.
This page covers what you send. For what you get back after creating a hearing, see JSON API - Hearing Response Reference.
Field list below is confirmed directly against HearingRequest.java, the DTO class backing this endpoint — not reverse-engineered from screenshots. 46 fields total (39 String, 7 Boolean). The "Required" column is carried over from the EDI doc's field list (including its * = conditionally required legend) where the field exists there — see that page for the full conditional-requirement details on date/time, county, and caseName.
Full field reference
Field | Required | Type | Notes |
|---|---|---|---|
attorney | No | String | Attorney of record. Informational only — see Identity & party fields below. |
attorneySelectedEmail | No | String | In-house attorney auto-assignment by email — see Identity & party fields below. |
state | Yes | String | 2-letter postal abbreviation, or written out in full. |
county | Yes* | String | Must match the county list on the site; omit the word "county" from the value. Can be deduced from |
courtName | Yes | String | Court description (e.g. "Circuit Court", "District Court"). Best-guess matched to the actual court location. |
caseName | Yes* | String | Full case caption, e.g. "Plaintiff vs. Defendant" — see Identity & party fields below. |
caseNumber | Yes | String | Case number recognized by the court. |
fileNumber | Yes | String | Your internal file number from your case management system. |
clientName | Yes | String | The party you represent — see Identity & party fields below. |
clientId | No | String | Docketly's internal client account identifier — see Identity & party fields below. |
serviceId | No | String | 32-character Docketly ID for the hearing type/service. Best-guessed if omitted. |
department | No | String | A specific sub-division within the court. Only supported in some states (includes CA, MO, NY, WA). |
echo | No | String | Your internal hearing-type name, mapped to a |
date | Yes* | String | See Date fields below. |
zone | No | String | See Date fields below. |
isPlaintiff | No | Boolean | See Identity & party fields below. |
instructions | No | String | Private instructions shown only to the covering attorney after acceptance. |
comments | No | String | Public comments shown to attorneys before they accept. |
contact | No | String | See Identity & party fields below. |
contactPhone | No | String | See Identity & party fields below. |
dateAnswered | No | String | See Date fields below. |
dateComplaintFiled | No | String | See Date fields below. |
dateDefaulted | No | String | See Date fields below. |
dateServed | No | String | See Date fields below. Also the field to use in place of the unsupported |
forwarder | No | String | Name of the forwarding service, third-party administrator, or referring law firm. |
isCriminalBackgroundRequired | No | Boolean | Requires a 7-year nationwide criminal background check on the covering attorney. Extra fees may apply. |
isInsuranceRequired | No | Boolean | Requires the covering attorney to carry legal malpractice insurance (or be covered under Docketly's policy). |
isSeekArrestWarrant | No | Boolean | Covering attorney should seek an arrest warrant. Defaults to false. |
isSeekBodyAttachment | No | Boolean | Covering attorney should seek a body attachment. Defaults to false. |
isSeekRuleToShowCause | No | Boolean | Covering attorney should seek a Rule to Show Cause. Defaults to false. |
isTelephonic | No | Boolean | Hearing can be done telephonically/remotely. |
telephonicPhone | No | String | Phone number for telephonic hearings. |
telephonicMethod | No | String | Remote method, e.g. Zoom, CourtCall. |
coverageInstructions | No | String | Telephonic/remote details, e.g. meeting ID. |
principal | No | String | See Decimal fields below. |
interest | No | String | See Decimal fields below. |
balance | No | String | See Decimal fields below. |
attorneyCosts | No | String | See Decimal fields below. |
courtCosts | No | String | See Decimal fields below. |
miscCosts | No | String | See Decimal fields below. |
sifPercentage | No | String | Per-hearing settlement authority as a whole-number percent (0–100). See Settlement authority (SIF) fields below. |
sifMonths | No | String | Per-hearing settlement authority as a whole number of months (0 or greater). See Settlement authority (SIF) fields below. |
judge | No | String | Judge's name; "Last, First" preferred. |
opposingCounsel | No | String | String, not Boolean, on this endpoint — see Notes & gotchas below. |
token | No | String | See Notes & gotchas below. |
url | No | String | Join link for remote/telephonic hearings — see Notes & gotchas below. |
Notes & gotchas
Identity & party fields
attorney — attorney of record. Informational only; does not affect who covers the hearing.
attorneySelectedEmail — only used if you're auto-assigning an already-provisioned in-house attorney by email.
contact / contactPhone — the day-of person to call if there's an issue. Defaults to whoever's calling the API if left blank.
caseName — the full case caption, e.g. "Plaintiff vs. Defendant". There is no separate plaintiff/defendant name field in the JSON payload — this is by design, not a missing field.
clientName — the display name of the party you represent (e.g. "Portfolio Recovery Associates, LLC").
clientId — Docketly's internal identifier for the client account the hearing should be associated with. A long alphanumeric string we assign, similar in format to
serviceId. Most integrations won't need to set this explicitly.isPlaintiff (Boolean) — flags which side
clientNameis on.
Date fields
date — use
yyyy-MM-dd HH:mm:ss: 4-digit year, 24-hour clock, zero-padded month/day/hour. Example:2026-02-01 09:00:00. The parser accepts a few other formats (including theMM/dd/yy H:mmstyle used in the CSV import doc), but standardize on this one — it's unambiguous. Also sendzone(e.g.America/Chicago) if you can; if omitted, we infer the timezone from the county/court, which isn't always what you'd expect.dateAnswered / dateComplaintFiled / dateDefaulted / dateServed — a stricter, date-only parser applies here, different from
date. These accept onlyyyyy-MM-ddorMM/dd/yy— no time component, interpreted as UTC. A time component will be rejected. Standardize onyyyy-MM-dd(e.g.2026-02-01). Do not use thedatefield'syyyy-MM-dd HH:mm:ssformat here.
Decimal fields
Applies to balance, interest, principal, attorneyCosts, courtCosts, miscCosts — all typed String on the DTO. Send as a JSON string in plain decimal notation, e.g. "balance": "1234.56". Do not include currency symbols or thousands separators (no $1,234.56).
Settlement authority (SIF) fields
Applies to sifPercentage and sifMonths. These set per-hearing settlement authority that's shown to the covering attorney: sifPercentage is the "SIF Amount" (the settle-in-full amount as a whole-number percentage, 0–100 inclusive) and sifMonths is the "SIF Timeframe" (a whole number of months, 0 or greater). Both are optional. Like the decimal fields they are typed String on the DTO, but send whole numbers with no decimal point, e.g. "sifPercentage": "65", "sifMonths": "12". A value with a decimal point, a non-numeric value, a percentage outside 0–100, or a negative month count is rejected with an HTTP 400 error and the hearing is not created.
If your account already adds a default settlement authority automatically (through your "Automatically Add" Hearing Instruction rules — including rules scoped to a specific creditor), a value you send here overrides that default for this hearing. Omit a field to fall back to your standing default. The two fields are independent — you can override one and let the other fall back. The same fields and behavior apply on the update (PUT) call and on the create_hearing API tool.
opposingCounsel
Typed String on this endpoint — the opposing counsel's name/info. This differs from the EDI/CSV doc, which types opposingCounsel as a Boolean. Use a plain string here, not true/false.
token
A pass-through external ID, up to 32 characters. Set it when you create the hearing and it's returned on every subsequent GET — a good place to store your own system's record ID so you can match records on your end. This is not an authentication token. url (adjacent to it in the payload) is unrelated — it's the join link for remote/telephonic hearings.
Document / attachment uploads
Attachments (including garnishment paperwork or other case documents) are not part of the hearing creation payload — upload them after the hearing exists, via POST /hearings/v1/hearing/{id}/attachment. See JSON API - Hearing Attachment Reference for the full upload/download/delete contract, constraints, and error responses. There is no structured schema for garnishment documents specifically; upload the PDF the same way as any other attachment.
Fields not supported via the JSON API
These fields exist in the CSV/EDI import mechanism but are not on the HearingRequest.java DTO. The JSON binder silently ignores any field not declared on the DTO — sending these will not raise an error, it will just have no effect. Use the alternative listed instead:
CSV/EDI field | Use instead |
|---|---|
plaintiff / defendant |
|
user.username | No per-user assignment via JSON. Use |
isServed |
|
attorneyPhone |
|
customLocation / locationName / locationAddress / locationCity / locationZipCode | Not supported — location is resolved server-side from |
Field details on this page were confirmed directly against the HearingRequest.java DTO (the JAXB-bound class behind POST /hearings/v1/hearing) with engineering, not reverse-engineered from the public API Explorer. Last reviewed July 2026.