Handle (URL-friendly slug) for the project. Auto-generated from displayName if not provided.
displayName
string
true
none
Human-readable name for the project
description
string
false
none
Description of the project
Project
{"id":"default-project","displayName":"Default Project","description":"This is the default project for development","organizationId":"acme","createdBy":"john.doe","updatedBy":"john.doe","createdAt":"2023-10-12T10:30:00Z","updatedAt":"2023-10-12T10:30:00Z"}
{"id":"my-rest-api-handle","displayName":"PizzaShackAPI","description":"This is a simple API for Pizza Shack online pizza delivery store","context":"/pizza","version":"1.0.0","createdBy":"john.doe","updatedBy":"john.doe","projectId":"default-project","createdAt":"2023-10-12T10:30:00Z","updatedAt":"2023-10-12T10:30:00Z","readOnly":false,"upstream":{"main":{"url":"http://prod-backend:5000/api/v2","auth":{"type":"api-key","header":"X-API-Key","value":"my-api-key-value"}},"sandbox":{"url":"http://prod-backend:5000/api/v2","auth":{"type":"api-key","header":"X-API-Key","value":"my-api-key-value"}}},"lifeCycleStatus":"CREATED","kind":"RestApi","transport":["http","https"],"policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}],"operations":[{"name":"getPetById","description":"Find pet by ID","request":{"method":"GET","path":"/pet/{petId}","policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}]}}],"channels":[{"name":"issues","description":"Channel for order events","request":{"method":"SUB","name":"issues","policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}]}}],"subscriptionPlans":["Gold","Silver"]}
Unique handle/identifier for the API. Can be provided during creation or auto-generated. On update (PUT), if provided must match the path parameter — returns 400 if they differ.
displayName
string
true
none
Human-readable name for the API
description
string
false
none
none
context
string
true
none
none
version
string
true
none
none
createdBy
string
false
read-only
User identifier of the user who created this resource
updatedBy
string
false
read-only
User identifier of the user who last updated this resource. Only present in the detail response (GET /rest-apis/
projectId
string
true
none
Handle (URL-friendly slug) of the project this API belongs to
createdAt
string(date-time)
false
read-only
Timestamp when the api was created
updatedAt
string(date-time)
false
read-only
Timestamp when the api was last updated
readOnly
boolean
false
read-only
True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
Name of the header or query parameter to be used for the API key
valuePrefix
string
false
none
Optional prefix to strip from the inbound API key value before validation, for example "Bearer"
in
string
false
none
Location of the API key (header or query)
Enumerated Values
Property
Value
in
header
in
query
Operation
{"name":"getPetById","description":"Find pet by ID","request":{"method":"GET","path":"/pet/{petId}","policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}]}}
{"name":"issues","description":"Channel for order events","request":{"method":"SUB","name":"issues","policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}]}}
Handle (URL-friendly slug) of the gateway to associate with the REST API
RESTAPIGatewayListResponse
{"count":3,"list":[{"id":"prod-gateway-01","organizationId":"acme","displayName":"Production Gateway 01","description":"Production gateway for handling API traffic","properties":{"region":"us-west","tier":"premium"},"endpoints":["https://api.example.com:8443/api/v1","wss://events.example.com:8444"],"isCritical":true,"functionalityType":"regular","version":"1.0","isActive":true,"createdBy":"john.doe","updatedBy":"john.doe","createdAt":"2025-10-14T10:30:00Z","updatedAt":"2025-10-14T10:30:00Z","associatedAt":"2025-10-15T10:30:00Z","isDeployed":true,"deployment":{"status":"CREATED","deployedAt":"2025-10-15T11:00:00Z"}}],"pagination":{"total":10,"offset":0,"limit":10}}
{"id":"prod-gateway-01","organizationId":"acme","displayName":"Production Gateway 01","description":"Production gateway for handling API traffic","properties":{"region":"us-west","tier":"premium"},"endpoints":["https://api.example.com:8443/api/v1","wss://events.example.com:8444"],"isCritical":true,"functionalityType":"regular","version":"1.0","isActive":true,"createdBy":"john.doe","updatedBy":"john.doe","createdAt":"2025-10-14T10:30:00Z","updatedAt":"2025-10-14T10:30:00Z","associatedAt":"2025-10-15T10:30:00Z","isDeployed":true,"deployment":{"status":"CREATED","deployedAt":"2025-10-15T11:00:00Z"}}
{"id":"prod-gateway-01","displayName":"Production Gateway 01","description":"Production gateway for handling API traffic","endpoints":["https://api.example.com:8443/api/v1","wss://events.example.com:8444"],"isCritical":true,"functionalityType":"regular","properties":{"region":"us-west","tier":"premium"},"version":"1.0"}
Request body for creating a gateway. Organization ID is automatically extracted
from the JWT token and does not need to be provided.
The full policy schema as declared in the policy's policy-definition.yaml. Contains parameters and systemParameters JSON Schema documents.
createdAt
string(date-time)
false
none
none
updatedAt
string(date-time)
false
none
none
GatewayPolicyDefinition
{"name":"set-wso2-headers","version":"v0.8.0","description":"Sets WSO2-specific headers in the request and response.","isCustomPolicy":true,"policyDefinition":{}}
The full policy schema as declared in the policy's policy-definition.yaml. Contains parameters and systemParameters JSON Schema documents. Only present for custom policies.
ManifestSyncResponse
{"policies":[{"name":"set-wso2-headers","version":"v0.8.0","description":"Sets WSO2-specific headers in the request and response.","isCustomPolicy":true,"policyDefinition":{}}]}
All policies installed on the gateway. Each entry includes name, version, and isCustomPolicy. Custom policies additionally include policyDefinition with their parameters and systemParameters schemas.
GatewayResponse
{"id":"prod-gateway-01","organizationId":"acme","displayName":"Production Gateway 01","description":"Production gateway for handling API traffic","properties":{"region":"us-west","tier":"premium"},"endpoints":["https://api.example.com:8443/api/v1","wss://events.example.com:8444"],"isCritical":true,"functionalityType":"regular","version":"1.0","isActive":true,"createdBy":"john.doe","updatedBy":"john.doe","createdAt":"2025-10-14T10:30:00Z","updatedAt":"2025-10-14T10:30:00Z"}
Zero-based index of first item in current response
limit
integer
true
none
Maximum number of items returned per page
GatewayListResponse
{"count":2,"list":[{"id":"prod-gateway-01","organizationId":"acme","displayName":"Production Gateway 01","description":"Production gateway for handling API traffic","properties":{"region":"us-west","tier":"premium"},"endpoints":["https://api.example.com:8443/api/v1","wss://events.example.com:8444"],"isCritical":true,"functionalityType":"regular","version":"1.0","isActive":true,"createdBy":"john.doe","updatedBy":"john.doe","createdAt":"2025-10-14T10:30:00Z","updatedAt":"2025-10-14T10:30:00Z"}],"pagination":{"total":10,"offset":0,"limit":10}}
{"count":2,"list":[{"id":"default-project","displayName":"Default Project","description":"This is the default project for development","organizationId":"acme","createdBy":"john.doe","updatedBy":"john.doe","createdAt":"2023-10-12T10:30:00Z","updatedAt":"2023-10-12T10:30:00Z"}],"pagination":{"total":10,"offset":0,"limit":10}}
{"count":2,"list":[{"id":"my-rest-api-handle","displayName":"PizzaShackAPI","description":"This is a simple API for Pizza Shack online pizza delivery store","context":"/pizza","version":"1.0.0","createdBy":"john.doe","updatedBy":"john.doe","projectId":"default-project","createdAt":"2023-10-12T10:30:00Z","updatedAt":"2023-10-12T10:30:00Z","readOnly":false,"upstream":{"main":{"url":"http://prod-backend:5000/api/v2","auth":{"type":"api-key","header":"X-API-Key","value":"my-api-key-value"}},"sandbox":{"url":"http://prod-backend:5000/api/v2","auth":{"type":"api-key","header":"X-API-Key","value":"my-api-key-value"}}},"lifeCycleStatus":"CREATED","kind":"RestApi","transport":["http","https"],"policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}],"operations":[{"name":"getPetById","description":"Find pet by ID","request":{"method":"GET","path":"/pet/{petId}","policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}]}}],"channels":[{"name":"issues","description":"Channel for order events","request":{"method":"SUB","name":"issues","policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}]}}],"subscriptionPlans":["Gold","Silver"]}],"pagination":{"total":10,"offset":0,"limit":10}}
{"id":"def45678-g901-23hi-j456-789012klmnop","token":"REDACTED_TOKEN","createdAt":"2025-10-15T14:20:00Z","message":"New token generated successfully. Old token remains active until revoked."}
{"id":"my-rest-api-handle","displayName":"PizzaShackAPI","description":"This is a simple API for Pizza Shack online pizza delivery store","context":"/pizza","version":"1.0.0","createdBy":"john.doe","updatedBy":"john.doe","projectId":"default-project","createdAt":"2023-10-12T10:30:00Z","updatedAt":"2023-10-12T10:30:00Z","readOnly":false,"upstream":{"main":{"url":"http://prod-backend:5000/api/v2","auth":{"type":"api-key","header":"X-API-Key","value":"my-api-key-value"}},"sandbox":{"url":"http://prod-backend:5000/api/v2","auth":{"type":"api-key","header":"X-API-Key","value":"my-api-key-value"}}},"lifeCycleStatus":"CREATED","kind":"RestApi","transport":["http","https"],"policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}],"operations":[{"name":"getPetById","description":"Find pet by ID","request":{"method":"GET","path":"/pet/{petId}","policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}]}}],"channels":[{"name":"issues","description":"Channel for order events","request":{"method":"SUB","name":"issues","policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}]}}],"subscriptionPlans":["Gold","Silver"]}
{"id":"production-key-01","displayName":"Production API Key","apiKey":"sk_example_1234567890abcdef","externalRefId":"ext-ref-12345","expiresAt":"2026-12-31T23:59:59Z","expiresIn":{"duration":30,"unit":"days"},"issuer":"api-platform-devportal"}
{"name":"production-key-01","displayName":"Production API Key (Updated)","apiKey":"sk_example_new1234567890abcdef","externalRefId":"ext-ref-12345","expiresAt":"2027-12-31T23:59:59Z","expiresIn":{"duration":30,"unit":"days"},"issuer":"api-platform-devportal"}
Kind of quota this limit enforces. Only REQUEST_COUNT is currently enforced; other values are accepted by the schema for forward compatibility but are rejected by the API today.
timeUnit
string
true
none
Throttle window unit
timeAmount
integer
false
none
Number of timeUnit windows the limit applies over (e.g. 2 with timeUnit=HOUR means "per 2 hours")
limitCount
integer
true
none
Number of requests (or units, for BANDWIDTH/TOTAL_TOKEN_COUNT) allowed in the throttle window
limitCountUnit
string
false
none
Unit for limitCount when limitType is BANDWIDTH (e.g. MB, GB)
stopOnQuotaReach
boolean
false
none
Whether to block requests when this limit's quota is exhausted
Throttling limits for the plan (e.g. requests per hour, requests per month). The table backing this API already supports multiple limits per plan, but the platform-api currently only persists and enforces the first entry in this array; any additional entries are accepted but ignored.
{"status":"error","code":"REST_API_NOT_FOUND","message":"The requested REST API could not be found.","errors":[{"field":"<name of the offending field>","message":"must start with /"}],"details":{},"trackingId":"4f1c6f2e-8a4b-4c93-b1de-9f2f6f0c2a11"}
Stable, machine-readable error code from the error catalog, in the form <DOMAIN>_<REASON> (e.g. REST_API_NOT_FOUND). Clients and agents should branch on this, not on the HTTP status.
Per-field validation failures. Present when the error is a validation failure.
details
object
false
none
Optional structured metadata specific to this error condition (e.g. the resources referencing a secret that blocked its deletion). Shape varies by code; absent when not applicable.
trackingId
string(uuid)
false
none
Correlation ID for server-side failures. Present only on 5xx responses; quote it when reporting the error so operators can find the corresponding server log entry.
Enumerated Values
Property
Value
status
error
FieldError
{"field":"<name of the offending field>","message":"must start with /"}
Current deployment lifecycle state: - DEPLOYED: Currently active on the gateway - UNDEPLOYED: Suspended but can be rolled back - DEPLOYING: Deployment in progress, waiting for gateway acknowledgement - UNDEPLOYING: Undeployment in progress, waiting for gateway acknowledgement - FAILED: Deployment or undeployment failed (see statusReason for error code) - ARCHIVED: Historical deployment, can be rolled back
baseDeploymentId
string(uuid)¦null
false
none
UUID of the base deployment this was created from
metadata
object
false
none
Metadata associated with the deployment
createdAt
string(date-time)
true
none
Timestamp when the deployment artifact was created
statusReason
string¦null
false
none
Error code explaining the failure reason. Null unless status is FAILED (e.g. DEPLOYMENT_TIMEOUT, GATEWAY_PROCESSING_ERROR)
updatedAt
string(date-time)¦null
false
none
Timestamp when the deployment status last changed (null for ARCHIVED deployments)
Upstream endpoint configuration. Provide exactly one of url (a direct backend URL) or ref (a reference to a predefined upstream definition) — never both.
Upstream endpoint configuration. Provide exactly one of url (a direct backend URL) or ref (a reference to a predefined upstream definition) — never both.
Upstream endpoint configuration. Provide exactly one of url (a direct backend URL) or
ref (a reference to a predefined upstream definition) — never both.
Stable identifier shared by every version of a template family.
displayName
string
true
none
Human-readable LLM Template name
managedBy
string
false
none
Identifies who manages the template. Built-in templates use 'wso2'; custom templates default to 'organization' and may be set to any value.
description
string
false
none
Description of the LLM provider template
createdBy
string
false
read-only
User identifier of the user who created this resource
updatedBy
string
false
read-only
User identifier of the user who last updated this resource
readOnly
boolean
false
read-only
True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
version
string
true
none
Content version, matching the v. pattern (e.g. v1.0, v2.0). Must be unique for this template.
isLatest
boolean
false
read-only
Whether this is the latest version of the template.
enabled
boolean
false
read-only
Whether this version is offered when creating providers. If false, the template version is hidden from the provider creation UI and API.
openapi
string
false
none
OpenAPI specification content (JSON or YAML) for the provider, when uploaded/pasted. Use metadata.openapiSpecUrl instead to reference the spec by URL.
Human-readable LLM Template name. Optional — when omitted, the new version inherits the family's existing name. Supplying a different value renames the template family.
version
string
true
none
New version identifier, e.g. v2.0. Must be unique for this template.
managedBy
string
false
none
Identifies who manages the template. Custom templates default to 'organization'.
description
string
false
none
Description of the LLM provider template
openapi
string
false
none
OpenAPI specification content (JSON or YAML) for the provider, when uploaded/pasted. Use metadata.openapiSpecUrl instead to reference the spec by URL.
User identifier of the user who created this resource
readOnly
boolean
false
read-only
True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
updatedBy
string
false
read-only
User identifier of the user who last updated this resource. Only present in the detail response (GET /llm-providers/
version
string
true
none
Semantic version of the LLM Provider
context
string
false
none
Base path for all routes exposed by this provider. Must start with / and carry no trailing slash; the single exception is the root path "/", which is the default.
vhost
string
false
none
Virtual host name used for routing. Supports standard domain names, subdomains, or wildcard domains. Must follow RFC-compliant hostname rules. Wildcards are only allowed in the left-most label (e.g., *.example.com).
template
string
true
none
Template name to use for this LLM Provider
openapi
string
false
none
OpenAPI specification (JSON or YAML) for the provider endpoint
List of model providers and their models supported by this provider. For non-aggregator templates, only a single model provider is allowed (aggregator templates: awsbedrock, azureaifoundry).
Optional list of gateways this LLM provider can be deployed to, along with per-gateway configuration overrides. This field is optional; omitting it does not change existing behaviour.
User identifier of the user who created this resource
readOnly
boolean
false
read-only
True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
updatedBy
string
false
read-only
User identifier of the user who last updated this resource. Only present in the detail response (GET /llm-proxies/
version
string
true
none
Semantic version of the LLM proxy
projectId
string
true
none
Handle (URL-friendly slug) of the project this proxy belongs to
context
string
false
none
Base path for all routes exposed by this proxy. Must start with / and carry no trailing slash; the single exception is the root path "/", which is the default.
vhost
string
false
none
Virtual host name used for routing. Supports standard domain names, subdomains, or wildcard domains. Must follow RFC-compliant hostname rules. Wildcards are only allowed in the left-most label (e.g., *.example.com).
Optional list of additional LLM providers attached to this proxy as selectable upstreams. Policies route requests to any of these by setting the upstream name. The primary provider field above remains the default upstream and the FK target.
openapi
string
false
none
OpenAPI specification (JSON or YAML) for the proxy endpoint
Optional list of gateways this LLM proxy can be deployed to, along with per-gateway configuration overrides. This field is optional; omitting it does not change existing behaviour.
createdAt
string(date-time)
false
read-only
Timestamp when the resource was created
updatedAt
string(date-time)
false
read-only
Timestamp when the resource was last updated
LLMProxyListItem
{"id":"wso2-con-assistant","displayName":"WSO2 Con Assistant","description":"Customer support assistant","createdBy":"john.doe","context":"/wso2-con-assistant","version":"v1.0","projectId":"default-project","provider":"wso2-openai-provider","status":"deployed","createdAt":"2025-11-25T10:30:00Z","updatedAt":"2025-11-25T10:30:00Z","readOnly":false}
User identifier of the user who created this resource
context
string
false
none
Context path where the proxy is exposed
version
string
false
none
none
projectId
string
false
none
Handle (URL-friendly slug) of the project this proxy belongs to
provider
string
false
none
Unique id of a deployed llm provider
status
string
false
none
none
createdAt
string(date-time)
false
none
none
updatedAt
string(date-time)
false
none
none
readOnly
boolean
false
none
True when the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane.
Enumerated Values
Property
Value
status
pending
status
deployed
status
failed
LLMProxyListResponse
{"count":2,"list":[{"id":"wso2-con-assistant","displayName":"WSO2 Con Assistant","description":"Customer support assistant","createdBy":"john.doe","context":"/wso2-con-assistant","version":"v1.0","projectId":"default-project","provider":"wso2-openai-provider","status":"deployed","createdAt":"2025-11-25T10:30:00Z","updatedAt":"2025-11-25T10:30:00Z","readOnly":false}],"pagination":{"total":10,"offset":0,"limit":10}}
Request/response translator applied when this provider is the selected upstream. The proxy injects the translator as a conditional policy whose execution condition matches this provider, so it runs only when the provider is selected. The provider's as name (defaults to id) is passed to the translator as its target upstream.
Request/response translator applied when this provider is the selected upstream. The proxy injects the translator as a conditional policy whose execution condition matches this provider, so it runs only when the provider is selected. The provider's as name (defaults to id) is passed to the translator as its target upstream.
The generated API key value — 64 hexadecimal characters, returned only in this creation response and never retrievable afterwards. The example value is a non-functional placeholder.
The generated API key value — 64 hexadecimal characters, returned only in this creation response and never retrievable afterwards. The example value is a non-functional placeholder.
MCPProxy
{"id":"weather-mcp-proxy","displayName":"Weather Server","description":"An MCP server which provides weather information","createdBy":"john.doe","readOnly":false,"updatedBy":"john.doe","version":"v1.0","projectId":"default-project","context":"/","vhost":"mcp.gw.com","upstream":{"main":{"url":"http://prod-backend:5000/api/v2","auth":{"type":"api-key","header":"X-API-Key","value":"my-api-key-value"}},"sandbox":{"url":"http://prod-backend:5000/api/v2","auth":{"type":"api-key","header":"X-API-Key","value":"my-api-key-value"}}},"mcpSpecVersion":"2025-06-18","policies":[{"executionCondition":"request.header.x-custom == 'enabled'","name":"SET_HEADER","params":{"key":"MyHeader","value":"MyValue"},"version":"v1"}],"kind":"Mcp","capabilities":{"tools":[{}],"resources":[{}],"prompts":[{}]},"associatedGateways":[{"id":"prod-eu"},{"id":"prod-us"}],"createdAt":"2019-08-24T14:15:22Z","updatedAt":"2019-08-24T14:15:22Z"}
User identifier of the user who created this resource
readOnly
boolean
false
read-only
True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
updatedBy
string
false
read-only
User identifier of the user who last updated this resource. Only present in the detail response (GET /mcp-proxies/
version
string
true
none
Semantic version of the MCP proxy
projectId
string
false
none
Handle (URL-friendly slug) of the project this proxy belongs to
context
string
false
none
Base path for all routes exposed by this proxy. Must start with / and carry no trailing slash; the single exception is the root path "/", which is the default.
vhost
string
false
none
Virtual host name used for routing. Supports standard domain names, subdomains, or wildcard domains. Must follow RFC-compliant hostname rules. Wildcards are only allowed in the left-most label (e.g., *.example.com).
Optional list of gateways this MCP proxy can be deployed to, along with per-gateway configuration overrides. This field is optional; omitting it does not change existing behaviour.
createdAt
string(date-time)
false
read-only
Timestamp when the resource was created
updatedAt
string(date-time)
false
read-only
Timestamp when the resource was last updated
Enumerated Values
Property
Value
mcpSpecVersion
2025-06-18
mcpSpecVersion
2025-11-25
MCPProxyListItem
{"id":"weather-mcp-proxy","displayName":"Weather Server","description":"An MCP server which provides weather information","createdBy":"john.doe","context":"/weather-mcp-proxy","version":"v1.0","projectId":"default-project","status":"deployed","mcpSpecVersion":"2025-11-25","createdAt":"2025-11-25T10:30:00Z","updatedAt":"2025-11-25T10:30:00Z","readOnly":false}
User identifier of the user who created this resource
context
string
false
none
Context path where the proxy is exposed
version
string
false
none
none
projectId
string
false
none
Handle (URL-friendly slug) of the project this proxy belongs to
status
string
false
none
none
mcpSpecVersion
string
false
none
none
createdAt
string(date-time)
false
none
none
updatedAt
string(date-time)
false
none
none
readOnly
boolean
false
none
True when the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane.
Enumerated Values
Property
Value
status
pending
status
deployed
status
failed
MCPProxyListResponse
{"count":2,"list":[{"id":"weather-mcp-proxy","displayName":"Weather Server","description":"An MCP server which provides weather information","createdBy":"john.doe","context":"/weather-mcp-proxy","version":"v1.0","projectId":"default-project","status":"deployed","mcpSpecVersion":"2025-11-25","createdAt":"2025-11-25T10:30:00Z","updatedAt":"2025-11-25T10:30:00Z","readOnly":false}],"pagination":{"total":10,"offset":0,"limit":10}}
Endpoint URL of the MCP server to fetch information from. Required unless proxyId is given. When sent together with proxyId it overrides that proxy's stored upstream URL, while the proxy's stored credentials are still used — this validates an unsaved endpoint edit without re-sending a write-only secret.
proxyId
string
false
none
MCP proxy handle (identifier) for refresh operations. The stored credentials of this proxy are used for the fetch, and its stored upstream URL too unless url overrides it. Required unless url is given.
Authentication configuration for the fetch request. Allowed only when proxyId is absent (initial creation flow); sending it with proxyId is rejected, as the stored auth is used whenever a proxy is referenced.
List of resource capabilities supported by this proxy
prompts
[object]
false
none
List of prompt capabilities supported by this proxy
SecretCreateRequest
{"id":"wso2-openai-key","displayName":"WSO2 OpenAI API Key","description":"Primary API key for WSO2 OpenAI integration","value":"sk-xxx","type":"GENERIC"}
Secret handle — if provided, must match the path parameter; returns 400 if they differ. The handle is immutable and cannot be changed via update.
displayName
string
true
none
Human-readable name for the secret
description
string
false
none
none
value
string
true
write-only
New plaintext secret value — re-encrypted at rest
SecretResponse
{"id":"wso2-openai-key","displayName":"WSO2 OpenAI API Key","createdBy":"john.doe","updatedBy":"john.doe","createdAt":"2019-08-24T14:15:22Z","updatedAt":"2019-08-24T14:15:22Z"}
Returned on create (201) and rotate (200). The plaintext value is never included.
User identifier of the user who created this resource
updatedBy
string
false
read-only
User identifier of the user who last updated this resource
createdAt
string(date-time)
false
none
none
updatedAt
string(date-time)
false
none
none
SecretSummary
{"id":"wso2-openai-key","displayName":"WSO2 OpenAI API Key","description":"string","type":"GENERIC","provider":"IN_BUILT","status":"ACTIVE","hash":"hmac-sha256:b94d27b9934d3e08a52e52d7da7dabfac484efe04294e576d4b3d4c57e3f428a","createdBy":"john.doe","createdAt":"2019-08-24T14:15:22Z","updatedAt":"2019-08-24T14:15:22Z"}
Secret metadata — never includes the plaintext value.
User identifier of the user who created this resource
createdAt
string(date-time)
false
none
none
updatedAt
string(date-time)
false
none
none
Enumerated Values
Property
Value
type
GENERIC
type
CERTIFICATE
provider
IN_BUILT
status
ACTIVE
status
DEPRECATED
SecretListResponse
{"count":0,"list":[{"id":"wso2-openai-key","displayName":"WSO2 OpenAI API Key","description":"string","type":"GENERIC","provider":"IN_BUILT","status":"ACTIVE","hash":"hmac-sha256:b94d27b9934d3e08a52e52d7da7dabfac484efe04294e576d4b3d4c57e3f428a","createdBy":"john.doe","createdAt":"2019-08-24T14:15:22Z","updatedAt":"2019-08-24T14:15:22Z"}],"pagination":{"total":10,"offset":0,"limit":10}}