Capabilities
هذا المحتوى غير متوفر بلغتك بعد.
GET /v1/capabilities
Returns a structured manifest of what the platform supports. Use this endpoint to discover available features without reading documentation — ideal for AI coding agents and dynamic client integration.
curl https://ghostmind.optdmsa.com/v1/capabilities \ -H "Authorization: Bearer $GHOSTMIND_API_KEY"Response:
{ "platform": "ghostmind", "api_version": "v1", "base_url": "https://ghostmind.optdmsa.com/v1", "openapi_url": "/openapi.json", "docs_url": "/docs", "capabilities": { "chat": { "enabled": true, "endpoint": "/v1/chat/completions", "openai_compatible": true, "streaming": true, "features": { "text": true, "images": true, "conversation_files": true, "conversation_continuation": true, "projects": true, "project_files": true, "multi_account_routing": true } }, "conversations": { "enabled": true, "endpoints": { "create": "POST /v1/conversations", "..." : "..." }, "auto_create": true, "sticky_binding": true, "upstream_continuity": true }, "projects": { "enabled": true, "endpoints": { "create": "POST /v1/projects", "..." : "..." }, "memory_policies": ["provider_default", "account_connected", "project_only"] }, "files": { "enabled": true, "..." : "..." }, "images": { "enabled": true, "endpoint": "/v1/chat/completions", "state": "unknown", "verified": false, "error_code": "IMAGE_GENERATION_UNAVAILABLE", "retryable": false, "note": "ChatGPT image generation is implicit (prompt-triggered). A connected account may still fail to generate an image due to plan/quota limits." }, "audio": { "transcription": { "enabled": true, "endpoint": "POST /v1/audio/transcriptions" }, "speech_generation": { "enabled": true, "provider": "google_ai_studio_savio_tts" } }, "models": { "enabled": true, "endpoint": "GET /v1/models" }, "usage": { "enabled": true, "endpoint": "GET /v1/usage", "periods": ["24h", "7d", "30d"], "scope": "api_key" } }, "providers": { "chatgpt": { "connected": true, "supports": ["chat", "streaming", "images", "..."] }, "google_ai_studio_savio_tts": { "connected": true, "supports": ["speech_generation"] } }, "connections": { "endpoint": "GET /v1/connections" }, "authentication": { "type": "bearer", "header": "Authorization: Bearer <GHOSTMIND_API_KEY>", "key_prefix": "gmk_live_" }, "error_format": { "envelope": { "error": { "code": "...", "..." : "..." } } }}Capability Detection
Each capability has an enabled boolean that reflects whether the feature is actually available to your workspace. For example, chat.enabled is true only if a ChatGPT account is connected.
Image generation state
The images capability has a state field that is not a simple boolean:
| State | Meaning |
|---|---|
unknown | An account is connected, but we cannot prove it can generate images without a test request. Do not assume image generation works. |
unavailable | No account is connected, or a request has failed with IMAGE_GENERATION_UNAVAILABLE. |
verified is false because image generation is implicit (prompt-triggered) and depends on the upstream account’s plan/quota — it may fail at runtime even when the account is healthy.
Project files state
The project_files capability is account-tier dependent: ChatGPT
projects can be created on any account, but linking files to a project
requires upstream authorization that some account tiers do not have.
| Field | Meaning |
|---|---|
enabled: true | File linking is expected to work (optimistic until first upload attempt) |
enabled: false, reason: "upstream_not_authorized" | A previous upload returned 403 UPSTREAM_ACCOUNT_NOT_AUTHORIZED — the account tier cannot attach files to projects. Use conversation attachments instead (a separate capability that works on all tiers). |
enabled: false, reason: "no_connected_account" | No ChatGPT account is connected |
The capability flips from optimistic to false only after a real upload
attempt fails — check it before building a flow around project files.
Use Cases
- AI coding agents: Read this endpoint first to understand what the platform can do
- Dynamic clients: Enable/disable UI elements based on available capabilities
- Health checks: Verify provider connectivity before running workflows
- Onboarding: Show new users what features they have access to
Next Steps
- Connections — List connected accounts
- Authentication — API key setup
- Error Handling — Canonical error format