GET · Public
/public/plans
List active public subscription plans and trial policy
Documented responses: 200, 429
API / v1
Server-rendered documentation from the Laravel OpenAPI contract. Office resources require an API-enabled workspace plan. Core technician routes enforce assigned-job permissions.
Base URL: https://app.servelume.com/api/v1. Keep bearer tokens server-side. Authentication, tenant permissions and plan gates are enforced by Laravel. Request only the access needed for your integration.
curl https://app.servelume.com/api/v1/auth/me -H "Accept: application/json" -H "Authorization: Bearer YOUR_TOKEN"
Handle 401 by re-authenticating, 403 by checking permissions and plan eligibility, 422 by correcting validation errors and 429 by backing off. Do not retry non-idempotent writes blindly. The published contract may cover fewer routes than the mobile application; undocumented routes are not a promised public integration contract.
GET · Public
/public/plansList active public subscription plans and trial policy
Documented responses: 200, 429
POST · Public
/auth/tokenIssue an access token
Documented responses: 200, 422
GET · Bearer token
/auth/meCurrent user and tenant
Documented responses: 200, 401, 403
POST · Bearer token
/auth/logoutRevoke the current token
Documented responses: 200
GET · Bearer token
/clientsList clients
Documented responses: 200
POST · Bearer token
/clientsCreate a client
Documented responses: 201, 422
GET · Bearer token
/clients/{client}Retrieve a client
Documented responses: 200, 404
GET · Bearer token
/work-ordersList work orders
Documented responses: 200
GET · Bearer token
/work-orders/{workOrder}Retrieve a work order
Documented responses: 200
GET · Bearer token
/estimatesList estimates
Documented responses: 200
GET · Bearer token
/estimates/{estimate}Retrieve an estimate
Documented responses: 200
GET · Bearer token
/invoicesList invoices
Documented responses: 200
GET · Bearer token
/invoices/{invoice}Retrieve an invoice
Documented responses: 200
POST · Bearer token
/requestsCreate an inbound service request (lead)
Documented responses: 201
POST · Bearer token
/me/jobs/{workOrder}/start-travelStart travel to an assigned job
Documented responses: 200, 401, 403, 404, 422, 429
GET · Bearer token
/me/jobs/{workOrder}/asset-services/commands/{commandId}Reconcile an equipment service command
Documented responses: 200, 403, 404, 429
GET · Bearer token
/me/jobs/{workOrder}/asset-servicesList service records on an assigned job
Documented responses: 200, 403, 404, 429
POST · Bearer token
/me/jobs/{workOrder}/asset-servicesRecord explicit equipment servicing
Documented responses: 201, 403, 404, 409, 422, 429
POST · Bearer token
/me/jobs/{workOrder}/assetsLink property equipment to an assigned job
Documented responses: 200, 403, 404, 409, 422, 429
GET · Bearer token
/me/jobs/{workOrder}/assetsList equipment linked to an assigned job
Documented responses: 200, 403, 404, 429
GET · Bearer token
/me/jobs/{workOrder}/available-assets/{asset}Resolve equipment label against an assigned job property
Documented responses: 200, 403, 404, 429
GET · Bearer token
/me/jobs/{workOrder}/available-assetsFind equipment eligible for linking to an assigned job
Documented responses: 200, 403, 404, 422, 429
GET · Bearer token
/me/jobs/{workOrder}/partsList available inventory for an assigned job
Documented responses: 200, 403, 404
POST · Bearer token
/me/jobs/{workOrder}/partsRecord inventory consumed on an assigned job
Documented responses: 201, 403, 404, 409, 422, 429
GET · Bearer token
/me/jobs/{workOrder}/parts/commands/{commandId}Reconcile a technician material command
Documented responses: 200, 403, 404, 429
POST · Bearer token
/me/jobs/{workOrder}/parts/{usage}/returnsReturn unused job parts to stock
Documented responses: 200, 403, 404, 422, 429
GET · Bearer token
/me/jobs/{workOrder}/part-returns/commands/{commandId}Check an uncertain parts return
Documented responses: 200, 403, 404, 429