📋 Jobs

Jobs API

Jobs are the core work unit in Proxiant — each job represents a service of process assignment. This API lets you list, create, and update jobs programmatically from any system.

List Jobs

GET /jobs

Returns a paginated list of jobs for your firm. Results are sorted by created_at descending by default.

Query Parameters

ParameterTypeDescription
statusstringFilter by status: unassigned · assigned · in_progress · served · non_est · cancelled
client_iduuidFilter to jobs belonging to a specific client
server_iduuidFilter to jobs assigned to a specific process server
due_beforeISO 8601Jobs with due date before this timestamp
due_afterISO 8601Jobs with due date after this timestamp
job_typestringFilter by job type slug (e.g., subpoena, summons_complaint)
pageintegerPage number, default 1
per_pageintegerResults per page, default 50, max 100

Example Request

bash
curl "https://api.proxiant.co/v1/jobs?status=in_progress&per_page=10" \
  -H "Authorization: Bearer prx_live_xxxxxxxxxxxx"

Example Response

json
{
  "data": [
    {
      "id":                  "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
      "job_number":         "FH-2025-04812",
      "status":             "in_progress",
      "job_type":           "subpoena",
      "priority":          "rush",
      "recipient_name":    "James R. Thornton",
      "recipient_description": "Male, late 50s, gray hair",
      "service_address": {
        "street": "4421 Maple Ridge Blvd",
        "city":   "Austin",
        "state":  "TX",
        "zip":    "78745",
        "county": "Travis"
      },
      "client_id":         "a3c4e5f6-1a2b-3c4d-5e6f-7g8h9i0j1k2l",
      "client_name":       "Harmon & Keyes LLP",
      "server_id":         "b4d5e6f7-2b3c-4d5e-6f7g-8h9i0j1k2l3m",
      "server_name":       "Marcus Webb",
      "case_manager_id":   "c5d6e7f8-3c4d-5e6f-7g8h-9i0j1k2l3m4n",
      "case_manager_name": "Sarah Chen",
      "court_case_id":     "d6e7f8g9-4d5e-6f7g-8h9i-0j1k2l3m4n5o",
      "court_case_number": "2025-CV-00841",
      "court_name":        "Travis County District Court",
      "due_date":          "2025-04-28T23:59:59Z",
      "attempt_count":     2,
      "diligence_satisfied": false,
      "sister_job_ids":    ["e7f8g9h0-5e6f-7g8h-9i0j-1k2l3m4n5o6p"],
      "hive_posted":       false,
      "created_at":        "2025-04-10T09:14:22Z",
      "updated_at":        "2025-04-14T16:38:05Z"
    }
  ],
  "meta": {
    "page":     1,
    "per_page": 10,
    "total":    37
  }
}

Get Job

GET /jobs/:id

Returns the full job object, including all service addresses, special instructions, and the client reference number.

Path Parameters

ParameterTypeDescription
id requireduuidThe job's unique identifier

Additional Fields (single job only)

FieldTypeDescription
addressesarrayAll service addresses for this job, each with status (active · bad · served)
special_instructionsstringFree-text notes for the server
client_ref_numberstringClient's internal reference number for this job

Example Request

bash
curl https://api.proxiant.co/v1/jobs/9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d \
  -H "Authorization: Bearer prx_live_xxxxxxxxxxxx"
json — Response (additional fields shown)
{
  "data": {
    "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
    "job_number": "FH-2025-04812",
    // ... all list fields ...,
    "client_ref_number": "HK-2025-119",
    "special_instructions": "Subject works nights. Best time 7-9am. Ring doorbell twice.",
    "addresses": [
      {
        "id":     "f1a2b3c4-aaaa-bbbb-cccc-ddddeeee1111",
        "type":   "residence",
        "street": "4421 Maple Ridge Blvd",
        "city":   "Austin",
        "state":  "TX",
        "zip":    "78745",
        "county": "Travis",
        "status": "active"
      },
      {
        "id":     "g2b3c4d5-bbbb-cccc-dddd-eeee11112222",
        "type":   "workplace",
        "street": "900 Congress Ave, Suite 400",
        "city":   "Austin",
        "state":  "TX",
        "zip":    "78701",
        "county": "Travis",
        "status": "active"
      }
    ]
  }
}

Create Job

POST /jobs

Creates a new job. API clients send structured data directly — AI document extraction is bypassed. A job_number is auto-generated.

Request Body

FieldTypeRequiredDescription
job_type_iduuidrequiredID of the job type (see GET /job_types for your firm's types)
recipient_namestringrequiredFull name of the person to be served
service_addressobjectrequiredPrimary service address — street, city, state, zip required; county optional
client_iduuidoptionalAssign to an existing client record
prioritystringoptionalstandard (default) · rush · routine
due_dateISO 8601optionalTarget completion date
special_instructionsstringoptionalNotes for the process server
server_iduuidoptionalPre-assign to a specific server; status becomes assigned
court_case_iduuidoptionalLink to an existing court case record
client_ref_numberstringoptionalClient's internal file or reference number
recipient_descriptionstringoptionalPhysical description of the recipient

Example Request

bash
curl -X POST https://api.proxiant.co/v1/jobs \
  -H "Authorization: Bearer prx_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "job_type_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "recipient_name": "Patricia L. Vasquez",
    "service_address": {
      "street": "7812 Shoal Creek Blvd",
      "city": "Austin",
      "state": "TX",
      "zip": "78757",
      "county": "Travis"
    },
    "client_id": "a3c4e5f6-1a2b-3c4d-5e6f-7g8h9i0j1k2l",
    "priority": "rush",
    "due_date": "2025-04-25T23:59:59Z",
    "special_instructions": "Do not leave with children under 16.",
    "client_ref_number": "HK-2025-204"
  }'

Example Response — 201 Created

json
{
  "data": {
    "id":         "h3i4j5k6-4c5d-6e7f-8g9h-0i1j2k3l4m5n",
    "job_number": "FH-2025-04921",
    "status":     "unassigned",
    "created_at": "2025-04-16T14:30:00Z"
    // ... full job object ...
  }
}

Update Job

PATCH /jobs/:id

Updates one or more fields on a job. Send only the fields you want to change. Status transitions are validated.

Updatable Fields

FieldTypeNotes
statusstringMust be a valid transition — see transition rules below
server_iduuidReassign to a different server
case_manager_iduuidReassign case manager
due_dateISO 8601Update target completion date
special_instructionsstringReplace special instructions (not appended)
client_ref_numberstringUpdate client reference number
prioritystringstandard · rush · routine
⚠️
Status transition validation. You cannot move a job from served back to unassigned without a reason. Invalid transitions return 422 unprocessable with a human-readable error. The valid transition graph is enforced server-side.

Example Request

bash
curl -X PATCH https://api.proxiant.co/v1/jobs/9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d \
  -H "Authorization: Bearer prx_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "priority": "rush",
    "due_date": "2025-04-22T23:59:59Z",
    "special_instructions": "Subject now also known to visit 142 West 6th St."
  }'

Scope Required

Requires jobs:write scope. Attempting to update a job with a read-only key returns 403 forbidden.