FieldCamp
Resources

Clients | FieldCamp API

The Clients endpoint lets you create and manage the people or companies you do work for.

A client is the person or company a job is for. Every job references a client. Most integrations create a client once on first order and reuse the client ID on subsequent jobs.

Fields worth knowing

  • email is the de-facto lookup key. Always store it. Use it with GET /api/clients + client-side filter to find existing clients before creating new ones.
  • phoneNumber is structured — { countryCode, number, countryIdentifier }. See the PhoneNumber block in the NewClient schema rendered below.
  • billingAddress and propertyAddress are independent. Pass the same Address object to both if they're identical; don't skip billingAddress.
  • stage is free-text but commonly one of Lead, Active Client, Inactive.

Gotchas

List endpoints have no server-side filters. To find an existing client by email, you fetch all clients and filter in your code. See Idempotency.

Endpoints

GET/api/clients

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

application/json

curl -X GET "https://api.fieldcamp.ai/api/clients"
{
  "success": true,
  "data": {
    "clients": [
      {
        "firstName": "Jane",
        "lastName": "Cooper",
        "email": "jane@example.com",
        "phoneNumber": {
          "countryCode": "+44",
          "number": "7555123456",
          "countryIdentifier": "gb"
        },
        "companyName": "Acme Moving Co.",
        "companyAddress": {
          "street": "221B Baker Street",
          "houseNumber": "",
          "city": "London",
          "state": "England",
          "country": "United Kingdom",
          "zipCode": "NW1 6XE",
          "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
          "latitude": 51.5237,
          "longitude": -0.1585,
          "plusCode": ""
        },
        "propertyAddress": {
          "street": "221B Baker Street",
          "houseNumber": "",
          "city": "London",
          "state": "England",
          "country": "United Kingdom",
          "zipCode": "NW1 6XE",
          "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
          "latitude": 51.5237,
          "longitude": -0.1585,
          "plusCode": ""
        },
        "billingAddress": {
          "street": "221B Baker Street",
          "houseNumber": "",
          "city": "London",
          "state": "England",
          "country": "United Kingdom",
          "zipCode": "NW1 6XE",
          "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
          "latitude": 51.5237,
          "longitude": -0.1585,
          "plusCode": ""
        },
        "stage": "Active Client",
        "properties": [
          "string"
        ],
        "jobFormIds": [
          "string"
        ],
        "id": "string",
        "recordId": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z"
      }
    ]
  }
}
{
  "success": false,
  "error": "Invalid or expired token"
}
{
  "success": false,
  "error": "Internal server error"
}
POST/api/clients

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

application/json

