Skip to main content
POST
/
v1
/
sites
Create a counterparty site
curl --request POST \
  --url https://api.cula.tech/tracking/v1/v1/sites \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "external_id": "GC-VND-ACKJAM",
  "name": "Ackerman Farms (James)",
  "location": {
    "lat": 46.45,
    "long": -103.12,
    "city": "Dickinson",
    "country": "United States",
    "country_code": "US"
  },
  "owning_site": {
    "external_id": "GC-SITE-REFINERY"
  },
  "organisation": {
    "external_id": "GC-ORG-ACKJAM"
  }
}
'
{
  "id": "ste_01kqzcjrpyf27tge7875y20mmr",
  "external_id": "GC-VND-ACKJAM",
  "name": "Ackerman Farms (James)",
  "timezone": "America/Chicago",
  "location": {
    "lat": 46.45,
    "long": -103.12,
    "city": "Dickinson",
    "country": "United States",
    "country_code": "US"
  },
  "owning_site": {
    "id": "ste_01kqzcjrpyf27tge6smsbnhkh5",
    "external_id": "GC-SITE-REFINERY"
  },
  "organisation": {
    "id": "org_01kqzcjrpyf27tge8c161z0b8h",
    "external_id": "GC-ORG-ACKJAM"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.cula.tech/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key passed as a Bearer token. Keys are scoped to one organisation and a set of permitted sites. Two keys per scope (primary + secondary) are issued to support zero-downtime rotation.

Authorization: Bearer <api-key>

Body

application/json

Create a counterparty site, such as a supplier farm or customer facility.

name
string
required
Example:

"Ackerman Farms (James)"

location
object
required

Geographic location of the counterparty site.

owning_site
object
required

The registered (Cula-managed) site that this counterparty site belongs to. Must be a site within your API key's scope.

Example:
{ "id": "ste_01kqzcjrpyf27tge6smsbnhkh5" }
organisation
object
required

The counterparty organisation this site is grouped under.

Example:
{ "id": "ste_01kqzcjrpyf27tge6smsbnhkh5" }
external_id
string

Partner-assigned identifier. Must be unique within the organisation.

Response

Counterparty site created.

id
string
required
Example:

"ste_01kqzcjrpyf27tge6smsbnhkh5"

name
string
required
Example:

"GreenCarbon Refinery"

external_id
string | null
timezone
string | null

IANA timezone identifier. Set for registered sites, defaults to the owning site's timezone for counterparty sites.

Example:

"America/Chicago"

location
object

Geographic location of the site.

owning_site
object

The registered (Cula-managed) site that this counterparty site belongs to. Null for registered sites themselves.

organisation
object

The organisation that owns or operates this site.