FieldCamp
Resources

Items | FieldCamp API

Items are the products or services billed as line items on jobs.

An item is a billable product or service. Items appear as line items on jobs, where they roll up into subTotal, tax, and total.

The path is /api/product-service (legacy naming) even though we refer to the resource as "Items" everywhere else.

Create once, reuse forever

Items are long-lived. Create each distinct product or service once, store the returned id, and reference it from every job's jobItems.

There's no server-side dedup on item names. If you naïvely POST /api/product-service for the same named item twice, you'll have two items. Look up by name (and optionally price) client-side first.

Fields

  • typeService (time-based work) or Product (physical goods).
  • isActive — set true. Inactive items aren't selectable in the UI.
  • price — the default unit price. Override per-line via JobItem.price if needed.

Endpoints

GET/api/product-service

Authorization

AuthorizationBearer <token>

Pass your JWT API key as Authorization: Bearer <token>. Send alongside X-API-Key: <token> for maximum compatibility.

In: header

Response Body

application/json

application/json

curl -X GET "https://api.fieldcamp.ai/api/product-service"
{
  "success": true,
  "data": {
    "items": [
      {
        "name": "Standard 3-person moving crew",
        "description": "Up to 4 hours of on-site moving labor with 3 crew",
        "price": 299,
        "type": "Service",
        "isActive": true,
        "id": "string",
        "recordId": "string"
      }
    ]
  }
}
{
  "success": false,
  "error": "Invalid or expired token"
}
POST/api/product-service

Authorization

AuthorizationBearer <token>

Pass your JWT API key as Authorization: Bearer <token>. Send alongside X-API-Key: <token> for maximum compatibility.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://api.fieldcamp.ai/api/product-service" \  -H "Content-Type: application/json" \  -d '{    "name": "Standard 3-person moving crew",    "description": "Up to 4 hours of on-site moving labor with 3 crew",    "price": 299,    "type": "Service",    "isActive": true  }'
{
  "success": true,
  "data": {
    "item": {
      "name": "Standard 3-person moving crew",
      "description": "Up to 4 hours of on-site moving labor with 3 crew",
      "price": 299,
      "type": "Service",
      "isActive": true,
      "id": "string",
      "recordId": "string"
    }
  }
}
{
  "success": false,
  "error": "jobNumber is required"
}
{
  "success": false,
  "error": "Invalid or expired token"
}

On this page