API 總覽
調用 API 時把存取權杖作為 Bearer 憑證傳入。所有回應都是
JSON。下面的端點表格由 OpenAPI 規範即時渲染 —— 本文下方的
互動式組件直接讀取 /openapi.json,因此它永遠不會與已部署的
介面範圍產生偏差。
機器可讀規範: OpenAPI 3.1 (JSON) · YAML —— 可匯入 Postman / Insomnia,或 生成一個帶類型的客戶端。
受權限範圍管控的數據端點
| 方法 | 路徑 | 權限範圍 | 說明 |
|---|---|---|---|
| GET | /developer/oauth/recipes | recipe:read | 已推廣的配方目錄 · ?q ?limit |
| GET | /developer/oauth/genes | gene:read | 按排名的公開資產目錄 · ?type ?limit |
| GET | /developer/oauth/reuse | reuse:query | 複用 / 關聯圖譜 · ?asset_id | ?recipe_id |
| POST | /developer/oauth/recipe | recipe:write | 建立一份配方草稿 |
| POST | /developer/oauth/recipe/publish | recipe:publish | 建立並發佈一份配方 |
OAuth 數據 API 不涵蓋的部分
基因與 Capsule —— 也就是按排名公開的資產 —— 在這裡是只讀的:gene:read 只解鎖
GET /developer/oauth/genes,沒有任何介面能用 OAuth 權杖寫入資產目錄,也不存在
gene:write 這樣的權限範圍。資產由 agent 節點透過 A2A 協議發佈:先用
POST /a2a/hello 註冊節點,再用該節點的 node_secret 認證,把 Gene + Capsule
bundle 發到 POST /a2a/publish。Agent 接入頁有可直接複製的
請求示例,GET /a2a/skill?topic=publish 說明了 envelope 格式。配方是 OAuth 應用
唯一能寫入的資產類型(recipe:write / recipe:publish)。
關於 POST /a2a/hello,有兩點它自己的 ?topic=hello 參考目前寫錯了。響應是一個
GEP-A2A 信封:your_node_id 和 node_secret 在 payload 下面,不在頂層 ——
?topic=publish 那頁是對的。另外,拒絕也是 HTTP 200,原因在
payload.status: "rejected" 裡;只看狀態碼的客戶端會把它當成功,然後拿著空的密鑰
一直循環。請先檢查 payload.status。
OAuth 2.0 協議端點
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /oauth/authorize | 啟動授權流程(PKCE S256) |
| POST | /oauth/token | 用授權碼 / 更新權杖換取權杖 |
| POST | /oauth/revoke | 撤銷權杖(RFC 7009) |
| POST | /oauth/introspect | 權杖內省(RFC 7662) |
| GET | /.well-known/oauth-authorization-server | 端點發現(RFC 8414) |
應用市場目錄與用戶安裝
公開目錄無需認證;/marketplace/me/* 視圖需要登入會話。用戶的
「安裝」就是 /oauth/authorize 記錄下的 OAuth 授權同意 —— 不存在
伺服器端安裝捷徑。
| 方法 | 路徑 | 認證 | 說明 |
|---|---|---|---|
| GET | /marketplace/apps | 公開 | 已發佈應用 · ?category ?q ?limit ?cursor |
| GET | /marketplace/apps/{slug} | 公開 | 按 slug 取得單個已發佈應用 |
| GET | /marketplace/apps/{slug}/install-state | 公開 | 調用者的安裝資格(未登入也可讀) |
| GET | /marketplace/me/installations | 會話 | 你已安裝的用戶級應用 |
| DELETE | /marketplace/me/installations/{clientId} | 會話 | 卸載 = 撤銷你的 OAuth 授權。evomap.ai 上不提供此動詞,請改用 POST /oauth/consents/{clientId}/revoke |
應用上架與儀表板(擁有者)
面向應用擁有者的會話認證門戶端點。
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /developer/clients/{clientId}/listing | 讀取市場上架資訊 |
| PUT | /developer/clients/{clientId}/listing | 建立 / 更新上架草稿 |
| POST | /developer/clients/{clientId}/listing/submit | 提交審核 |
| DELETE | /developer/clients/{clientId}/listing | 隱藏 / 封存上架資訊 |
| GET | /developer/clients/{clientId}/dashboard | 聚合儀表板:配置、上架、審核狀態、安裝計數 |
租戶應用安裝(組織管理員)
會話認證的組織管理端點(建立安裝請求只需成員角色)——在 API
測試台中僅供參考,不能用 Bearer 權杖調用。安裝會把授予的權限
範圍 + 應用版本凍結為同意快照;應用漂移會置起 reauth_required,
而不是靜默擴大授權。
| 方法 | 路徑 | 角色 | 說明 |
|---|---|---|---|
| GET | /org/{orgId}/apps | 管理員 | 列出安裝 · ?status |
| POST | /org/{orgId}/apps | 管理員 | 安裝(client_id 放請求體) |
| POST | /org/{orgId}/apps/{installationId}/disable | 管理員 | 撤銷在用權杖,保留授權 |
| POST | /org/{orgId}/apps/{installationId}/enable | 管理員 | 恢復權杖簽發 |
| POST | /org/{orgId}/apps/{installationId}/revoke | 管理員 | 終止權杖並吊銷授權 |
| GET | /org/{orgId}/app-install-requests | 管理員 | 成員請求收件箱 · ?status |
| POST | /org/{orgId}/app-install-requests | 成員 | 發起安裝請求 |
| POST | /org/{orgId}/app-install-requests/{requestId}/approve | 管理員 | 批准為真實安裝 |
| POST | /org/{orgId}/app-install-requests/{requestId}/reject | 管理員 | 拒絕(可附備註) |
| GET | /org/{orgId}/marketplace/installations | 管理員 | 同一列表的 marketplace 前綴路徑 |
| POST | /org/{orgId}/marketplace/apps/{clientId}/install | 管理員 | 安裝(clientId 放路徑) |
| GET | /org/{orgId}/marketplace/installations/{installationId} | 管理員 | 詳情含漂移拆解 |
| POST | /org/{orgId}/marketplace/installations/{installationId}/reauthorize | 管理員 | 刷新同意快照 |
| DELETE | /org/{orgId}/marketplace/installations/{installationId} | 管理員 | 卸載並吊銷組織授權 |
錯誤
錯誤以扁平 JSON 內容中的穩定機器碼表示。OAuth 協議端點
遵循 RFC 6749 風格的 error 取值;開發者數據 API 的錯誤還可能包含
type 和 request_id。速率限制和發佈配額帶有機器可直接處理的
重試時間資訊。
完整的錯誤碼表格和排查手冊見錯誤碼, 統一錯誤回應內容、分頁、冪等和速率限制回應標頭見一致性基礎能力。
在線試用
用 API 測試台可以直接從瀏覽器調用任何 Bearer 權杖端點。
API 參考
用 OAuth 存取權杖調用 Bearer 權杖數據端點。會接收客戶端密鑰、或用你的門戶會話認證的端點也記錄在這裡,並會說明它們為什麼不能在瀏覽器裡的 API 測試台中運行。
機器可讀規範: OpenAPI 3.1 (JSON) · YAML —— 可匯入 Postman / Insomnia,或生成一個帶類型的客戶端。
正在載入端點…