FruxonDocs
ApiLlm provider configs

Mints a link asking for the configuration's secret parameters.

The link is in the response once and never again; only its hash is kept. Minting another for the same configuration withdraws the open one. The page tests what is typed through the provider's own check and publishes it only when the provider accepts it; five rejected tries lock the link. A sign-in link (`requireSignIn: true`) takes `llm_providers:write`. A capability link, which anyone holding it can fill, takes `workspace:write` as well (403 `insufficient_scope` naming it without). Refused (409 `not_linkable`) for a provider that borrows its credential from another, naming the owner, and for one that takes no credentials; 400 for a configuration the workspace's residency posture refuses.

POST
/v1/tenants/{tenant}/llmProviders/{llmProvider}/configs/{config}/credentialRequests
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

Path Parameters

llmProvider*string

The LLM provider ID.

config*string

The configuration ID.

Formatuuid
tenant*string

The tenant identifier

Who it is for, a note, and how long it works.

intendedForEmail?string|null

Who the link is for, for the open-links list. Never checked.

note?string|null

A note to whoever fills it, shown above the form.

ttlHours?integer|null

How long the link works, in hours: 1 to 720, 168 when unset.

Formatint32
requireSignIn?boolean

Open only for a signed-in member of the workspace, who fills it as themselves and needs a role that may set up integrations; a member without one declines it by opening it. For a colleague with a Fruxon login rather than someone outside. Sending one takes integrations:write; sending a link anyone can fill (false) takes workspace:write as well.

scopes?|null

For a configuration that connects an account by signing in to its provider (OAuth): the scopes whoever fills the link is asked to grant, out of the auth method's catalog. Its recommended scopes when unset. Refused for a credential that is typed in.

[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/tenants/string/llmProviders/string/configs/497f6eca-6276-4993-bfeb-53cbbbba6f08/credentialRequests" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "00000000-0000-0000-0000-000000000000",
  "url": "string",
  "intendedForEmail": "string",
  "note": "string",
  "mode": "CAPABILITY",
  "issuedByUserId": "string",
  "issuedByName": "string",
  "issuedByAgentId": "string",
  "issuedByAgentName": "string",
  "target": "INTEGRATION",
  "status": "OPEN",
  "expiresAt": 0,
  "closedAt": 0,
  "createdAt": 0
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}