TCO Optimizer HTTP API
This tutorial demonstrates using our TCO Optimizer HTTP API to define, query, and manage your TCO policy overrides, which are used exclusively for logs.
Visit this page to learn how to use our TCO Tracing gPRC API to define, query, and manage your TCO policy criteria, used both for spans and logs.
Base URL
Select the base API endpoint associated with your Coralogix domain.
Domain | Base API endpoint |
---|---|
coralogix.us (Ohio) | https://api.coralogix.us/api/v1/external/tco/ |
cx498.coralogix.com (Oregon) | https://api.cx498.coralogix.com/api/v1/external/tco/ |
coralogix.com (Ireland) | https://api.coralogix.com/api/v1/external/tco/ |
eu2.coralogix.com (Stockholm) | https://api.eu2.coralogix.com/api/v1/external/tco/ |
coralogix.in (Mumbai) | https://api.app.coralogix.in/api/v1/external/tco/ |
coralogixsg.com (Singapore) | https://api.app.coralogix.com/api/v1/external/tco/ |
Header
Key | Value |
---|---|
Content-Type | application/json |
Authorization | Bearer <cx_api_key> |
API key
To use the TCO Optimizer API you need to create a personal or team API key. It’s recommended to use permission presets, as they are automatically updated with all relevant permissions. Alternatively, you can manually add individual permissions.
Preset | Action | Description |
---|---|---|
TCOPolicies | LOGS.TCO:READPOLICIES LOGS.TCO:UPDATEPOLICIES SPANS.TCO:READPOLICIES SPANS.TCO:UPDATEPOLICIES METRICS.TCO:READPOLICIES METRICS.TCO:UPDATEPOLICIES |
View Logs TCO Policies Manage Logs TCO Policies View Tracing TCO Policies Manage Tracing TCO Policies View Metrics TCO Policies Manage Metrics TCO Policies |
Usage
Severity options
Name | Value |
---|---|
debug | 1 |
verbose | 2 |
info | 3 |
warning | 4 |
error | 5 |
critical | 6 |
Priority options
Name | Value |
---|---|
block | block |
low | low |
medium | medium |
high | high |
TCO override
Configuring a TCO override replaces the TCO policy for the specified application-subsystem-severity combination, including any associated Archive Retention Tags. In these cases, the Archive Retention Tag is overridden and reverts to the default
tag.
Impact
This behavior directly impacts S3 lifecycle policies that depend on retention tags. If the tag is overridden to the default
, lifecycle policies associated with specific tags, like 'Revenue,' may not be applied as intended, potentially resulting in unintended data deletion.
Prevention
If you manage S3 Lifecycle Policies based on Archive Retention Tags, review and adjust overrides to prevent unintended data deletion.
Example
-
TCO override is not in use: Retention Tag =
revenue
, Lifecycle Policy transitions data to Glacier after 30 days and deletes it from Glacier after 1 year. -
TCO override is in use: Retention Tag =
default
, Lifecycle Policy expires data after 60 days (if set todefault
).
Supported endpoints
Get all policy overrides
GET /overrides
Route example: https://api.coralogix.com/api/v1/external/tco/overrides
Response example:
[
{
"id": "dd361b69-89c7-11ec-a5ad-0616c20b31c7",
"name": "default|recommendationservice|INFO",
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "recommendationservice"
},
{
"id": "61d551af-8f96-11ec-8bfb-02dd69f0920d",
"name": "default|checkoutservice|DEBUG",
"priority": "high",
"severity": 1,
"applicationName": "default",
"subsystemName": "checkoutservice"
}
]
Get single policy override by ID
GET /overrides/{id}
Route example: https://api.coralogix.com/api/v1/external/tco/overrides/*972f6b98-343c-11ee-ac29-061115d0c307*
Response example:
{
"id": "dd361b69-89c7-11ec-a5ad-0616c20b31c7",
"name": "default|recommendationservice|INFO",
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "recommendationservice"
}
Create single policy override
POST /overrides
Route example: https://api.coralogix.com/api/v1/external/tco/overrides
Request example:
{
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "blablabla123"
}
Response example:
{
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "blablabla123",
"id": "972f6b98-343c-11ee-ac29-061115d0c307"
}
Create multiple policy overrides
POST /overrides/bulk
Route example: https://api.coralogix.com/api/v1/external/tco/overrides/bulk
Request example:
[
{
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "blablabla1234"
},
{
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "blablabla12345"
}
]
Response example:
[
{
"status": 200,
"override": {
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "blablabla1234",
"id": "2c42a7aa-343d-11ee-ac29-061115d0c307"
}
},
{
"status": 200,
"override": {
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "blablabla12345",
"id": "2c53d05f-343d-11ee-ac29-061115d0c307"
}
}
]
Update multiple policy overrides
PUT /overrides/bulk
Route example: https://api.coralogix.com/api/v1/external/tco/overrides/bulk
Request example:
[
{
"id": "2c42a7aa-343d-11ee-ac29-061115d0c307",
"name": "default|blablabla1234|INFO",
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "blablabla1234"
},
{
"id": "2c53d05f-343d-11ee-ac29-061115d0c307",
"name": "default|blablabla12345|INFO",
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "blablabla12345"
}
]
Response example:
[
{
"status": 200,
"override": {
"name": "default|blablabla1234|INFO",
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "blablabla1234",
"id": "2c42a7aa-343d-11ee-ac29-061115d0c307"
}
},
{
"status": 200,
"override": {
"name": "default|blablabla12345|INFO",
"priority": "high",
"severity": 3,
"applicationName": "default",
"subsystemName": "blablabla12345",
"id": "2c53d05f-343d-11ee-ac29-061115d0c307"
}
}
]
Delete single policy override
DELETE /overrides/{id}
Route example: https://api.coralogix.com/api/v1/external/tco/overrides/2c53d05f-343d-11ee-ac29-061115d0c307
Response example:
Delete multiple policy overrides
DELETE /overrides/bulk
Route example: https://api.coralogix.com/api/v1/external/tco/overrides/bulk
Request example:
Response example:
Additional resources
Documentation | TCO Optimizer TCO Tracing gPRC API |
Support
Need help?
Our world-class customer success team is available 24/7 to walk you through your setup and answer any questions that may come up.
Feel free to reach out to us via our in-app chat or by sending us an email at [email protected].