solarOSsolarOS Docs

Complete a Service Appointment

Transitions an in-progress appointment to COMPLETED. The optional body accepts completedAt and notes.

POST
/service-appointments/{id}/complete

Transitions an in-progress appointment to COMPLETED. The optional body accepts completedAt and notes.

Authorization

Authorization<token>

Organization API key. Format: Bearer sk_live_...

In: header

Path Parameters

id*string

Service Appointment identifier returned by the Organization API.

Request Body

application/json

JSON request payload for completeServiceAppointment.

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/service-appointments/string/complete" \  -H "Content-Type: application/json" \  -d '{    "completedAt": "2026-08-13T20:05:00Z",    "notes": "Work completed."  }'
{  "data": {    "action": {      "confirmed": true,      "confirmationSignal": "string"    },    "resource": {}  },  "meta": {    "requestId": "string",    "version": "v1",    "timestamp": "2019-08-24T14:15:22Z",    "rateLimit": {      "limit": 0,      "remaining": 0,      "reset": 0    }  }}