Jupiter ERP
Account API

Create a service order appointment (schedule slice for Gantt)

/api/account/service-order-appointments

POSTHTTP
post/api/account/service-order-appointments

Example request

POST https://api.jupiter-erp.com/api/account/service-order-appointments

Code
curl -X POST 'https://api.jupiter-erp.com/api/account/service-order-appointments' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'X-Account-Uuid: YOUR_ACCOUNT_UUID' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "service_order_id": 0,
  "starts_at": "string",
  "ends_at": "string",
  "assignee_account_user_id": 0,
  "status": "planned"
}'

Request body

Required

FieldTypeDescription
assignee_account_user_idinteger
ends_at*stringMust be after starts_at
service_order_id*integerService order this appointment belongs to
starts_at*stringParseable datetime (e.g. Y-m-d H:i or ISO local)
statusstringDefaults to planned when omitted

string

  • planned
  • confirmed
  • completed
  • cancelled
Example request
{
  "service_order_id": 0,
  "starts_at": "string",
  "ends_at": "string",
  "assignee_account_user_id": 0,
  "status": "planned"
}

Responses

201Created

Scheduled dispatch / visit window for a service order (Gantt bar source)

FieldTypeDescription
assigneeobject
FieldTypeDescription
abilitiesstring[]Ability strings for this account user. Included when listing or getting users (admin editing). Omitted in embedded contexts (e.g. documents, projects, service orders) to avoid leaking permission data.

array

Elements

string

created_atstring (date-time)Creation timestamp in ISO 8601 format.
display_emailstring
display_namestring
display_phonestring
id*integer
invited_emailstringEmail address the user was invited with. Set for pending account users; null after acceptance or when not applicable.
role*string

string

  • user
  • admin
status*string

string

  • active
  • blocked
  • pending
updated_atstring (date-time)Last update timestamp in ISO 8601 format.
userobject
FieldTypeDescription
email*string
id*integer
image_urlstring
name*string
assignee_account_user_idinteger
created_atstring (date-time)Creation timestamp in ISO 8601 format.
ends_at*stringLocal datetime without timezone (Y-m-dTH:i:s)
id*integer
service_order*objectParent order summary; always present when returned from the API.

Parent order summary; always present when returned from the API.

FieldTypeDescription
contact_namestringContact display name for scheduling views without loading full contact
formatted_number*string
id*integer
service_locationstring
status*string

string

  • open
  • planned
  • in_progress
  • done
  • invoiced
  • cancelled
subjectstring
service_order_id*integer
starts_at*stringLocal datetime without timezone (Y-m-dTH:i:s)
status*string

string

  • planned
  • confirmed
  • completed
  • cancelled
updated_atstring (date-time)Last update timestamp in ISO 8601 format.
Example response
{
  "id": 0,
  "service_order_id": 0,
  "service_order": {
    "id": 0,
    "formatted_number": "string",
    "subject": "string",
    "service_location": "string",
    "contact_name": "string",
    "status": "open"
  },
  "starts_at": "2025-01-14T09:00:00",
  "ends_at": "2025-01-14T17:00:00",
  "assignee_account_user_id": 0,
  "status": "planned"
}
Service order appointments

Questions about integration?

POST /api/account/service-order-appointments · Jupiter ERP