Nobl9 SLO Status API 1.0 (1.0.0)
This API (v1) is deprecated and will be sunset on Fri, 30 Jan 2026 12:00:00 GMT.
Please migrate to the SLO Status API v2 as soon as possible.
When migrating from SLO Status API v1 to v2, note the following key changes:
-
Endpoint paths:
- v1:
/api/v1/slos
and/api/v1/slos/{sloName}
- v2:
/api/v2/slos
and/api/v2/slos/{sloName}
- v1:
-
Field structure updates:
In v2, theproject
andservice
fields are now returned as objects, not strings.
v1 example:
v2 example:"project": "sample-project"
"project": { "name": "sample-project", "displayName": "Sample project", "labels": { "team": ["platform"] } }
-
Schema validation:
Update any integration code or parsing logic to handle the nested object structure forproject
andservice
fields. -
Authentication and rate limits:
Remain unchanged in v2.
Review your integrations for field structure dependencies and test requests against the v2 endpoints before the v1 sunset date.
Generate access token
To generate access token, you must provide Authorization header with the Basic
scheme.
The access token consists of your Client ID and Client Secret in the following format: clientId:clientSecret
.
Rate Limits for access token
All requests to the endpoint /api/accessToken
are rate limited. An organization can make 1 request per 3 seconds.
The API returns the 429 HTTP
status code when this limit is exceeded.
Your token will be valid for 1 hour. Minimize the usage of this endpoint and reuse the token until it expires.
We recommend downloading your token once and reusing it in your CI/CD pipeline. Generating multiple tokens may exceed your rate limits.
Authorizations:
header Parameters
Organization required | string ID of your organization. |
Responses
Request samples
- cURL
curl -X \ POST https://app.nobl9.com/api/accessToken -H 'Accept: application/json; version=v1alpha' \ -H 'Organization: your-organization-id' \ -H 'Authorization: Basic ${encoded_access_keys}'
Response samples
- 200
{- "access_token": "string"
}
List SLOs
Return a SLO list for a specific organization
Authorizations:
query Parameters
limit | integer Specifies the number of returned results (maximum of 500 items). |
cursor | string Specifies the pagination cursor for the next page of results. You can get it through the |
header Parameters
Organization required | string ID of your organization. |
Responses
Response samples
- 200
{- "data": [
- {
- "name": "sample-latency-slo",
- "displayName": "Sample latency SLO",
- "description": "This is a sample latency SLO",
- "project": "sample-project",
- "service": "sample-service",
- "objectives": [
- {
- "name": "objective-1",
- "displayName": "Good",
- "target": 0.5,
- "burnRate": 0,
- "errorBudgetRemaining": 14397.305873435587,
- "errorBudgetRemainingPercentage": 0.5951267308794467,
- "reliability": 0.1888888888888888,
- "sliType": "Threshold",
- "counts": {
- "total": 59,
- "good": 1
}
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "composite": {
- "target": 0.9,
- "burnRate": 0,
- "errorBudgetRemaining": 14397.305873435587,
- "errorBudgetRemainingPercentage": 0.5951267308794467,
- "reliability": 0.1888888888888888,
- "burnRateCondition": {
- "value": 0.1,
- "operator": "gt"
}
}, - "labels": {
- "type": [
- "service"
], - "team": [
- "foundations",
- "io"
]
}, - "annotations": {
- "internal": "true",
- "registry": "docker.io"
}, - "budgetingMethod": "Occurrences"
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Find SLO by name
Returns a single SLO
Authorizations:
path Parameters
sloName required | string <= 63 characters Name of the SLO to return. |
query Parameters
fields | string Example: fields=counts Use to request for additional metrics, such as aggregated good and total counts. |
from | string <date-time> Example: from=2024-01-25T23:00:00Z Specifies the start date and time for the data range (in UTC). Required when using the |
to | string <date-time> Example: to=2024-01-25T23:59:00Z Specifies the end date and time for the data range (in UTC). Required when using the |
header Parameters
Organization required | string ID of your organization. |
project required | string Filters results by a specific project. |
Responses
Response samples
- 200
{- "name": "sample-latency-slo",
- "displayName": "Sample latency SLO",
- "description": "This is a sample latency SLO",
- "project": "sample-project",
- "service": "sample-service",
- "objectives": [
- {
- "name": "objective-1",
- "displayName": "Good",
- "target": 0.5,
- "burnRate": 0,
- "errorBudgetRemaining": 14397.305873435587,
- "errorBudgetRemainingPercentage": 0.5951267308794467,
- "reliability": 0.1888888888888888,
- "sliType": "Threshold",
- "counts": {
- "total": 59,
- "good": 1
}
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "composite": {
- "target": 0.9,
- "burnRate": 0,
- "errorBudgetRemaining": 14397.305873435587,
- "errorBudgetRemainingPercentage": 0.5951267308794467,
- "reliability": 0.1888888888888888,
- "burnRateCondition": {
- "value": 0.1,
- "operator": "gt"
}
}, - "labels": {
- "type": [
- "service"
], - "team": [
- "foundations",
- "io"
]
}, - "annotations": {
- "internal": "true",
- "registry": "docker.io"
}, - "budgetingMethod": "Occurrences"
}