EvoHub DocsEvoHub Docs Sign in

Change a tier

Use with AI
View as MarkdownThis page as plain text, for pasting into an AI tool Open in ClaudeAsk Claude questions about this page Open in ChatGPTAsk ChatGPT questions about this page
Connect to Cursor / VS Code / ClaudeSearch and read these docs from your AI tool (MCP server)

MCP server URL

https://docs.evohub.io/mcp

Claude Code

claude mcp add --transport http evohub-docs https://docs.evohub.io/mcp

Claude (claude.ai and Claude Desktop): Settings → Connectors → Add custom connector, and paste the URL above.

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "evohub-docs": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://docs.evohub.io/mcp"
      ]
    }
  }
}

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "evohub-docs": {
      "url": "https://docs.evohub.io/mcp"
    }
  }
}

VS Code — .vscode/mcp.json

{
  "servers": {
    "evohub-docs": {
      "type": "http",
      "url": "https://docs.evohub.io/mcp"
    }
  }
}
PATCH/api/v1/catalog/tiers/{id}

Changes only the fields sent. A change to the name, description or targets makes a new version of the tier, kept so a past month's SLA report reads the targets that applied then; a colour change does not.

Requires the catalog:component:write scope.

Authorization

Any one of:

Parameters

Path parameters

  • id string required
    The tier's ID.
    Example: tir_1f3a5c7e9b2d4f6a8c0e1b3d5f7a9c2e

Request body required

Content type: application/json

Type: TierRequest

  • name string
    Max length: 60
  • description string
    Max length: 1000
  • color string
    Empty, or a hex colour such as #d97706.
  • targets SLATargets
    Show SLATargets properties
    • availability number
      A percentage above 0 and at most 100, up to 3 decimals.
      Example: 99.9
    • response object
      Minutes to acknowledge, per On-Call severity (critical, high, medium, low, info), 1 to 525600.
      Other keys: integer
    • resolution object
      Minutes to resolve, per severity.
      Other keys: integer
    • support_hours object
      • kind string required
        One of: 24x7 business
      • timezone string
        Example: Europe/Istanbul
      • days array of integer
        ISO weekdays, 1 is Monday.
      • from string
        Example: 09:00
      • to string
        Example: 18:00
    • max_unowned_days integer
      Minimum: 0 · Maximum: 3650

Responses

200

The tier.

Content type: application/json

Type: object

  • data Tier
    Show Tier properties
    • id string
    • name string
      Example: Tier 1
    • description string
    • rank integer
      Its place in the order, 1 the most critical.
    • color string
      Example: #d97706
    • targets SLATargets
      Show SLATargets properties
      • availability number
        A percentage above 0 and at most 100, up to 3 decimals.
        Example: 99.9
      • response object
        Minutes to acknowledge, per On-Call severity (critical, high, medium, low, info), 1 to 525600.
        Other keys: integer
      • resolution object
        Minutes to resolve, per severity.
        Other keys: integer
      • support_hours object
        • kind string required
          One of: 24x7 business
        • timezone string
          Example: Europe/Istanbul
        • days array of integer
          ISO weekdays, 1 is Monday.
        • from string
          Example: 09:00
        • to string
          Example: 18:00
      • max_unowned_days integer
        Minimum: 0 · Maximum: 3650
    • version integer
    • archived_at string (date-time) | null
    • services integer
      How many services are in it.
    • created_at string (date-time)
    • updated_at string (date-time)

400

The request is not valid: a field or filter value is wrong (VALIDATION_ERROR, with a sentence saying what), the body is not the expected JSON or carries an unknown field (INVALID_BODY), the cursor is not one this list gave (INVALID_CURSOR), a binding names a service that does not exist (UNKNOWN_COMPONENT), or a PATCH tries to change a slug (SLUG_IMMUTABLE).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: not found
    • request_id string

401

No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: not found
    • request_id string

403

The key lacks a scope this endpoint needs (FORBIDDEN).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: not found
    • request_id string

404

Nothing with this ID (or slug) exists in the organization (NOT_FOUND).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: not found
    • request_id string

409

Another tier already has this name (TIER_NAME_TAKEN).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: not found
    • request_id string

429

Too many requests (RATE_LIMITED). Wait for Retry-After seconds.

Headers

  • Retry-After integer
    Seconds to wait before retrying.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: not found
    • request_id string

500

Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: not found
    • request_id string

Example request

curl -X PATCH 'https://evohub.io/api/v1/catalog/tiers/tir_1f3a5c7e9b2d4f6a8c0e1b3d5f7a9c2e' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <TOKEN>' \
  -d '{
  "targets": {
    "availability": 99.95
  }
}'