TenantProviders
6 operations. {prefix} is the route prefix passed to
MapAgentPrism; the template uses /agentprism.
GET {prefix}/api/tenants/{tenantId}/egress
Section titled “GET {prefix}/api/tenants/{tenantId}/egress”Operation ID: AgentPrismGetTenantEgressPolicy
Returns a tenant’s model provider egress policy.
‘allowedProviders: null’ means the tenant is UNRESTRICTED (no policy saved); an empty or populated array means the tenant may call only those providers.
Authorization: bearer authentication; Admin role policy when that policy is registered; SecurityAdmin API-key scope.
| Parameter | In | Required | Type | Description and rules |
|---|---|---|---|---|
tenantId |
path | yes | string |
— |
| Response | Body | Headers |
|---|---|---|
| 200 OK | application/json → TenantEgressPolicyResponse |
— |
PUT {prefix}/api/tenants/{tenantId}/egress
Section titled “PUT {prefix}/api/tenants/{tenantId}/egress”Operation ID: AgentPrismSaveTenantEgressPolicy
Creates or replaces a tenant’s egress policy.
Saving a policy is an ADDITIVE restriction: a tenant with no policy is unrestricted, and this call is the only way that changes. An agent definition naming a provider outside the saved list is rejected at compile time, not only at call time. An empty ‘allowedProviders’ array allows NO provider — it is not the same as having no policy; use DELETE to return to unrestricted.
Authorization: bearer authentication; Admin role policy when that policy is registered; SecurityAdmin API-key scope.
| Parameter | In | Required | Type | Description and rules |
|---|---|---|---|---|
tenantId |
path | yes | string |
— |
Request body (required):
application/json→TenantEgressPolicyRequest
| Response | Body | Headers |
|---|---|---|
| 200 OK | application/json → TenantEgressPolicyResponse |
— |
DELETE {prefix}/api/tenants/{tenantId}/egress
Section titled “DELETE {prefix}/api/tenants/{tenantId}/egress”Operation ID: AgentPrismDeleteTenantEgressPolicy
Deletes a tenant’s egress policy.
After deletion the tenant is unrestricted again — the same state as before any policy was ever saved.
Authorization: bearer authentication; Admin role policy when that policy is registered; SecurityAdmin API-key scope.
| Parameter | In | Required | Type | Description and rules |
|---|---|---|---|---|
tenantId |
path | yes | string |
— |
| Response | Body | Headers |
|---|---|---|
| 204 No Content | — | — |
GET {prefix}/api/tenants/{tenantId}/providers
Section titled “GET {prefix}/api/tenants/{tenantId}/providers”Operation ID: AgentPrismListTenantProviderBindings
Lists a tenant’s model provider bindings.
The response carries neither the credential value nor its configuration key’s value — only the key’s NAME and whether it currently resolves (‘resolved’). This is the diagnosis path for ‘I set the key but it does not work’.
Authorization: bearer authentication; Admin role policy when that policy is registered; SecurityAdmin API-key scope.
| Parameter | In | Required | Type | Description and rules |
|---|---|---|---|---|
tenantId |
path | yes | string |
— |
| Response | Body | Headers |
|---|---|---|
| 200 OK | application/json → array of TenantProviderBindingResponse |
— |
PUT {prefix}/api/tenants/{tenantId}/providers/{provider}
Section titled “PUT {prefix}/api/tenants/{tenantId}/providers/{provider}”Operation ID: AgentPrismSaveTenantProviderBinding
Creates or replaces a tenant’s binding for a provider.
The body carries only the configuration key’s NAME the value is read from at call time, never the value itself. The name must be under the configured allowed prefix (400 otherwise), and the provider must be allowed by the tenant’s egress policy, if one is defined (400 otherwise).
Authorization: bearer authentication; Admin role policy when that policy is registered; SecurityAdmin API-key scope.
| Parameter | In | Required | Type | Description and rules |
|---|---|---|---|---|
tenantId |
path | yes | string |
— |
provider |
path | yes | string |
— |
Request body (required):
application/json→TenantProviderBindingRequest
| Response | Body | Headers |
|---|---|---|
| 200 OK | application/json → TenantProviderBindingResponse |
— |
DELETE {prefix}/api/tenants/{tenantId}/providers/{provider}
Section titled “DELETE {prefix}/api/tenants/{tenantId}/providers/{provider}”Operation ID: AgentPrismDeleteTenantProviderBinding
Deletes a tenant’s binding for a provider.
After deletion, calls for that provider use the setup-time global credential again.
Authorization: bearer authentication; Admin role policy when that policy is registered; SecurityAdmin API-key scope.
| Parameter | In | Required | Type | Description and rules |
|---|---|---|---|---|
tenantId |
path | yes | string |
— |
provider |
path | yes | string |
— |
| Response | Body | Headers |
|---|---|---|
| 204 No Content | — | — |