ProcessOrder.SaveDraft
Draft saves are lenient on missing required Create fields, but still validate values that were supplied: any added address must include a valid addressType, and a non-zero jobTypeCode must appear in ProcessOrder.GetJobTypes.
Endpoint
- Method:
POST - Route:
ProcessOrder/SaveDraft - Authentication:
Authorize
Request Schema
Headers
| Header | Required | Notes |
|---|---|---|
X-Api-Key |
Required when tenant is not resolved by subdomain | Resolves the tenant/customer database. |
Authorization: Bearer {token} |
Required for authorized endpoints | Get a token from Auth/Token or Session/Create. |
JSON Body
Body type: ProcessOrderRequest
| Field | Type | Required | Max Length | Notes |
|---|---|---|---|---|
webOrder |
string? |
No | 20 | |
theirFileNumber |
string |
Yes | 35 | |
plaintiff |
string |
Yes | 600 | |
defendant |
string |
Yes | 600 | |
courtCode |
string |
Conditional | 12 | Court code, not the court display name. Required unless court override is used. Use Court.Search, Court.GetAll, or Court.Get to retrieve valid court codes. |
hearingDate |
DateTime? |
No | ||
caseNumber |
string |
Yes | 100 | |
claimNumber |
string |
Conditional | 50 | Required when the bill-to customer is an insurance customer. |
jobTypeCode |
int |
Yes | Job type code from ProcessOrder.GetJobTypes. | |
servee |
string |
Yes | 400 | Legacy single-servee field kept for backward compatibility. Ignored when |
servees |
List<ProcessOrderServeeRequest> |
Yes | Preferred V2 request shape for multiple servees. When provided, this takes precedence over legacy |
|
specialInstructions |
string |
Yes | 500 | |
documentsDescription |
string |
Yes | 2000 | |
addresses |
List<ProcessOrderAddressRequest> |
No | Legacy top-level addresses for the single servee flow. Ignored when |
|
export |
bool |
No | ||
documents |
List<ProcessOrderDocumentRequest> |
Conditional | Required when the selected job type requires uploads. |
Type / Enum Values
| Field | Allowed Values | Notes |
|---|---|---|
courtCode |
code from Court.Search, Court.GetAll, or Court.Get |
Send the court code, not the court name/description. |
jobTypeCode |
Integer from ProcessOrder.GetJobTypes | Optional on draft; when provided (> 0) must be a valid process job type. |
servees[].addresses[].addressType / addresses[].addressType |
1 Business, 2 Home, 3 Other, 4 Government, 5 Not a physical address |
Optional on draft only when no addresses are sent; required and validated for every address that is added. |
Request Sample
{
"webOrder": "W123456",
"theirFileNumber": "REF-12345",
"plaintiff": "Acme Corporation",
"defendant": "John Doe",
"courtCode": "LASC",
"hearingDate": "2026-05-07T09:00:00",
"caseNumber": "24STCV12345",
"claimNumber": "CLM-12345",
"jobTypeCode": 101,
"servee": "",
"servees": [
{
"partyBeingServed": "John Doe",
"partyIsAnEntity": false,
"serviceInstructions": "Personal service only.",
"advanceFees": false,
"amount": null,
"agent": "Registered Agent",
"fileProofOfService": true,
"addresses": [
{
"addressType": 2,
"businessName": "Acme Corporation",
"street": "123 Main St",
"suite": "Suite 100",
"city": "Los Angeles",
"state": "CA",
"zip": "90012",
"phone": "2135550100",
"instructions": "Leave with receptionist if available."
}
]
}
],
"specialInstructions": "Rush service requested.",
"documentsDescription": "Summons, complaint, civil case cover sheet",
"addresses": [],
"export": false,
"documents": [
{
"name": "complaint.pdf",
"id": "doc-123",
"base64": "JVBERi0xLjQ="
}
]
}
Expected Response Schema
Status Codes
| Status | Notes |
|---|---|
200 OK |
Returned by the controller for this operation. |
Success Body
Response type: string
The response body is the saved draft web order id.
Response Sample
"W123456"