EvoHub DocsEvoHub Docs Sign in

Get the service map

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/map

The applications not gone (at most 500, truncated) and the links between them: an edge that crosses from one application to another, or shares_config for two whose workloads read the same ConfigMap or Secret. declared are links people declared between services, kept apart from what was observed.

Requires the catalog:resource:read scope.

Authorization

Any one of:

Parameters

Query parameters

  • environment_id string
    Only this environment.
    Example: env_2c4e6a8b0d1f3a5c7e9b1d3f5a7c9e0b
  • namespace string

Responses

200

The map.

Content type: application/json

Type: object

  • data ServiceMap
    Show ServiceMap properties
    • applications array of Application
      Show Application properties
      • id string
      • environment_id string
      • namespace string
      • provider string
      • key_source string
        What grouped it, such as an Argo CD application or a Helm release.
      • key string
      • name string
      • component_id string | null
      • component_bound_by string | null
      • owner_hint string | null
        The team its evohub.io/team, team or owner label names.
      • status string
        One of: live missing gone
      • members integer
      • by_status object
        Other keys: integer
      • kinds object
        Other keys: integer
      • images array of string
      • health Health
        One of: healthy degraded down idle unknown
      • ready integer
      • desired integer
      • first_seen_at string (date-time)
      • last_seen_at string (date-time)
    • links array of object
      • from string
      • to string
      • type string
        Example: shares_config
      • count integer
    • declared array of object
      • from_component_id string
      • to_component_id string
      • type string
    • truncated boolean

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

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/map' \
  -H 'Authorization: Bearer <TOKEN>'