Skip to main content
PUT
/
v1
/
periodic-emission-logs
/
{id}
Replace a periodic emission log
curl --request PUT \
  --url https://api.cula.tech/tracking/v1/v1/periodic-emission-logs/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "config_id": "<string>",
  "site": {
    "id": "ste_01kqzcjrpyf27tge6smsbnhkh5"
  },
  "period_start": "2025-10-01T00:00:00.000Z",
  "period_end": "2025-10-31T00:00:00.000Z",
  "external_id": "<string>",
  "display_key": "<string>",
  "data_points": [],
  "file_ids": []
}
'
{
  "id": "eml_01kqzcjrpyf27tgebyhvvmf20z",
  "config_id": "elc_01kqzcjrpyf27tgekeyq3qzm7d",
  "site": {
    "id": "<string>",
    "external_id": "<string>"
  },
  "period_start": "2025-10-01T00:00:00.000Z",
  "period_end": "2025-10-31T00:00:00.000Z",
  "status": "completed",
  "data_points": [
    {
      "config_id": "dpc_01kqzcjrpyf27tgeq6a84z0yhy",
      "config_version_id": "dpv_01kqzcjrpyf27tgerf3nqreg37",
      "name": "Weight net",
      "input_value": {
        "value": 47079.76,
        "unit": "lb"
      },
      "value": {
        "value": 21353.12,
        "unit": "kg"
      }
    }
  ],
  "file_ids": [],
  "created_at": "2026-05-06T19:34:00Z",
  "updated_at": "2026-05-06T19:34:00Z",
  "external_id": "GC-ELEC-2025-10",
  "display_key": "GC-ELEC-2025-10",
  "emissions_in_kg_co2e": 8942.37
}

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>

Path Parameters

id
string
required

Cula-assigned resource ID in TypeID format (e.g. stp_01kqzcjrpxf27tge33jwvjhkff). Alternatively, pass your external ID prefixed with ext- (e.g. ext-MY-STEP-001). The ext- prefix is unambiguous because TypeIDs use _ separators and never start with ext-.

Body

application/json

Request body for creating a periodic emission log.

config_id
string
required

Root periodic emission log config ID. The server resolves to the active config version.

site
object
required

The site where the emissions occurred.

Example:
{ "id": "ste_01kqzcjrpyf27tge6smsbnhkh5" }
period_start
string<date>
required

Start of the measurement period (ISO date).

Example:

"2025-10-01T00:00:00.000Z"

period_end
string<date>
required

End of the measurement period (ISO date).

Example:

"2025-10-31T00:00:00.000Z"

external_id
string

Partner-assigned identifier. Must be unique within resource type and organisation. Used for idempotency and ext- lookups.

display_key
string

Human-readable display identifier.

data_points
object[]

Emission measurement data points.

file_ids
string[]

IDs of files to link (invoices, certificates).

Response

Periodic emission log replaced. Recalculation triggered.

A periodic emission log as returned in responses. After creation, the server triggers a background emission calculation. The status field reflects the calculation state and emissions_in_kg_co2e contains the result once calculation completes.

id
string
required

Cula-assigned TypeID.

Example:

"eml_01kqzcjrpyf27tgebyhvvmf20z"

config_id
string
required

Root emission log config ID.

Example:

"elc_01kqzcjrpyf27tgekeyq3qzm7d"

site
object
required

A resolved resource reference as returned in responses.

period_start
string<date>
required

Start of the measurement period.

Example:

"2025-10-01T00:00:00.000Z"

period_end
string<date>
required

End of the measurement period.

Example:

"2025-10-31T00:00:00.000Z"

status
enum<string>
required

State of the background emission calculation.

  • calculating — calculation is in progress.
  • completed — calculation finished, emissions_in_kg_co2e is populated.
  • failed — calculation failed (contact support).
Available options:
calculating,
completed,
failed
Example:

"completed"

data_points
object[]
required

Resolved emission measurement data points.

file_ids
string[]
required

IDs of linked files.

Example:
[]
created_at
string<date-time>
required
read-only
Example:

"2026-05-06T19:34:00Z"

updated_at
string<date-time>
required
read-only
Example:

"2026-05-06T19:34:00Z"

external_id
string | null

Partner-assigned external identifier.

Example:

"GC-ELEC-2025-10"

display_key
string | null

Human-readable display identifier.

Example:

"GC-ELEC-2025-10"

emissions_in_kg_co2e
number | null
read-only

Total emissions for this period in kg CO2 equivalent. Null while status is calculating. Populated once calculation completes.

Example:

8942.37