BlueSuite API
REST API v1

Services

Manage saved products and services via the REST API

Products and services are reusable line items that can be added to quotes, jobs, and invoices. They store a default name, price, description, and tax status so you don't have to re-enter them each time.

List Services

Retrieve a paginated list of saved products and services.

GET /api/v1/services

Required Scope: services:read

Query Parameters:

ParameterTypeDefaultDescription
pageinteger1Page number
per_pageinteger25Results per page (1-100)
searchstringSearch by name or description
sort_bystringField to sort by
sort_directionstringdescSort direction (asc or desc)
id_instringComma-separated list of service IDs to filter by (e.g. 1,2,3)
curl https://app.bluesuite.com/api/v1/services?search=window \
  -H "Authorization: Bearer wk_YOUR_API_KEY"
{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Exterior Window Cleaning",
      "description": "Per window",
      "price": 25.00,
      "sku": null,
      "type": "service",
      "taxable": true,
      "workspace_id": 123,
      "created_at": "2025-03-01T10:00:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 25,
    "total_pages": 1
  }
}

Create Service

Create a new saved product or service.

POST /api/v1/services

Required Scope: services:write

Request Body:

FieldTypeRequiredDescription
namestringYesService or product name
descriptionstringNoDescription
pricenumberNoDefault price. Defaults to 0
skustringNoSKU or product code
typestringNoservice or product. Defaults to service
taxablebooleanNoWhether the item is taxable. Defaults to true
curl -X POST https://app.bluesuite.com/api/v1/services \
  -H "Authorization: Bearer wk_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Gutter Cleaning",
    "description": "Standard gutter cleaning per linear foot",
    "price": 3.50,
    "type": "service",
    "taxable": true
  }'
{
  "success": true,
  "data": {
    "id": 5,
    "name": "Gutter Cleaning",
    "description": "Standard gutter cleaning per linear foot",
    "price": 3.50,
    "sku": null,
    "type": "service",
    "taxable": true,
    "workspace_id": 123,
    "created_at": "2025-03-15T12:00:00.000Z"
  }
}

Get Service

Retrieve a single product or service by ID.

GET /api/v1/services/:id

Required Scope: services:read

curl https://app.bluesuite.com/api/v1/services/5 \
  -H "Authorization: Bearer wk_YOUR_API_KEY"
{
  "success": true,
  "data": {
    "id": 5,
    "name": "Gutter Cleaning",
    "description": "Standard gutter cleaning per linear foot",
    "price": 3.50,
    "sku": null,
    "type": "service",
    "taxable": true,
    "workspace_id": 123,
    "created_at": "2025-03-15T12:00:00.000Z"
  }
}

Update Service

Update an existing product or service. All fields are optional -- only include the fields you want to change.

PUT /api/v1/services/:id

Required Scope: services:write

Request Body: Same fields as Create Service. All fields are optional.

curl -X PUT https://app.bluesuite.com/api/v1/services/5 \
  -H "Authorization: Bearer wk_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "price": 4.00,
    "description": "Standard gutter cleaning per linear foot (updated)"
  }'
{
  "success": true,
  "data": {
    "id": 5,
    "name": "Gutter Cleaning",
    "description": "Standard gutter cleaning per linear foot (updated)",
    "price": 4.00,
    "sku": null,
    "type": "service",
    "taxable": true,
    "workspace_id": 123,
    "created_at": "2025-03-15T12:00:00.000Z"
  }
}

Delete Service

Delete a product or service by ID.

DELETE /api/v1/services/:id

Required Scope: services:write

curl -X DELETE https://app.bluesuite.com/api/v1/services/5 \
  -H "Authorization: Bearer wk_YOUR_API_KEY"
{
  "success": true,
  "data": {
    "deleted": true
  }
}

On this page