Skip to Content
We are live but in Staging 🎉

Catalog — API Reference

Package: dodil.ignite.v1 · Service: ComputeService

The catalog is a unified, browsable list of apps and models for discovery. Each entry is a CatalogItem — a shared header plus a oneof source that is either app-specific or model-specific fields. There are two list surfaces (org-scoped vs public) and one detail surface.

gRPC reaches every method at dodil.ignite.v1.ComputeService/<Method> on $IGNITE_GRPC; the HTTP gateway mirrors each one. See Conventions → Using gRPC for grpcurl setup. gRPC requests use the proto field names (snake_case); HTTP uses pbjson (camelCase). int64/uint64 are JSON strings, enums are wire-name strings; responses render camelCase.

RPCHTTPAuth
ListCatalogGET /v1/ignite/catalog/{organization_name}Bearer
ListPublicCatalogGET /v1/ignite/public/catalognone
GetPublicCatalogDetailGET /v1/ignite/public/catalog/{name}none
HealthCheckGET /v1/ignite/healthnone

ListPublicCatalog / GetPublicCatalogDetail are unauthenticated — they expose only items published to the public catalog.

Want to see what’s already there? Catalog Functions lists the prebuilt, ready-to-invoke apps Ignite ships (text/data analysis + document ingestion).

CatalogItem

The shared list shape. The oneof source discriminates app vs model and carries type-specific fields.

enum CatalogSourceType { CATALOG_SOURCE_UNSPECIFIED = 0; CATALOG_SOURCE_FUNCTION = 1; // an app CATALOG_SOURCE_MODEL = 2; } message CatalogItem { string id = 1; string name = 2; string description = 3; repeated string tags = 4; repeated string category = 5; string author = 6; string input_modality = 7; int64 created_at_ms = 8; string output_modality = 9; oneof source { AppCatalogFields app = 10; // present for apps ModelCatalogFields model = 11; // present for models } } message AppCatalogFields { string runtime = 1; bool mcp_enabled = 2; bool has_streaming = 3; uint32 model_count = 4; } message ModelCatalogFields { string family = 1; string provider = 2; string license = 3; string architecture = 4; string task = 5; // "embedding" | "classification" | "generation" | ... string parameters = 6; // "1.5B", "66M" uint64 context_window = 7; }

ListCatalog

Org-scoped list of apps + models, with filters and cursor pagination.

Request

curl -sS "https://api.dev.dodil.io/v1/ignite/catalog/acme-corp?limit=50&filterSourceType=CATALOG_SOURCE_FUNCTION&filterTags=rag" \ -H "Authorization: Bearer $DODIL_TOKEN"

Response

{ "items": [ { "id": "acme-corp/search-knowledge-base", "name": "search-knowledge-base", "description": "Searches the knowledge base and returns relevant results", "tags": ["rag", "search"], "inputModality": "text", "app": { "runtime": "python", "mcpEnabled": true, "hasStreaming": false, "modelCount": 1 } } ], "nextCursor": "", "totalCount": "1" }

ListPublicCatalog

The public catalog — same shape as ListCatalog but unauthenticated and not org-scoped (only items published publicly).

Request

# no auth required curl -sS "https://api.dev.dodil.io/v1/ignite/public/catalog?limit=50&filterSourceType=CATALOG_SOURCE_MODEL"

Response

ListPublicCatalogResponse { repeated CatalogItem items; string next_cursor; uint32 total_count; } — same CatalogItem shape as ListCatalog.

GetPublicCatalogDetail

Full detail for one public item by name. The response shares a header and carries a oneof detailCatalogAppDetail or CatalogModelDetail.

Request

# no auth required curl -sS "https://api.dev.dodil.io/v1/ignite/public/catalog/kimi-k2-5"

Response

{ "id": "models/kimi-k2-5", "name": "kimi-k2-5", "description": "Long-context chat model", "category": ["chat"], "inputModality": "text", "model": { "family": "kimi", "provider": "moonshot", "task": "generation", "parameters": "1.5B", "contextWindow": "131072", "precision": "float16", "useCases": ["chat", "summarization"] } }

A model’s detail tells you how to call it — its input_schema / task map to a Models RPC (chat, embeddings, rerank, transcription, or generic infer).

HealthCheck

Service liveness probe.

curl -sS "https://api.dev.dodil.io/v1/ignite/health"

See also

  • MCP Tools — expose apps as agent tools
  • Apps — create / configure apps
  • Models — the inference RPCs a catalog model maps to
  • grpcurl reference — flags + reflection fallbacks