Upserts Service Levels

POST /service-levels

Upsert Service Levels

Headers

  • x-integration-id string Required

    Unique identifier of an integration

    Minimum length is 32, maximum length is 32. Format should match the following pattern: IN[A-Z0-9]+.

application/json

Body Required

Service Levels details

  • route object Required
    Hide route attributes Show route attributes object
    • method string

      HTTP method (GET, POST, PUT, DELETE, etc.)

      Values are GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, or PATCH.

    • host string(uri)

      Host name

      Minimum length is 1, maximum length is 65535.

    • port integer(int32)

      Minimum value is 1, maximum value is 65535.

    • path string(uri)

      URL path pattern

      Minimum length is 1, maximum length is 8192.

  • latency object
    Hide latency attributes Show latency attributes object
    • percentiles array[object] Required

      Latency percentiles

      Not more than 124 elements.

      Hide percentiles attributes Show percentiles attributes object
      • percentile string Required

        Percentile value (0.0% to 100.0%)

        Minimum length is 1, maximum length is 10. Format should match the following pattern: ^\d+(\.\d+)?%$.

      • breachLatency string Required

        Latency threshold (e.g., "1s", "2500ms", "20s")

        Minimum length is 1, maximum length is 10. Format should match the following pattern: ^\d+(s|m|h|d)$.

    • windowDuration string Required

      Duration string (e.g., "5m", "1h", "30s")

      Minimum length is 1, maximum length is 10. Format should match the following pattern: ^\d+(s|m|h|d)$.

  • status object
    Hide status attributes Show status attributes object
    • expected array[string(string)] Required

      List of expected HTTP status codes

      Not more than 128 elements. Values are 100, 101, 102, 103, 200, 201, 202, 203, 204, 205, 206, 207, 208, 218, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 426, 428, 429, 430, 431, 440, 444, 449, 450, 451, 460, 463, 464, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 520, 521, 522, 523, 524, 525, 526, 527, 529, 530, 540, 561, 598, or 599.

    • breachThreshold string Required

      Percentile value (0.0% to 100.0%)

      Minimum length is 1, maximum length is 10. Format should match the following pattern: ^\d+(\.\d+)?%$.

    • windowDuration string Required

      Duration string (e.g., "5m", "1h", "30s")

      Minimum length is 1, maximum length is 10. Format should match the following pattern: ^\d+(s|m|h|d)$.

  • validation object
    Hide validation attributes Show validation attributes object
    • schemaId string Required

      Minimum length is 32, maximum length is 32. Format should match the following pattern: S[A-Z0-9]+.

    • breachThreshold string Required

      Percentile value (0.0% to 100.0%)

      Minimum length is 1, maximum length is 10. Format should match the following pattern: ^\d+(\.\d+)?%$.

    • windowDuration string Required

      Duration string (e.g., "5m", "1h", "30s")

      Minimum length is 1, maximum length is 10. Format should match the following pattern: ^\d+(s|m|h|d)$.

Responses

  • 200 application/json

    Updated Service Levels

    Hide response attribute Show response attribute object
    • routeKey string(uri)

      Minimum length is 1, maximum length is 8196.

  • 201 application/json

    Created Service Levels

    Hide response attribute Show response attribute object
    • routeKey string(uri)

      Minimum length is 1, maximum length is 8196.

  • 400 application/json

    Bad request

    Hide response attributes Show response attributes object
    • code string(string) Required

      Error code

      Minimum length is 1, maximum length is 64.

    • message string(string) Required

      Human-readable error message

      Minimum length is 1, maximum length is 1024.

  • 401 application/json

    Unauthorized request

    Hide response attributes Show response attributes object
    • code string(string) Required

      Error code

      Minimum length is 1, maximum length is 64.

    • message string(string) Required

      Human-readable error message

      Minimum length is 1, maximum length is 1024.

  • 429 application/json

    Too many requests

    Hide response attributes Show response attributes object
    • code string(string) Required

      Error code

      Minimum length is 1, maximum length is 64.

    • message string(string) Required

      Human-readable error message

      Minimum length is 1, maximum length is 1024.

  • 500 application/json

    Internal server error

    Hide response attributes Show response attributes object
    • code string(string) Required

      Error code

      Minimum length is 1, maximum length is 64.

    • message string(string) Required

      Human-readable error message

      Minimum length is 1, maximum length is 1024.

POST /service-levels
curl \
 --request POST '/api/v1/service-levels' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --header "x-integration-id: IN7AB56CD456OP98BN54CAUB43211OU7" \
 --data '{"route":{"method":"GET","host":"api.example.com","port":8080,"path":"/api/users/{id}"},"latency":{"percentiles":[{"percentile":"99.9%","breachLatency":"2s"}],"windowDuration":"1h"},"status":{"expected":["200","201","204"],"breachThreshold":"99.9%","windowDuration":"1h"},"validation":{"schemaId":"S7AB56CD456OP98BN54CAUB43211OU78","breachThreshold":"99.9%","windowDuration":"1h"}}'
Request examples
# Headers
x-integration-id: IN7AB56CD456OP98BN54CAUB43211OU7

# Payload
{
  "route": {
    "method": "GET",
    "host": "api.example.com",
    "port": 8080,
    "path": "/api/users/{id}"
  },
  "latency": {
    "percentiles": [
      {
        "percentile": "99.9%",
        "breachLatency": "2s"
      }
    ],
    "windowDuration": "1h"
  },
  "status": {
    "expected": [
      "200",
      "201",
      "204"
    ],
    "breachThreshold": "99.9%",
    "windowDuration": "1h"
  },
  "validation": {
    "schemaId": "S7AB56CD456OP98BN54CAUB43211OU78",
    "breachThreshold": "99.9%",
    "windowDuration": "1h"
  }
}
Response examples (200)
{
  "routeKey": "GET:api.example.com:8080:/api/users/{id}"
}
Response examples (201)
{
  "routeKey": "GET:api.example.com:8080:/api/users/{id}"
}
Response examples (400)
{
  "code": "string",
  "message": "string"
}
Response examples (401)
{
  "code": "string",
  "message": "string"
}
Response examples (429)
{
  "code": "string",
  "message": "string"
}
Response examples (500)
{
  "code": "string",
  "message": "string"
}