---
title: "Create From Curated"
method: POST
path: "/api/workspace-integrations/curated/{key}"
tags: ["workspace-integrations", "workspace-integrations"]
---

# Create From Curated

`POST /api/workspace-integrations/curated/{key}`

## Request

- Base URL: `https://api.dialogbrain.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.dialogbrain.com/api/workspace-integrations/curated/{key}`
- Auth: none declared

One-click integration creation from a curated tile.

For OAuth (google_workspace): no body needed; backend resolves URL + scopes
from the registry. Status is `auth_required` until OAuth callback completes.

For api_key (notion, tavily, etc.): body contains {api_key, ...connect_params}.
Validates the key → HTTP 401/403 → 400 invalid_api_key (no writes).
On success: INSERT → put_secret → UPDATE config → refresh_catalog → 201.

## Path parameters

- `key` string, required

## Request body

- CreateCuratedApiKeyRequest: Create api_key curated integration: submit key + connect_params. `api_key` is Optional so the OAuth curated path (google_workspace) can POST an empty/`{}` body without a 422 — the api_key branch enforces presence (400).
  - `api_key` string, nullable: API key or bearer token

## Response `201`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway.md) · [All operations](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway/revisions/77bef09a9209?raw)
