EvoHub DocsEvoHub Docs Sign in

Get an application

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/applications/{id}

An application and its member resources, the gone ones last. For a key that also holds catalog:component:read, proposals lists the match proposals waiting on it.

Requires the catalog:resource:read scope.

Authorization

Any one of:

Parameters

Path parameters

  • id string required
    The application's ID.
    Example: app_9c1e3a5b7d9f2b4d6f8a0c2e4b6d8f1a

Responses

200

The application.

Content type: application/json

Type: object

  • data ApplicationDetail
    Show ApplicationDetail 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)
    • 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_truncated boolean
    • proposals array of Match
      Only with catalog:component:read.
      Show Match properties
      • id string
      • resource_id string | null
      • application_id string | null
      • component_id string | null
        The service proposed, when it exists.
      • proposed_slug string | null
        A slug nobody declared yet; accepting creates that service.
      • reason string
        Which rule proposed it.
      • confidence number
      • status string
        One of: proposed accepted rejected
      • decided_by string | null
      • decided_at string (date-time) | null
      • created_at string (date-time)
      • resource object | null
        • environment_id string
        • provider string
        • kind string
        • name string
        • namespace string
        • status string
      • application object | null
        • environment_id string
        • namespace string
        • name string
        • key_source string
        • owner_hint string | null
      • component object | null
        • slug string
        • display_name 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

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