ServeLume / Developers

API / v1

The API reference.

Server-rendered documentation from the Laravel OpenAPI contract. Office resources require an API-enabled workspace plan. Core technician routes enforce assigned-job permissions.

Authenticate with a workspace token

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.

Endpoint operations

GET · Public

/public/plans

List active public subscription plans and trial policy

Documented responses: 200, 429

POST · Public

/auth/token

Issue an access token

Documented responses: 200, 422

GET · Bearer token

/auth/me

Current user and tenant

Documented responses: 200, 401, 403

POST · Bearer token

/auth/logout

Revoke the current token

Documented responses: 200

GET · Bearer token

/clients

List clients

Documented responses: 200

POST · Bearer token

/clients

Create a client

Documented responses: 201, 422

GET · Bearer token

/clients/{client}

Retrieve a client

Documented responses: 200, 404

GET · Bearer token

/work-orders

List work orders

Documented responses: 200

GET · Bearer token

/work-orders/{workOrder}

Retrieve a work order

Documented responses: 200

GET · Bearer token

/estimates

List estimates

Documented responses: 200

GET · Bearer token

/estimates/{estimate}

Retrieve an estimate

Documented responses: 200

GET · Bearer token

/invoices

List invoices

Documented responses: 200

GET · Bearer token

/invoices/{invoice}

Retrieve an invoice

Documented responses: 200

POST · Bearer token

/requests

Create an inbound service request (lead)

Documented responses: 201

POST · Bearer token

/me/jobs/{workOrder}/start-travel

Start 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-services

List service records on an assigned job

Documented responses: 200, 403, 404, 429

POST · Bearer token

/me/jobs/{workOrder}/asset-services

Record explicit equipment servicing

Documented responses: 201, 403, 404, 409, 422, 429

POST · Bearer token

/me/jobs/{workOrder}/assets

Link property equipment to an assigned job

Documented responses: 200, 403, 404, 409, 422, 429

GET · Bearer token

/me/jobs/{workOrder}/assets

List 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-assets

Find equipment eligible for linking to an assigned job

Documented responses: 200, 403, 404, 422, 429

GET · Bearer token

/me/jobs/{workOrder}/parts

List available inventory for an assigned job

Documented responses: 200, 403, 404

POST · Bearer token

/me/jobs/{workOrder}/parts

Record 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}/returns

Return 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