Skip to main content
POST
/
v1
/
organisations
Create a counterparty organisation
curl --request POST \
  --url https://api.cula.tech/tracking/v1/v1/organisations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "external_id": "GC-ORG-ACKJAM",
  "name": "Ackerman Farms",
  "owning_site": {
    "external_id": "GC-SITE-REFINERY"
  }
}
'
{
  "id": "org_01kqzcjrpyf27tge8c161z0b8h",
  "external_id": "GC-ORG-ACKJAM",
  "name": "Ackerman Farms",
  "legal_location": null,
  "owning_site": {
    "id": "ste_01kqzcjrpyf27tge6smsbnhkh5",
    "external_id": "GC-SITE-REFINERY"
  }
}

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 organisation. Each counterparty site must belong to an organisation, such as a supplier company with multiple farm locations.

name
string
required
Example:

"Ackerman Farms"

owning_site
object
required

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

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

Partner-assigned identifier. Must be unique within your scope.

Legal address / location of the organisation.

Response

Counterparty organisation created.

id
string
required
Example:

"org_01kqzcjrpyf27tge87es6ns4w3"

name
string
required
Example:

"GreenCarbon Inc."

external_id
string | null

Legal address / location of the organisation.

owning_site
object

The registered (Cula-managed) site that created this counterparty organisation. Null for registered organisations.