L lumi developers

SOPs / REFERENCE

Approve an SOP

Publish an under-review SOP and record its approval. The separate sops:approve permission is required.

POST/api/v1/sops/{id}/approve

Permissions sops:approve

Parameters

NameDescription
X-Luma-Workspace-Hostheader · requiredYour workspace host, e.g. acme.lumi-cx.com. Required on api.lumi-cx.com. This header never grants access: the Bearer key must belong to the selected workspace.
idpath · requiredRecord identifier in this workspace.

Responses

200 Successful operation
{
  "ok": true,
  "sop": {
    "id": "00000000-0000-4000-8000-000000000001",
    "serial": "TS-0001",
    "status": "draft",
    "titleEn": "Customer refund review",
    "titleAr": "",
    "ticketDescription": "Review the customer's refund request and verify the original payment details.",
    "infoToCollect": [
      "Verify the customer details"
    ],
    "actionsToTakeFrontline": [
      "Verify the customer details"
    ],
    "ticketOwner": {
      "kind": "person",
      "id": "replace-with-directory-id",
      "label": "Directory member"
    },
    "actionsToTakeOwner": [
      "Verify the customer details"
    ],
    "caseType": "complaint",
    "priority": "medium",
    "slaValue": 24,
    "slaUnit": "hours",
    "accountableTeam": {
      "kind": "team",
      "id": "replace-with-directory-id",
      "label": "Support"
    },
    "escalationLevel1": {
      "kind": "person",
      "id": "replace-with-directory-id",
      "label": "Directory member"
    },
    "escalationLevel2": {
      "kind": "person",
      "id": "replace-with-directory-id",
      "label": "Directory member"
    },
    "closureApproval": {
      "kind": "person",
      "id": "replace-with-directory-id",
      "label": "Directory member"
    },
    "department": "tech_support",
    "notifyOnCreation": [],
    "ticketCategory": {
      "l1": null,
      "l2": null,
      "l3": null
    },
    "smsNotifications": [],
    "followUpCall": false,
    "csatSurvey": false,
    "notes": "",
    "createdBy": "example",
    "createdAt": "2026-09-26T09:00:00Z",
    "updatedAt": "2026-09-26T09:00:00Z",
    "localization": {}
  }
}
400 Invalid body or workflow state
{
  "ok": false,
  "error": "invalid_body",
  "message": "example"
}
401 Missing, invalid, expired, revoked or wrong-workspace key
{
  "ok": false,
  "error": "invalid_body",
  "message": "example"
}
403 Required key permission missing, module unavailable, or workspace suspended
{
  "ok": false,
  "error": "invalid_body",
  "message": "example"
}
404 SOP not found or not accessible
{
  "ok": false,
  "error": "invalid_body",
  "message": "example"
}
429 Rate limit exceeded; respect Retry-After
{
  "ok": false,
  "error": "invalid_body",
  "message": "example"
}
502 Upstream or unexpected server error
{
  "ok": false,
  "error": "invalid_body",
  "message": "example"
}
Need an API key? Open Developer Options in your workspace.