curl -X POST "https://api.fieldcamp.ai/api/clients" \  -H "Content-Type: application/json" \  -d '{    "firstName": "Jane",    "lastName": "Cooper",    "email": "jane@example.com",    "phoneNumber": {      "countryCode": "+1",      "number": "5550101234",      "countryIdentifier": "us"    },    "companyName": "Acme Moving Co.",    "propertyAddress": {      "street": "500 Example Ave",      "city": "Springfield",      "state": "IL",      "country": "United States",      "zipCode": "62701"    },    "billingAddress": {      "street": "500 Example Ave",      "city": "Springfield",      "state": "IL",      "country": "United States",      "zipCode": "62701"    },    "stage": "Active Client",    "properties": [],    "jobFormIds": []  }'
{
  "success": true,
  "data": {
    "client": {
      "firstName": "Jane",
      "lastName": "Cooper",
      "email": "jane@example.com",
      "phoneNumber": {
        "countryCode": "+44",
        "number": "7555123456",
        "countryIdentifier": "gb"
      },
      "companyName": "Acme Moving Co.",
      "companyAddress": {
        "street": "221B Baker Street",
        "houseNumber": "",
        "city": "London",
        "state": "England",
        "country": "United Kingdom",
        "zipCode": "NW1 6XE",
        "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
        "latitude": 51.5237,
        "longitude": -0.1585,
        "plusCode": ""
      },
      "propertyAddress": {
        "street": "221B Baker Street",
        "houseNumber": "",
        "city": "London",
        "state": "England",
        "country": "United Kingdom",
        "zipCode": "NW1 6XE",
        "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
        "latitude": 51.5237,
        "longitude": -0.1585,
        "plusCode": ""
      },
      "billingAddress": {
        "street": "221B Baker Street",
        "houseNumber": "",
        "city": "London",
        "state": "England",
        "country": "United Kingdom",
        "zipCode": "NW1 6XE",
        "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
        "latitude": 51.5237,
        "longitude": -0.1585,
        "plusCode": ""
      },
      "stage": "Active Client",
      "properties": [
        "string"
      ],
      "jobFormIds": [
        "string"
      ],
      "id": "string",
      "recordId": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  }
}
{
  "success": false,
  "error": "jobNumber is required"
}
{
  "success": false,
  "error": "Invalid or expired token"
}
{
  "success": false,
  "error": "Internal server error"
}
GET/api/clients/{id}

Authorization

AuthorizationBearer <token>

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

In: header

Path Parameters

id*string

Response Body

application/json

application/json

curl -X GET "https://api.fieldcamp.ai/api/clients/string"
{
  "success": true,
  "data": {
    "client": {
      "firstName": "Jane",
      "lastName": "Cooper",
      "email": "jane@example.com",
      "phoneNumber": {
        "countryCode": "+44",
        "number": "7555123456",
        "countryIdentifier": "gb"
      },
      "companyName": "Acme Moving Co.",
      "companyAddress": {
        "street": "221B Baker Street",
        "houseNumber": "",
        "city": "London",
        "state": "England",
        "country": "United Kingdom",
        "zipCode": "NW1 6XE",
        "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
        "latitude": 51.5237,
        "longitude": -0.1585,
        "plusCode": ""
      },
      "propertyAddress": {
        "street": "221B Baker Street",
        "houseNumber": "",
        "city": "London",
        "state": "England",
        "country": "United Kingdom",
        "zipCode": "NW1 6XE",
        "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
        "latitude": 51.5237,
        "longitude": -0.1585,
        "plusCode": ""
      },
      "billingAddress": {
        "street": "221B Baker Street",
        "houseNumber": "",
        "city": "London",
        "state": "England",
        "country": "United Kingdom",
        "zipCode": "NW1 6XE",
        "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
        "latitude": 51.5237,
        "longitude": -0.1585,
        "plusCode": ""
      },
      "stage": "Active Client",
      "properties": [
        "string"
      ],
      "jobFormIds": [
        "string"
      ],
      "id": "string",
      "recordId": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  }
}
{
  "success": false,
  "error": "Invalid or expired token"
}
Empty
PUT/api/clients/{id}

Authorization

AuthorizationBearer <token>

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

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X PUT "https://api.fieldcamp.ai/api/clients/string" \  -H "Content-Type: application/json" \  -d '{    "stage": "Active Client",    "properties": [      "string"    ],    "jobFormIds": [      "string"    ]  }'
{
  "success": true,
  "data": {
    "client": {
      "firstName": "Jane",
      "lastName": "Cooper",
      "email": "jane@example.com",
      "phoneNumber": {
        "countryCode": "+44",
        "number": "7555123456",
        "countryIdentifier": "gb"
      },
      "companyName": "Acme Moving Co.",
      "companyAddress": {
        "street": "221B Baker Street",
        "houseNumber": "",
        "city": "London",
        "state": "England",
        "country": "United Kingdom",
        "zipCode": "NW1 6XE",
        "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
        "latitude": 51.5237,
        "longitude": -0.1585,
        "plusCode": ""
      },
      "propertyAddress": {
        "street": "221B Baker Street",
        "houseNumber": "",
        "city": "London",
        "state": "England",
        "country": "United Kingdom",
        "zipCode": "NW1 6XE",
        "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
        "latitude": 51.5237,
        "longitude": -0.1585,
        "plusCode": ""
      },
      "billingAddress": {
        "street": "221B Baker Street",
        "houseNumber": "",
        "city": "London",
        "state": "England",
        "country": "United Kingdom",
        "zipCode": "NW1 6XE",
        "formattedAddress": "221B Baker Street, London, England, NW1 6XE, United Kingdom",
        "latitude": 51.5237,
        "longitude": -0.1585,
        "plusCode": ""
      },
      "stage": "Active Client",
      "properties": [
        "string"
      ],
      "jobFormIds": [
        "string"
      ],
      "id": "string",
      "recordId": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  }
}
{
  "success": false,
  "error": "Invalid or expired token"
}
Empty

On this page