EvoHub DocsEvoHub Docs Sign in

Get a service

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"
    }
  }
}
GET/api/v1/catalog/components/{ref}

One service with its sla (its tier, its own overrides and the targets that result) and its responsibilities. For a key that also holds catalog:resource:read, observations adds its resource counts by status, the first page of its resources and the edges with it at either end.

Requires the catalog:component:read scope.

Authorization

Any one of:

Parameters

Path parameters

  • ref string required
    The service's ID (cmp_…) or its slug.
    Example: payments-api

Responses

200

The service.

Content type: application/json

Type: object

  • data ComponentDetail
    Show ComponentDetail properties
    • id string
      Example: cmp_7a1d3f5b9c2e4a6b8d0f1e3c5a7b9d2f
    • org_id string
    • slug string
      Example: payments-api
    • display_name string
      Example: Payments API
    • description string
    • kind ComponentKind
      One of: service library database website job other
    • owner_team_id string | null
    • tier_id string | null
    • tier integer | null
      The tier's place in the order, 1 the most critical.
    • sla_overrides 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
    • lifecycle Lifecycle
      One of: experimental production deprecated retired
    • repo_url string
    • docs_url string
    • runbook_url string
    • created_by string
    • created_at string (date-time)
    • updated_at string (date-time)
    • sla object
      • tier Tier | null

        One of:

        • 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)
        • null
      • overrides 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
      • 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
    • responsibilities array of Responsibility
      Show Responsibility properties
      • role string required
        One of: responsible accountable consulted informed
      • team_id string | null
      • user_id string | null
    • observations object
      Only with catalog:resource:read.
      • resource_counts object
        Other keys: integer
      • resources array of Resource
        Show Resource properties
        • id string
          Example: res_6b8d0f2a4c6e8a1c3e5b7d9f1a3c5e7b
        • environment_id string
        • source_id string
        • external_id string
          Example: k8s://5f0c2a7e-…/apps/v1/Deployment/payments/payments-api
        • provider string
          Example: k8s
        • kind string
          Example: Deployment
        • name string
          Example: payments-api
        • namespace string
          Example: payments
        • component_id string | null
        • component_bound_by string | null
          What bound it to its service, when something did.
        • status string
          One of: live missing gone stale
        • missing_since string (date-time) | null
        • first_seen_at string (date-time)
        • last_seen_at string (date-time)
        • images array of string
      • resources_next_cursor string | null
      • edges array of Edge
        Show Edge properties
        • id string
        • from_kind string
        • from_id string
        • to_kind string
        • to_id string
        • type string
          Example: runs_on
        • source_id string
        • confidence number
        • observed_at string (date-time)
      • edges_truncated boolean

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

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 GET 'https://evohub.io/api/v1/catalog/components/payments-api' \
  -H 'Authorization: Bearer <TOKEN>'