Required fields for POST /work_orders

Documentation lists title as required. Is that the only required field, or are there others I'm missing?

Testing with just title works. Testing with empty body returns 422. Want to confirm before we ship.

  • From what I've seen, title is the only hard requirement. YMMV depending on your account config though — if you have required custom fields enabled at the account level, those'll trigger 422s even if the base schema is satisfied.

    Here's a minimal payload that's worked for me across a few accounts:

    {
      "title": "HVAC diagnostic",
      "customer_id": "cus_abc123"
    }

    Worth noting: customer_id isn't strictly required by the API, but if you omit it you end up with an orphaned work order that's hard to find in the UI. Heads up on that.

  • Devon's right — title is the only required field in the base schema. The 422 you're seeing on empty body is validation catching that.

    However, there are conditional requirements worth knowing about:

    • If your account has required custom fields configured (set in Settings → Custom Fields → Work Orders), those are enforced at the API layer too
    • If you include scheduled_date, scheduled_time becomes required to prevent ambiguous scheduling
    • If you include assignee_id, the user must have Technician role permissions

    Minimal valid POST:

    POST /v1/work_orders
    Content-Type: application/json
    Authorization: Bearer {token}
    
    {
      "title": "Service call"
    }

    See Using the FieldPulse API for the full schema reference.

  • Confirmed — empty custom fields, single field works. Thanks.