Download OpenAPI specification:Download
Carbon emissions data: search emission factors and categories, read emission calculations and charts, and classify transactions as emissions.
This is the primary endpoint for carbon emission statistics — use it for virtually all requests where a user wants insight into their carbon footprint (totals, breakdowns, trends, comparisons). Returns emission data aggregated by one or more dimensions (date, scope, category, etc.) for charting and analysis. Use the 'group_by' parameter to control how emissions are bucketed, and standard emission filters (accounting_date__gte, accounting_date__lte, scope, category, etc.) to narrow the dataset. Results include total CO2 in kg, transaction counts, and optional intensity metrics when a date range is provided.
| accounting_date | string <date-time> |
| accounting_date__gte | string <date-time> |
| accounting_date__lte | string <date-time> |
| category_id | integer or null |
| classification_category_id | integer or null |
| classification_category_name | string |
| classification_category_name__icontains | string |
| classification_category_name__iendswith | string |
| classification_category_name__istartswith | string |
| co2_kg | number <float> |
| co2_kg__gt | number <float> |
| co2_kg__gte | number <float> |
| co2_kg__lt | number <float> |
| co2_kg__lte | number <float> |
| company_tags | Array of strings |
| confidence_status | string or null Enum: "confident" "needs_attention"
|
| controlled_by_identifier | string |
| controlled_by_identifier__icontains | string |
| controlled_by_identifier__iendswith | string |
| controlled_by_identifier__isnull | boolean |
| controlled_by_identifier__istartswith | string |
| delimit_by | string Enum: "daily" "monthly" "yearly"
|
| description | string |
| description__icontains | string |
| description__iendswith | string |
| description__isnull | boolean |
| description__istartswith | string |
| flags_key_value | string Filter by key-value pair in flags field. Format: 'key:value'. Example: 'status:pending' |
| ghg_category_id | integer or null |
| group_by | Array of strings Default: "date" Items Enum: "category_name" "classification_category_name" "date" "ghg_category_name" "is_activity_based" "main_emission" "scope" "sub_category_name" "title" "vendor_name" Fields to group by |
| id | integer |
| id__in | Array of integers Multiple values may be separated by commas. |
| is_activity_based_emission | boolean |
| is_tag_along | boolean |
| journal | string |
| journal__icontains | string |
| journal__iendswith | string |
| journal__isnull | boolean |
| journal__istartswith | string |
| limit | integer Number of results to return per page. |
| offset | integer The initial index from which to return the results. |
| ordering | string Enum: "-date" "-emission_count" "-total_co2_kg" "-transaction_count" "date" "emission_count" "total_co2_kg" "transaction_count" Fields to order by (prefix with '-' for descending) |
| relative_to | string Enum: "absolute" "per_employee" "per_revenue_unit"
|
| scope | Array of strings Items Enum: "1" "2" "3" "Excluded" "Offset"
|
| sub_category_id | integer or null |
| title | string |
| title__icontains | string |
| title__iendswith | string |
| title__istartswith | string |
| vendor_name | string |
| vendor_name__icontains | string |
| vendor_name__iendswith | string |
| vendor_name__isnull | boolean |
| vendor_name__istartswith | string |
{- "count": 123,
- "results": [
- {
- "transaction_count": 0,
- "emission_count": 0,
- "total_co2_kg": 0.1,
- "date": "2019-08-24T14:15:22Z",
- "main_emission": 0,
- "category": 0,
- "category_name": "string",
- "sub_category": 0,
- "sub_category_name": "string",
- "ghg_category": 0,
- "ghg_category_name": "string",
- "classification_category": 0,
- "classification_category_name": "string",
- "scope": "string",
- "title": "string",
- "vendor_name": "string",
- "is_activity_based_emission": true
}
]
}Returns a paginated list of individual carbon emission records for the authenticated company. Each record includes the emission source, CO2 amount in kg, accounting date, scope, category, vendor, and emission factor details. Use filters to narrow by date range (accounting_date__gte/lte), scope, category, or search by title/description/vendor. Supports ordering by accounting_date, title, vendor_name, volume, or co2_kg.
| accounting_date | string <date-time> |
| accounting_date__gte | string <date-time> |
| accounting_date__lte | string <date-time> |
| category_id | integer or null |
| classification_category_id | integer or null |
| classification_category_name | string |
| classification_category_name__icontains | string |
| classification_category_name__iendswith | string |
| classification_category_name__istartswith | string |
| co2_kg | number <float> |
| co2_kg__gt | number <float> |
| co2_kg__gte | number <float> |
| co2_kg__lt | number <float> |
| co2_kg__lte | number <float> |
| company_tags | Array of strings |
| confidence_status | string or null Enum: "confident" "needs_attention"
|
| controlled_by_identifier | string |
| controlled_by_identifier__icontains | string |
| controlled_by_identifier__iendswith | string |
| controlled_by_identifier__isnull | boolean |
| controlled_by_identifier__istartswith | string |
| description | string |
| description__icontains | string |
| description__iendswith | string |
| description__isnull | boolean |
| description__istartswith | string |
| flags_key_value | string Filter by key-value pair in flags field. Format: 'key:value'. Example: 'status:pending' |
| ghg_category_id | integer or null |
| id | integer |
| id__in | Array of integers Multiple values may be separated by commas. |
| is_activity_based_emission | boolean |
| is_tag_along | boolean |
| journal | string |
| journal__icontains | string |
| journal__iendswith | string |
| journal__isnull | boolean |
| journal__istartswith | string |
| limit | integer Number of results to return per page. |
| offset | integer The initial index from which to return the results. |
| ordering | string Which field to use when ordering the results. |
| scope | Array of strings Items Enum: "1" "2" "3" "Excluded" "Offset"
|
| search | string A search term. |
| sub_category_id | integer or null |
| title | string |
| title__icontains | string |
| title__iendswith | string |
| title__istartswith | string |
| vendor_name | string |
| vendor_name__icontains | string |
| vendor_name__iendswith | string |
| vendor_name__isnull | boolean |
| vendor_name__istartswith | string |
{- "count": 123,
- "results": [
- {
- "id": 0,
- "company": 0,
- "company_name": "string",
- "company_tags": [
- 0
], - "emission_group_id": "ef7a14a6-1ee3-4503-ac94-be1176c08cf0",
- "transaction": 0,
- "total_volume": 0.1,
- "volume": 0.1,
- "volume_unit": "string",
- "journal": "string",
- "title": "string",
- "description": "string",
- "vendor_name": "string",
- "accounting_date": "2019-08-24T14:15:22Z",
- "accounting_end_date": "2019-08-24T14:15:22Z",
- "transaction_is_visible": true,
- "transaction_data": null,
- "transaction_id": 0,
- "is_activity_based_emission": true,
- "activity_data": null,
- "emission_factor": 0,
- "emission_unit": 0,
- "emission_unit_name": "string",
- "emission_factor_data": null,
- "classification_category": 0,
- "classification_category_name": "string",
- "sub_category": 0,
- "sub_category_name": "string",
- "category": 0,
- "category_name": "string",
- "ghg_category": 0,
- "ghg_category_name": "string",
- "scope": "1",
- "is_tag_along": true,
- "main_emission": 0,
- "created_by": 0,
- "classification_source": "auto",
- "confidence": 0.1,
- "confidence_threshold": 0.1,
- "confidence_status": "confident",
- "co2_kg": 0.1,
- "flags": null,
- "controlled_by_identifier": "string",
- "deleted_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}Downloads all matching emission records as a streaming CSV file. Includes emission factor details and company tags. Accepts the same filters as the emissions list endpoint (accounting_date__gte/lte, scope, category, search, ordering).
| accounting_date | string <date-time> |
| accounting_date__gte | string <date-time> |
| accounting_date__lte | string <date-time> |
| category_id | integer or null |
| classification_category_id | integer or null |
| classification_category_name | string |
| classification_category_name__icontains | string |
| classification_category_name__iendswith | string |
| classification_category_name__istartswith | string |
| co2_kg | number <float> |
| co2_kg__gt | number <float> |
| co2_kg__gte | number <float> |
| co2_kg__lt | number <float> |
| co2_kg__lte | number <float> |
| company_tags | Array of strings |
| confidence_status | string or null Enum: "confident" "needs_attention"
|
| controlled_by_identifier | string |
| controlled_by_identifier__icontains | string |
| controlled_by_identifier__iendswith | string |
| controlled_by_identifier__isnull | boolean |
| controlled_by_identifier__istartswith | string |
| description | string |
| description__icontains | string |
| description__iendswith | string |
| description__isnull | boolean |
| description__istartswith | string |
| flags_key_value | string Filter by key-value pair in flags field. Format: 'key:value'. Example: 'status:pending' |
| ghg_category_id | integer or null |
| id | integer |
| id__in | Array of integers Multiple values may be separated by commas. |
| is_activity_based_emission | boolean |
| is_tag_along | boolean |
| journal | string |
| journal__icontains | string |
| journal__iendswith | string |
| journal__isnull | boolean |
| journal__istartswith | string |
| ordering | string Which field to use when ordering the results. |
| scope | Array of strings Items Enum: "1" "2" "3" "Excluded" "Offset"
|
| search | string A search term. |
| sub_category_id | integer or null |
| title | string |
| title__icontains | string |
| title__iendswith | string |
| title__istartswith | string |
| vendor_name | string |
| vendor_name__icontains | string |
| vendor_name__iendswith | string |
| vendor_name__isnull | boolean |
| vendor_name__istartswith | string |
[- {
- "accounting_date": "2019-08-24T14:15:22Z",
- "journal": "string",
- "title": "string",
- "vendor_name": "string",
- "description": "string",
- "company_tags_names": "string",
- "volume": 0.1,
- "volume_unit": "string",
- "co2_kg": 0.1,
- "scope": "1",
- "ghg_category_name": "string",
- "category_name": "string",
- "ef_title": "string",
- "ef_description": "string",
- "ef_multiplier": "string",
- "emission_unit_name": "string",
- "ef_source": "string",
- "ef_year": "string",
- "is_activity_based_emission": true,
- "is_tag_along": true,
- "transaction": 0
}
]Accepts multiple independent classification operations. Each operation specifies either emission_filters or transaction_filters (using Django FilterSet lookup syntax) plus classification data. To create a single activity-based emission, provide activity_data and omit both filter fields.
Returns 202 Accepted with per-operation results including count of matched records.
required | Array of objects (BulkEmissionClassificationOperationRequest) | ||||||||||||||
Array
| |||||||||||||||
{- "operations": [
- {
- "emission_filters": {
- "id": 0.1,
- "id__in": "string",
- "journal": "string",
- "journal__icontains": "string",
- "journal__istartswith": "string",
- "journal__iendswith": "string",
- "journal__isnull": true,
- "title": "string",
- "title__icontains": "string",
- "title__istartswith": "string",
- "title__iendswith": "string",
- "description": "string",
- "description__icontains": "string",
- "description__istartswith": "string",
- "description__iendswith": "string",
- "description__isnull": true,
- "vendor_name": "string",
- "vendor_name__icontains": "string",
- "vendor_name__istartswith": "string",
- "vendor_name__iendswith": "string",
- "vendor_name__isnull": true,
- "accounting_date": "2019-08-24T14:15:22Z",
- "accounting_date__gte": "2019-08-24T14:15:22Z",
- "accounting_date__lte": "2019-08-24T14:15:22Z",
- "is_activity_based_emission": true,
- "classification_category_id": "string",
- "classification_category_name": "string",
- "classification_category_name__icontains": "string",
- "classification_category_name__istartswith": "string",
- "classification_category_name__iendswith": "string",
- "sub_category_id": "string",
- "category_id": "string",
- "ghg_category_id": "string",
- "is_tag_along": true,
- "confidence_status": "string",
- "co2_kg": 0.1,
- "co2_kg__gt": 0.1,
- "co2_kg__lt": 0.1,
- "co2_kg__gte": 0.1,
- "co2_kg__lte": 0.1,
- "controlled_by_identifier": "string",
- "controlled_by_identifier__icontains": "string",
- "controlled_by_identifier__istartswith": "string",
- "controlled_by_identifier__iendswith": "string",
- "controlled_by_identifier__isnull": true,
- "scope": [
- "string"
], - "company_tags": [
- 0
], - "flags_key_value": "string"
}, - "transaction_filters": {
- "id": 0.1,
- "id__in": "string",
- "vendor_name": "string",
- "vendor_name__icontains": "string",
- "vendor_name__istartswith": "string",
- "vendor_name__iendswith": "string",
- "vendor_name__isnull": true,
- "ledger": "string",
- "ledger__icontains": "string",
- "ledger__istartswith": "string",
- "ledger__iendswith": "string",
- "journal": "string",
- "journal__icontains": "string",
- "journal__istartswith": "string",
- "journal__iendswith": "string",
- "journal__isnull": true,
- "description": "string",
- "description__icontains": "string",
- "description__istartswith": "string",
- "description__iendswith": "string",
- "description__isnull": true,
- "source": "string",
- "integration_id": "string",
- "integration__name": "string",
- "integration__name__icontains": "string",
- "integration__name__istartswith": "string",
- "integration__name__iendswith": "string",
- "date": "2019-08-24T14:15:22Z",
- "date__gte": "2019-08-24T14:15:22Z",
- "date__lte": "2019-08-24T14:15:22Z",
- "net_amount": 0.1,
- "net_amount__gt": 0.1,
- "net_amount__lt": 0.1,
- "net_amount__gte": 0.1,
- "net_amount__lte": 0.1,
- "tags": [
- 0
], - "confidence_status": "string",
- "classified": true
}, - "emission_factor_id": 0,
- "classification_category_id": 0,
- "ghg_category_id": 0,
- "is_activity_based_emission": true,
- "activity_data": {
- "date": "string",
- "volume": 0.1,
- "volume_unit": "string",
- "title": "string",
- "end_date": "string",
- "journal": "string",
- "description": "string",
- "vendor_name": "string"
}
}
]
}{- "results": [
- {
- "index": 0,
- "count": 0,
- "status": "string",
- "error": "string"
}
]
}Returns a paginated list of emission factors available to the authenticated company. Emission factors define the CO2e multiplier for a given spend or activity type. Use the 'search' parameter to search by title, description, or slug. Filter with query parameters:
| category | integer |
| classification_category | integer |
| classification_category__in | Array of integers Multiple values may be separated by commas. |
| company | integer |
| company__isnull | boolean |
| is_activity_based | boolean |
| kg_co2e_multiplier_unit | integer |
| kg_co2e_multiplier_unit__in | Array of integers Multiple values may be separated by commas. |
| limit | integer Number of results to return per page. |
| offset | integer The initial index from which to return the results. |
| ordering | Array of strings Items Enum: "-category" "-kg_co2e_multiplier" "-region" "-slug" "-sub_category" "-title" "-year" "category" "kg_co2e_multiplier" "region" "slug" "sub_category" "title" "year" Ordering
|
| region | string |
| region__in | Array of strings Multiple values may be separated by commas. |
| search | string A search term. |
| slug__icontains | string |
| source__icontains | string |
| sub_category | integer |
| sub_category__in | Array of integers Multiple values may be separated by commas. |
| sub_category__parent | integer |
| sub_category__parent__in | Array of integers Multiple values may be separated by commas. |
| title__icontains | string |
| year | string |
| year__in | Array of strings Multiple values may be separated by commas. |
{- "count": 123,
- "results": [
- {
- "id": 0,
- "slug": "string",
- "description": "string",
- "title": "string",
- "category": {
- "id": 0,
- "slug": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "parent": {
- "id": 0,
- "slug": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "parent": 0,
- "category": 0,
- "manual_inputs": [
- {
- "id": 0,
- "label": "string",
- "unit": "string",
- "order": 1,
- "type": "dropdown"
}
]
}, - "category": 0,
- "manual_inputs": [
- {
- "id": 0,
- "label": "string",
- "unit": "string",
- "order": 1,
- "type": "dropdown"
}
]
}, - "classification_category": {
- "id": 0,
- "slug": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "parent": {
- "id": 0,
- "slug": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "parent": 0,
- "category": 0,
- "manual_inputs": [
- {
- "id": 0,
- "label": "string",
- "unit": "string",
- "order": 1,
- "type": "dropdown"
}
]
}, - "category": 0,
- "manual_inputs": [
- {
- "id": 0,
- "label": "string",
- "unit": "string",
- "order": 1,
- "type": "dropdown"
}
]
}, - "company": 0,
- "kg_co2e_multiplier": 0.1,
- "kg_co2e_multiplier_unit": {
- "property1": null,
- "property2": null
}, - "region": "string",
- "is_activity_based": true,
- "is_required_transactions_input_classifier": true,
- "year": "string",
- "source": "string",
- "deleted_at": "2019-08-24T14:15:22Z"
}
]
}Returns the full details of a single emission factor by its ID. Includes the CO2e multiplier value and unit, emission category, classification category, company, region, year, source, and whether it is activity-based.
| id required | integer A unique integer value identifying this Emission Factor. |
{- "id": 0,
- "slug": "string",
- "description": "string",
- "title": "string",
- "category": {
- "id": 0,
- "slug": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "parent": {
- "id": 0,
- "slug": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "parent": 0,
- "category": 0,
- "manual_inputs": [
- {
- "id": 0,
- "label": "string",
- "unit": "string",
- "order": 1,
- "type": "dropdown"
}
]
}, - "category": 0,
- "manual_inputs": [
- {
- "id": 0,
- "label": "string",
- "unit": "string",
- "order": 1,
- "type": "dropdown"
}
]
}, - "classification_category": {
- "id": 0,
- "slug": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "parent": {
- "id": 0,
- "slug": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "parent": 0,
- "category": 0,
- "manual_inputs": [
- {
- "id": 0,
- "label": "string",
- "unit": "string",
- "order": 1,
- "type": "dropdown"
}
]
}, - "category": 0,
- "manual_inputs": [
- {
- "id": 0,
- "label": "string",
- "unit": "string",
- "order": 1,
- "type": "dropdown"
}
]
}, - "company": 0,
- "kg_co2e_multiplier": 0.1,
- "kg_co2e_multiplier_unit": {
- "property1": null,
- "property2": null
}, - "region": "string",
- "is_activity_based": true,
- "is_required_transactions_input_classifier": true,
- "year": "string",
- "source": "string",
- "deleted_at": "2019-08-24T14:15:22Z"
}Returns a paginated list of emission factor categories organized in a 3-level hierarchy: top-level scope → sub-category → classification category. Use 'search' to search by title, description, or slug. Filter with query parameters:
| ghg_categories | Array of integers |
| ghg_categories__in | Array of integers Multiple values may be separated by commas. |
| is_classification_category | boolean |
| is_tag_along | boolean |
| limit | integer Number of results to return per page. |
| mandatory | boolean |
| offset | integer The initial index from which to return the results. |
| ordering | string Which field to use when ordering the results. |
| parent | integer |
| parent__in | Array of integers Multiple values may be separated by commas. |
| parent__isnull | boolean |
| requires_manual_input | boolean |
| search | string A search term. |
| slug__icontains | string |
| title__icontains | string |
{- "count": 123,
- "results": [
- {
- "id": 0,
- "slug": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "parent": {
- "id": 0,
- "slug": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "parent": 0,
- "category": 0,
- "manual_inputs": [
- {
- "id": 0,
- "label": "string",
- "unit": "string",
- "order": 1,
- "type": "dropdown"
}
]
}, - "category": 0,
- "manual_inputs": [
- {
- "id": 0,
- "label": "string",
- "unit": "string",
- "order": 1,
- "type": "dropdown"
}
]
}
]
}Performs a fuzzy full-text search on emission factor categories using trigram similarity. This is the recommended endpoint for finding the right category when classifying an emission. Parameters:
| ghg_categories | Array of integers |
| ghg_categories__in | Array of integers Multiple values may be separated by commas. |
| is_classification_category | boolean |
| is_tag_along | boolean |
| limit | integer Number of results to return per page. |
| mandatory | boolean |
| offset | integer The initial index from which to return the results. |
| ordering | string Which field to use when ordering the results. |
| parent | integer |
| parent__in | Array of integers Multiple values may be separated by commas. |
| parent__isnull | boolean |
| requires_manual_input | boolean |
| search | string Fuzzy title search |
| slug__icontains | string |
| title__icontains | string |
| type | string Enum: "activity_based" "both" "spend_based" Category type (default: spend_based)
|
{- "count": 123,
- "results": [
- {
- "id": 0,
- "title": "string",
- "description": "string",
- "slug": "string",
- "parent": {
- "id": 0,
- "title": "string",
- "description": "string",
- "slug": "string",
- "color": "string",
- "parent": {
- "id": 0,
- "title": "string",
- "description": "string",
- "slug": "string",
- "color": "string"
}
}, - "parent_id": 0,
- "color": "string",
- "is_classification_category": true,
- "ghg_mappings": [
- {
- "greenhouse_gas_category": {
- "id": 0,
- "title": "string",
- "scope": "1",
- "slug": "string",
- "color": "string"
}
}
]
}
]
}Returns the full details of a single emission factor category by its ID, including its parent category, color, icon, and type flags.
| id required | integer A unique integer value identifying this Emission Factor Category. |
{- "id": 0,
- "title": "string",
- "description": "string",
- "slug": "string",
- "parent": {
- "id": 0,
- "title": "string",
- "description": "string",
- "slug": "string",
- "color": "string",
- "parent": {
- "id": 0,
- "title": "string",
- "description": "string",
- "slug": "string",
- "color": "string"
}
}, - "parent_id": 0,
- "color": "string",
- "is_classification_category": true,
- "ghg_mappings": [
- {
- "greenhouse_gas_category": {
- "id": 0,
- "title": "string",
- "scope": "1",
- "slug": "string",
- "color": "string"
}
}
]
}Returns a paginated list of GHG categories used to classify emission factor categories under the GHG Protocol scopes. Use 'search' to search by title. Filter with query parameters:
| category_number | integer |
| category_number__isnull | boolean |
| emission_direction | string or null Enum: "downstream" "upstream"
|
| emission_direction__in | Array of strings Multiple values may be separated by commas. |
| limit | integer Number of results to return per page. |
| offset | integer The initial index from which to return the results. |
| scope | string Enum: "1" "2" "3" "Excluded" "Offset"
|
| scope__in | Array of strings Multiple values may be separated by commas. |
| search | string A search term. |
{- "count": 123,
- "results": [
- {
- "id": 0,
- "slug": "string",
- "title": "string",
- "scope": "1",
- "category_number": 32767,
- "emission_direction": "upstream"
}
]
}