JSON API - Hearing Create Payload Reference

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

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 if omitted.

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 serviceId.

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 isServed.

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 clientName is 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 the MM/dd/yy H:mm style used in the CSV import doc), but standardize on this one — it's unambiguous. Also send zone (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 only yyyy-MM-dd or MM/dd/yy — no time component, interpreted as UTC. A time component will be rejected. Standardize on yyyy-MM-dd (e.g. 2026-02-01). Do not use the date field's yyyy-MM-dd HH:mm:ss format 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

CSV/EDI field

Use instead

plaintiff / defendant

caseName ("Plaintiff vs. Defendant") + clientName + isPlaintiff

user.username

No per-user assignment via JSON. Use attorney (informational), attorneySelectedEmail (in-house assign), or contact/contactPhone (day-of).

isServed

dateServed — a served date, not a boolean flag

attorneyPhone

contactPhone (day-of contact) or telephonicPhone (dial-in for telephonic hearings)

customLocation / locationName / locationAddress / locationCity / locationZipCode

Not supported — location is resolved server-side from state + county + courtName


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.