All integrations

Integrations · Catalog approvals

Catalog API

Programmatic team-support: define catalog rows, assign / approve / revoke grants, and fan out to the source system via a webhook on approval.

Mental model

  • Catalog row = one resource type (e.g. openai-team). Identified by slug; carries display copy, default description, owner.
  • Approval = a (catalog row, user) pair with state pending / approved / revoked.
  • Direct assign = skip the request step; orchestrator creates an approved pair on day 0 (onboarding) or day -1 (off-boarding revoke).

Category machine slugs (v0.19.9)

New integrators: send a machine slug as your category value. The UI maps it to the localized emoji display label so you never have to ship copy in your payload. Legacy rows carrying a free-form display string are passed through verbatim.

Machine slug中文显示English display
llm-backend🤖 公司付费 AI 订阅🤖 Paid AI Subscriptions
network🔑 接入凭证🔑 Access Credentials
inbound-integration📥 外部工具消息接入📥 Inbound Integrations
outbound-integration📡 出站 Webhook📡 Outbound Webhooks
mcp-agent🧠 MCP / Agent🧠 MCP / Agent
dev-environment🖥 开发环境🖥 Dev environment
cross-border-comm📞 跨境通讯📞 Cross-border Comms

REST responses surface category (raw machine slug) plus categoryDisplay (server-rendered English label). i18n clients should ignore the latter and run their own lookup.

Assign a catalog row

Tools-token owner must be admin / hr_admin / super_admin. Idempotent: same (slug, email) → same approval row.

shell
curl -X POST https://my.fluxdesk.net/api/v1/catalog/approvals \
  -H "Authorization: Bearer flux-tools-EXAMPLE…" \
  -H "Content-Type: application/json" \
  -d '{
    "catalog_slug": "openai-team",
    "email": "[email protected]",
    "action": "assign",
    "note": "Onboarding kit"
  }'

Revoke a grant

Marks the approval revoked + fires an audit row. Source system should listen on the webhook and tear down its end (delete the SSH key, remove from team seat, etc.).

shell
curl -X DELETE https://my.fluxdesk.net/api/v1/catalog/approvals \
  -H "Authorization: Bearer flux-tools-EXAMPLE…" \
  -H "Content-Type: application/json" \
  -d '{
    "catalog_slug": "openai-team",
    "email": "[email protected]",
    "reason": "off-boarded"
  }'

On-approve webhook

Configure an outbound webhook at /me/agent (per-employee — tenant-wide /admin/integrations is on the roadmap) and listen for team_support.approved events. Body carries the resolved (slug, user, approver, note) — enough to provision the resource downstream. Verify HMAC the same way as all other outbound events ( see outbound docs).

Full reference