Download OpenAPI specification:Download
Data ingestion layer: upload documents, run imports, query the RAG knowledge base, submit financial transaction data, and manage data room surveys, submissions, and answers.
IMPORTANT: Load all skills starting with data_room prior to interacting with this endpoint. Lists the surveys published to the authenticated company. Use this first to discover which surveys are available to answer before listing submissions, retrieving a submission subsection, or submitting answers. Takes no parameters. Authenticated via Coolset satellite authentication: the Coolset user is mapped to its data room user, user group and account, and surveys are scoped to that account and the company's publishable application.
| limit | integer Number of results to return per page. |
| offset | integer The initial index from which to return the results. |
| tags | Array of strings |
{- "count": 123,
- "results": [
- {
- "id": 0,
- "type": "chart",
- "title": "string",
- "display_type": "bar",
- "is_progress_visible_in_survey_overview": true,
- "tags": [
- {
- "id": 0,
- "name": "string",
- "slug": "string"
}
], - "application_survey_id": 0,
- "survey_export_data": {
- "property1": null,
- "property2": null
}
}
]
}IMPORTANT: Load all skills starting with data_room prior to interacting with this endpoint. Lists the published surveys together with the authenticated company's submissions for each. Use this to find a submission's id (and whether a submission already exists for a survey) before retrieving a subsection or creating one. Optionally filter with tags (comma-separated survey tag names) and context__contains (a JSON value matched against each submission's context). Authenticated via Coolset satellite authentication; submissions are scoped to the company's data room user group.
| context__contains | string |
| limit | integer Number of results to return per page. |
| offset | integer The initial index from which to return the results. |
| tags | string |
{- "count": 123,
- "results": [
- {
- "id": 0,
- "version": 0,
- "is_active_version": true,
- "survey_id": 0,
- "survey_export_data": null,
- "survey_submissions": [
- {
- "property1": null,
- "property2": null
}
]
}
]
}IMPORTANT: Load all skills starting with data_room prior to interacting with this endpoint. Creates a survey submission for the authenticated company from an application survey and query context — use this to start a submission for a given context (e.g. company and year) when one does not yet exist. Provide application_survey_id and query_context (a list of {context_object, context_value, precision}); the submission's context is derived from the query context. Authenticated via Coolset satellite authentication; the submission is attributed to the company's data room user and user group.
| application_survey_id required | integer |
| query_context required | any |
{- "application_survey_id": 0,
- "query_context": null
}{- "id": 0,
- "application_survey_id": 0,
- "context": null,
- "query_context": null,
- "edited_at": "2019-08-24T14:15:22Z"
}IMPORTANT: Load all skills starting with data_room prior to interacting with this endpoint. Fetches a single, scoped subsection of a survey submission for the authenticated company. A submission can be very large (up to ~3000 nested surveys), so this never returns the whole tree: the survey_id selects a survey within the submission and the optional survey_block_id narrows it further to a block subtree — fetch only the part currently on screen.
Address the subsection with the compound key survey_submission_id:survey_id[:survey_block_id] (the survey_block_id segment is optional; when omitted the survey root is used). The response includes the submission's answer/block/survey data and the survey skeleton for that subsection.
Re-fetch after writing answers: answers are submitted through the data point endpoint (create_data_point) using a field_id and a context similar to the submission's. Those writes can change visibility conditions and recompute formula fields, so the returned subsection reflects the latest evaluated state.
Authenticated via Coolset satellite authentication; the submission is scoped to the company's data room user group.
Pass agent=true to receive a compact representation that keeps the same keys/paths but omits the heavy answer/block/skeleton metadata the UI needs — much smaller for programmatic consumers.
| id required | string Compound key: survey_submission_id:survey_id[:survey_block_id] (survey_block_id is optional) |
| agent | boolean When true, return a compact payload (same keys, heavy metadata omitted) intended for programmatic/agent consumers. |
{- "id": 0,
- "version": 0,
- "is_active_version": true,
- "survey_id": 0,
- "survey_export_data": null,
- "survey_submissions": [
- {
- "property1": null,
- "property2": null
}
]
}IMPORTANT: Load all skills starting with data_room prior to interacting with this endpoint. Creates or updates a single data point (one answer) for the authenticated company, identified by field_id plus the answer context. Provide value (the answer) and optionally status; pass document_ids to attach source documents — referenced documents become on-change rules so the answer is re-evaluated when a document changes. The data point is propagated to any matching survey submissions, which triggers formulas and visibility/lock conditions that may show, hide or lock other questions or nested surveys. Re-fetch the affected survey submission subsection afterwards to see the recomputed state. Authenticated via Coolset satellite authentication; the data point is attributed to the company's data room user and user group.
required | object |
| value required | string |
| field_id required | string [ 1 .. 125 ] characters |
| status required | string (Status32aEnum) Enum: "not_started" "in_progress" "ready_for_review" "ready_for_audit" "suggested"
|
| document_ids | Array of integers |
{- "context": {
- "property1": null,
- "property2": null
}, - "value": "string",
- "field_id": "string",
- "status": "not_started",
- "document_ids": [
- 0
]
}{- "id": 0,
- "context": {
- "property1": null,
- "property2": null
}, - "value": "string",
- "field_id": "string",
- "content_type": 0,
- "object_id": 0,
- "user": 0,
- "user_group": 0,
- "updated_at": "2019-08-24T14:15:22Z",
- "value_edited_at": "2019-08-24T14:15:22Z",
- "status": "not_started",
- "status_user": 0,
- "status_edited_at": "2019-08-24T14:15:22Z",
- "pulse_params": "string"
}Returns all documents for the authenticated company, including file metadata, upload status, and associated entities.
Search (search): full-text search across name and description.
Filters:
name, name__icontainsdescription__icontainssource, source__incontent_type, content_type__inupload_statusrag_index_status, rag_index_status__in, rag_index_status__isnull (mirrors the RAG document status: active, importing, failed, deleting, deleted; null when never indexed)identifiers__identifier, identifiers__identifier__in, identifiers__identifier__containsuploaded_at, uploaded_at__gte, uploaded_at__ltecreated_at, created_at__gte, created_at__lteupdated_at, updated_at__gte, updated_at__lteOrdering (ordering): name, source, content_type, upload_status, rag_index_status, created_at, updated_at (prefix with - for descending). Default: -created_at.
| content_type | string |
| content_type__in | Array of strings Multiple values may be separated by commas. |
| created_at | string <date-time> |
| created_at__gte | string <date-time> |
| created_at__lte | string <date-time> |
| description__icontains | string |
| identifiers__identifier | string |
| identifiers__identifier__contains | string |
| identifiers__identifier__in | Array of strings Multiple values may be separated by commas. |
| limit | integer Number of results to return per page. |
| name | string |
| name__icontains | string |
| offset | integer The initial index from which to return the results. |
| ordering | string Which field to use when ordering the results. |
| rag_index_status | string Enum: "active" "deleted" "deleting" "failed" "importing"
|
| rag_index_status__in | Array of strings Multiple values may be separated by commas. |
| rag_index_status__isnull | boolean |
| search | string A search term. |
| source | string |
| source__in | Array of strings Multiple values may be separated by commas. |
| updated_at | string <date-time> |
| updated_at__gte | string <date-time> |
| updated_at__lte | string <date-time> |
| upload_status | string Enum: "completed" "failed" "pending" "uploading"
|
| uploaded_at | string <date-time> |
| uploaded_at__gte | string <date-time> |
| uploaded_at__lte | string <date-time> |
{- "count": 123,
- "results": [
- {
- "id": 0,
- "name": "string",
- "description": "string",
- "source": "string",
- "file_path": "string",
- "file_size": 0,
- "content_type": "string",
- "upload_status": "pending",
- "uploaded_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "company_id": 0,
- "user_company_id": 0,
- "pulse_params": {
- "identifier": "string",
- "model_identifier": "string"
}, - "identifiers_details": [
- {
- "id": 0,
- "identifier": "string",
- "user_company_id": 0,
- "decoded_identifier": "string"
}
], - "rag_index_status": "string"
}
]
}Creates a new document record and returns a signed upload URL. After uploading the file to the signed URL, call the confirm_upload endpoint to mark the upload as complete.
| name required | string [ 1 .. 510 ] characters |
| description | string or null |
| content_type required | string Enum: "questionshorttext" "questionlongtext" "questionradiobutton" "questioncheckbox" "questionslider" "questiondate" "questionnumber" "formula" Content type used to derive file extension
|
| identifiers | Array of strings[ items non-empty ] List of identifier strings |
{- "name": "string",
- "description": "string",
- "content_type": "questionshorttext",
- "identifiers": [
- "string"
]
}{- "id": 0,
- "name": "string",
- "description": "string",
- "source": "string",
- "company_id": 0,
- "user_company_id": 0
}Returns metadata for a single document by ID (does not include file contents).
| id required | integer A unique integer value identifying this document. |
{- "id": 0,
- "name": "string",
- "description": "string",
- "source": "string",
- "file_path": "string",
- "file_size": 0,
- "content_type": "string",
- "upload_status": "pending",
- "uploaded_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "company_id": 0,
- "user_company_id": 0,
- "pulse_params": {
- "identifier": "string",
- "model_identifier": "string"
}, - "identifiers_details": [
- {
- "id": 0,
- "identifier": "string",
- "user_company_id": 0,
- "decoded_identifier": "string"
}
], - "rag_index_status": "string"
}Partially update a document's metadata fields (e.g. name, description).
| id required | integer A unique integer value identifying this document. |
| name | string [ 1 .. 510 ] characters |
| description | string or null |
{- "name": "string",
- "description": "string"
}{- "name": "string",
- "description": "string"
}Confirms that the file has been uploaded to the signed URL. Marks the document status as completed and triggers downstream processing.
| id required | integer A unique integer value identifying this document. |
| name required | string [ 1 .. 510 ] characters |
| description | string or null |
| source required | string [ 1 .. 20 ] characters |
| file_path required | string [ 1 .. 1024 ] characters GCS path: gs://bucket/path |
| content_type | string or null <= 255 characters |
| identifiers | Array of strings[ items non-empty ] List of identifier strings |
{- "name": "string",
- "description": "string",
- "source": "string",
- "file_path": "string",
- "content_type": "string",
- "identifiers": [
- "string"
]
}{- "id": 0,
- "name": "string",
- "description": "string",
- "source": "string",
- "file_path": "string",
- "file_size": 0,
- "content_type": "string",
- "upload_status": "pending",
- "uploaded_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "company_id": 0,
- "user_company_id": 0,
- "pulse_params": {
- "identifier": "string",
- "model_identifier": "string"
}, - "identifiers_details": [
- {
- "id": 0,
- "identifier": "string",
- "user_company_id": 0,
- "decoded_identifier": "string"
}
], - "rag_index_status": "string"
}Generates a time-limited signed URL for downloading the document file. Only available for documents with completed uploads.
| id required | integer A unique integer value identifying this document. |
{- "id": 0,
- "name": "string",
- "description": "string",
- "source": "string",
- "file_path": "string",
- "file_size": 0,
- "content_type": "string",
- "upload_status": "pending",
- "uploaded_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "company_id": 0,
- "user_company_id": 0,
- "pulse_params": {
- "identifier": "string",
- "model_identifier": "string"
}, - "identifiers_details": [
- {
- "id": 0,
- "identifier": "string",
- "user_company_id": 0,
- "decoded_identifier": "string"
}
], - "rag_index_status": "string"
}Returns a paginated list of financial transactions for the authenticated company. Transactions are the raw financial data that can be classified as carbon emissions. Use the 'search' parameter to search across vendor_name, ledger, and description. Filter with query parameters:
| classified | boolean |
| confidence_status | string Enum: "confident" "needs_attention"
|
| date | string <date-time> |
| date__gte | string <date-time> |
| date__lte | string <date-time> |
| description | string |
| description__icontains | string |
| description__iendswith | string |
| description__isnull | boolean |
| description__istartswith | string |
| id | integer |
| id__in | Array of integers Multiple values may be separated by commas. |
| integration__name | string |
| integration__name__icontains | string |
| integration__name__iendswith | string |
| integration__name__istartswith | string |
| integration_id | integer or null |
| journal | string |
| journal__icontains | string |
| journal__iendswith | string |
| journal__isnull | boolean |
| journal__istartswith | string |
| ledger | string |
| ledger__icontains | string |
| ledger__iendswith | string |
| ledger__istartswith | string |
| limit | integer Number of results to return per page. |
| net_amount | number <float> |
| net_amount__gt | number <float> |
| net_amount__gte | number <float> |
| net_amount__lt | number <float> |
| net_amount__lte | number <float> |
| offset | integer The initial index from which to return the results. |
| ordering | string Which field to use when ordering the results. |
| search | string A search term. |
| source | string Enum: "chift" "codat" "csv" "lune" "regreener"
|
| tags | Array of strings |
| vendor_name | string |
| vendor_name__icontains | string |
| vendor_name__iendswith | string |
| vendor_name__isnull | boolean |
| vendor_name__istartswith | string |
{- "count": 123,
- "results": [
- {
- "id": 0,
- "net_amount": 0.1,
- "currency": "string",
- "vendor_name": "string",
- "date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "ledger": "string",
- "journal": "string",
- "description": "string",
- "tags": [
- null
], - "status": "new",
- "source": "codat",
- "total_co2_kg": "string",
- "emissions": "string"
}
]
}Returns transaction rows aggregated by one or more dimensions (ledger, vendor_name, journal, source, currency). Pair with delimit_by=yearly|monthly|daily to also bucket by a truncated period date. Use this endpoint to discover unique bundles of unclassified transactions before driving bulk classification: combine classified=false with a multi-valued group_by and ordering=-count to process the largest bundles first.
| classified | boolean |
| confidence_status | string Enum: "confident" "needs_attention"
|
| date | string <date-time> |
| date__gte | string <date-time> |
| date__lte | string <date-time> |
| delimit_by | string Enum: "daily" "monthly" "yearly" Truncate transaction date into a period bucket |
| description | string |
| description__icontains | string |
| description__iendswith | string |
| description__isnull | boolean |
| description__istartswith | string |
| group_by | Array of strings Default: "ledger" Items Enum: "currency" "journal" "ledger" "source" "vendor_name" Fields to group transactions by |
| id | integer |
| id__in | Array of integers Multiple values may be separated by commas. |
| integration__name | string |
| integration__name__icontains | string |
| integration__name__iendswith | string |
| integration__name__istartswith | string |
| integration_id | integer or null |
| journal | string |
| journal__icontains | string |
| journal__iendswith | string |
| journal__isnull | boolean |
| journal__istartswith | string |
| ledger | string |
| ledger__icontains | string |
| ledger__iendswith | string |
| ledger__istartswith | string |
| limit | integer Number of results to return per page. |
| net_amount | number <float> |
| net_amount__gt | number <float> |
| net_amount__gte | number <float> |
| net_amount__lt | number <float> |
| net_amount__lte | number <float> |
| offset | integer The initial index from which to return the results. |
| ordering | string Enum: "-count" "-total_net_amount" "count" "total_net_amount" Field to order by (prefix with '-' for descending) |
| source | string Enum: "chift" "codat" "csv" "lune" "regreener"
|
| tags | Array of strings |
| vendor_name | string |
| vendor_name__icontains | string |
| vendor_name__iendswith | string |
| vendor_name__isnull | boolean |
| vendor_name__istartswith | string |
{- "count": 123,
- "results": [
- {
- "count": 0,
- "total_net_amount": 0.1,
- "period": "2019-08-24T14:15:22Z",
- "ledger": "string",
- "vendor_name": "string",
- "journal": "string",
- "source": "string",
- "currency": "string"
}
]
}Returns a paginated list of data import runs for the authenticated company, ordered by most recent first. Each run includes its status, source, and processing results.
| 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. |
| search | string A search term. |
{- "count": 123,
- "results": [
- {
- "id": 0,
- "run_id": "dded282c-8ebd-44cf-8ba5-9a234973d1ec",
- "company_id": 0,
- "results": null,
- "document": 0,
- "model_identifier": "string",
- "tags": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}Initiates a new data import run for bulk data ingestion.
| results required | any Results of the data exchange run |
| document_id required | integer Associated document ID |
| model_identifier required | string non-empty Associated model identifier |
| dry_run | boolean Default: true Whether to run the data exchange run in dry run mode |
| tags | Array of strings[ items [ 1 .. 100 ] characters ] Tags to attach to every imported row. Forwarded to the import event. |
{- "results": null,
- "document_id": 0,
- "model_identifier": "string",
- "dry_run": true,
- "tags": [
- "string"
]
}{- "results": null,
- "document_id": 0,
- "model_identifier": "string",
- "dry_run": true,
- "tags": [
- "string"
], - "id": 0,
- "run_id": "dded282c-8ebd-44cf-8ba5-9a234973d1ec",
- "company_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Returns a single data import run by ID with full processing details.
| id required | integer A unique integer value identifying this Data Exchange Run. |
{- "id": 0,
- "run_id": "dded282c-8ebd-44cf-8ba5-9a234973d1ec",
- "company_id": 0,
- "results": null,
- "document": 0,
- "model_identifier": "string",
- "tags": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Returns query logs for the authenticated company, ordered by most recent first.
Filters:
query_lookup_key — exact matchquery_lookup_key__in — comma-separated list of keysquery_lookup_key__istartswith — prefix match (case-insensitive)| limit | integer Number of results to return per page. |
| offset | integer The initial index from which to return the results. |
| query_lookup_key | string |
| query_lookup_key__in | Array of strings Multiple values may be separated by commas. |
| query_lookup_key__istartswith | string |
{- "count": 123,
- "results": [
- {
- "id": 0,
- "query_lookup_key": "string",
- "query_text": "string",
- "mode": "retrieval",
- "results_count": 2147483647,
- "response_time_ms": 2147483647,
- "success": true,
- "error_message": "string",
- "metadata": null,
- "created_at": "2019-08-24T14:15:22Z"
}
]
}Executes a retrieval or generation query against the authenticated company's corpus. Accepts query_text, mode (retrieval or generation), top_k, vector_distance_threshold, optional file_ids to scope the search by Vertex AI file name, and optional document_ids to scope the search by Document ID.
| query_text required | string [ 1 .. 5000 ] characters Natural language query |
| query_lookup_key | string or null [ 1 .. 255 ] characters Optional key for retrieving this query log later |
| mode | string Default: "retrieval" Enum: "retrieval" "generation" Query mode: retrieval_only or generation
|
| top_k | integer [ 1 .. 50 ] Default: 3 Number of chunks to retrieve |
| vector_distance_threshold | number or null <double> [ 0 .. 1 ] Similarity threshold (0-1) |
| file_ids | Array of strings or null[ items non-empty ] Optional list of Vertex AI file names to filter search |
| document_ids | Array of integers or null Optional list of Document IDs to scope the search to specific documents |
| model_name | string non-empty Default: "gemini-2.5-flash" Gemini model to use for generation mode |
{- "query_text": "string",
- "query_lookup_key": "string",
- "mode": "retrieval",
- "top_k": 3,
- "vector_distance_threshold": 1,
- "file_ids": [
- "string"
], - "document_ids": [
- 0
], - "model_name": "gemini-2.5-flash"
}{- "query_text": "string",
- "query_lookup_key": "string",
- "mode": "retrieval",
- "top_k": 3,
- "vector_distance_threshold": 1,
- "file_ids": [
- "string"
], - "document_ids": [
- 0
], - "model_name": "gemini-2.5-flash"
}