API reference
API: Settings
| Method | Path | What it does | Scope |
|---|---|---|---|
| GET | /v1/settings/ai | Model routing per task, bring-your-own key status, outbound switch | settings:read |
| PUT | /v1/settings/ai | Update model routing, your own Anthropic key, or the outbound switch (owner) | settings:write |
| GET | /v1/settings/ai-disclosure | The line added to emails an agent sends on its own (EU AI Act Art. 50); emails a person approves don't carry it | settings:read |
| PUT | /v1/settings/ai-disclosure | Turn the disclosure on or off, or reword it (owners; it must still say an AI wrote the message) | settings:write |
| GET | /v1/settings/crm | CRM settings, e.g. who may add custom fields | settings:read |
| PUT | /v1/settings/crm | Update CRM settings (owner) | settings:write |
| GET | /v1/settings/notifications | Organization notification defaults | settings:read |
| PUT | /v1/settings/notifications | Update organization notification defaults (owner) | settings:write |
| PUT | /v1/settings/session-replay | Turn session replay on or off for the organization (owners). It's off by default; turning it off deletes the organization's recordings (web app only) | — |
| GET | /v1/usage/llm | Model usage and estimated cost this calendar month (UTC) | billing:read |
Examples
GET /v1/settings/ai
Model routing per task, bring-your-own key status, outbound switch
curl -s "https://api.closefinch.com/v1/settings/ai" \
-H "Authorization: Bearer $RA_API_KEY"const res = await fetch(`https://api.closefinch.com/v1/settings/ai`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();PUT /v1/settings/ai
Update model routing, your own Anthropic key, or the outbound switch (owner)
curl -s -X PUT "https://api.closefinch.com/v1/settings/ai" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/settings/ai`, {
method: "PUT",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();GET /v1/settings/ai-disclosure
The line added to emails an agent sends on its own (EU AI Act Art. 50); emails a person approves don't carry it
curl -s "https://api.closefinch.com/v1/settings/ai-disclosure" \
-H "Authorization: Bearer $RA_API_KEY"const res = await fetch(`https://api.closefinch.com/v1/settings/ai-disclosure`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();PUT /v1/settings/ai-disclosure
Turn the disclosure on or off, or reword it (owners; it must still say an AI wrote the message)
curl -s -X PUT "https://api.closefinch.com/v1/settings/ai-disclosure" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/settings/ai-disclosure`, {
method: "PUT",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();GET /v1/settings/crm
CRM settings, e.g. who may add custom fields
curl -s "https://api.closefinch.com/v1/settings/crm" \
-H "Authorization: Bearer $RA_API_KEY"const res = await fetch(`https://api.closefinch.com/v1/settings/crm`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();PUT /v1/settings/crm
Update CRM settings (owner)
curl -s -X PUT "https://api.closefinch.com/v1/settings/crm" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/settings/crm`, {
method: "PUT",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();GET /v1/settings/notifications
Organization notification defaults
curl -s "https://api.closefinch.com/v1/settings/notifications" \
-H "Authorization: Bearer $RA_API_KEY"const res = await fetch(`https://api.closefinch.com/v1/settings/notifications`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();PUT /v1/settings/notifications
Update organization notification defaults (owner)
curl -s -X PUT "https://api.closefinch.com/v1/settings/notifications" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/settings/notifications`, {
method: "PUT",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();GET /v1/usage/llm
Model usage and estimated cost this calendar month (UTC)
curl -s "https://api.closefinch.com/v1/usage/llm" \
-H "Authorization: Bearer $RA_API_KEY"const res = await fetch(`https://api.closefinch.com/v1/usage/llm`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();Request and response schemas: https://www.closefinch.com/openapi.json. All resources: API reference.