openapi: 3.0.1 info: title: Internal Utility API description: This API allows you to access internal data. version: 1.0.0 servers: - url: 'https://apim.wso2.com/v1' paths: /block: get: tags: - Throttling summary: blocking events available description: | This will provide access to throttled events in database. responses: '200': description: Block Conditions content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/BlockConditions' /keyTemplates: get: summary: An Array of key templates according to custom policies description: | This will provide access to key templates define in custom policies responses: '200': description: An array of Key Templates content: application/json: schema: type: array items: type: string default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /keymanagers: get: summary: An Array of key managers configured description: | this will provide key managers configured parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string responses: '200': description: An array of key managers content: application/json: schema: type: array items: $ref: '#/components/schemas/KeyManager' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /api-keys: get: summary: An Array of API keys generated description: | This will provide API keys generated parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string responses: '200': description: An array of API keys content: application/json: schema: type: array items: $ref: '#/components/schemas/APIKeyList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /revokedjwt: get: summary: >- JTIs of revoked jwt tokens and application and subject entity revocation event data description: | This will provide access to - JTIs of directly revoked JWT tokens in database - consumer application information of revoked JWTs due to application change events - subject entity information of revoked JWTs due to user change events responses: '200': description: >- An object of revoke JWTs, revoked subject entities, revoked consumer keys content: application/json: schema: $ref: '#/components/schemas/RevokedEvents' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /apis: get: tags: - Subscription Validation summary: Get all apis description: | This will provide access to apis in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: apiId in: query description: | **Search condition**. Api ID schema: type: string - name: context in: query description: | **Search condition**. context of the api schema: type: string - name: version in: query description: | **Search condition**. versio of the api schema: type: string - name: gatewayLabel in: query description: | **Search condition**. label associated with the APIs schema: type: string - name: expand in: query description: > Defines whether the returned response should contain full details of API schema: type: boolean default: true - name: Accept in: header description: > Media types acceptable for the response. Default is application/json. schema: type: string default: application/json responses: '200': description: An array of APIs in the database content: application/json: schema: $ref: '#/components/schemas/APIList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /apis/{apiId}: get: tags: - Subscription Validation summary: Get API by ID (path) description: | Get a single API by UUID. When Accept is application/zip, returns a zip archive containing api.yaml in API Platform Gateway format (for platform gateway fetch after api.deployed). parameters: - name: apiId in: path required: true description: API UUID. schema: type: string - name: Accept in: header description: application/zip for API Platform gateway format; application/json for APIList. schema: type: string default: application/json responses: '200': description: API definition (zip with api.yaml when Accept application/zip, else JSON). content: application/zip: schema: type: string format: binary application/json: schema: $ref: '#/components/schemas/APIList' '404': description: API not found default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /apis/{apiId}/gateway-deployments: post: tags: - Gateway Monitoring summary: Notify API deployment (API Platform gateway format) description: | Invoked by the API Platform gateway when an API is successfully deployed. Uses the same path and JSON body as the platform control plane so the gateway can call this endpoint when connected to on-prem (BaseURL/apis/{apiId}/gateway-deployments). Authenticated via api-key header (platform gateway registration token). operationId: apisApiIdGatewayDeploymentsPost parameters: - name: apiId in: path required: true description: API UUID (must match the deployed API). schema: type: string - name: deploymentId in: query required: false description: Deployment/revision identifier. schema: type: string - name: api-key in: header required: true description: Platform gateway registration token. schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PlatformGatewayDeploymentNotification' responses: '200': description: Deployment notification received. content: application/json: schema: $ref: '#/components/schemas/DeploymentAcknowledgmentResponse' '401': description: Invalid or missing api-key. content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /apis/api-keys: get: tags: - Platform Gateway summary: Get all REST API keys for platform gateway bulk sync description: | Returns all active API-scoped keys for the APIs currently deployed on the authenticated platform gateway. Intended for on-connect backfill by the gateway controller. Authenticated via api-key header (platform gateway registration token). operationId: apisApiKeysGet parameters: - name: api-key in: header required: true description: Platform gateway registration token. schema: type: string responses: '200': description: Array of active API keys. content: application/json: schema: type: array items: $ref: '#/components/schemas/PlatformGatewayAPIKey' '401': description: Invalid or missing api-key. content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/Error' /deployments: get: tags: - Gateway Internal APIs summary: List deployments for platform gateway description: | Returns the list of deployments (API revisions) for the authenticated platform gateway. Used by the API Platform gateway at startup for deployment sync. Requires api-key header. Optional query 'since' (ISO8601) returns only deployments updated after that time. operationId: deploymentsGet parameters: - name: since in: query required: false description: Return only deployments updated at or after this timestamp (ISO8601 string). schema: type: string responses: '200': description: List of deployments for this gateway. content: application/json: schema: $ref: '#/components/schemas/GatewayDeploymentsResponse' '401': description: Missing or invalid api-key. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /deployments/fetch-batch: post: tags: - Gateway Internal APIs summary: Batch fetch deployment content as TAR.GZ description: | Returns deployment content (platform api.yaml) for the given deployment IDs as a single application/x-tar+gzip archive. Used by the API Platform gateway for startup sync. Requires api-key header. operationId: deploymentsBatchPost requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BatchDeploymentsRequest' responses: '200': description: TAR.GZ archive of deployment content. content: application/x-tar+gzip: schema: type: string format: binary '401': description: Missing or invalid api-key. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: batchDeploymentsRequest /applications: get: tags: - Subscription Validation summary: Get all applications description: | This will provide access to applications in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: appId in: query description: | **Search condition**. Application ID of the application schema: type: integer responses: '200': description: An array of applications in the database content: application/json: schema: $ref: '#/components/schemas/ApplicationList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /subscriptions: get: tags: - Subscription Validation summary: Get all subscriptions description: | This will provide access to subscriptions in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: apiId in: query description: | **Search condition**. Api ID of the subscription schema: type: integer - name: appId in: query description: | **Search condition**. Application ID of the subscription schema: type: integer - name: apiUUID in: query description: | **Search condition**. Api UUID of the subscription schema: type: string - name: applicationUUID in: query description: | **Search condition**. Application UUID of the subscription schema: type: string responses: '200': description: An array of subscriptions in the database content: application/json: schema: $ref: '#/components/schemas/SubscriptionList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /subscribe-internal: post: tags: - Subscription Validation summary: Subscribe to a subscription validation disabled API description: > This will allow creating subscriptions from applications to APIs which have subscription validation disabled. operationId: subscribeToAPI parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: appId in: query description: | Application ID of the subscription schema: type: integer - name: appUuid in: query description: | Application UUID schema: type: string requestBody: description: The API object content: '*/*': schema: $ref: '#/components/schemas/API' required: false responses: '201': description: Subscription created successfully content: application/json: schema: $ref: '#/components/schemas/Subscription' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: api /subscription-policies: get: tags: - Subscription Validation summary: Get all subscription throttling policies description: > This will provide access to subscription level throttling policies in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: policyName in: query description: | **Search condition**. Subscription policy name schema: type: string responses: '200': description: An array of subscription policies in the database content: application/json: schema: $ref: '#/components/schemas/SubscriptionPolicyList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /application-policies: get: tags: - Subscription Validation summary: Get all application throttling policies description: > This will provide access to application level throttling policies in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: policyName in: query description: | **Search condition**. Application policy name schema: type: string responses: '200': description: An array of application policies in the database content: application/json: schema: $ref: '#/components/schemas/ApplicationPolicyList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /api-policies: get: tags: - Subscription Validation summary: Get all API throttling policies description: | This will provide access to api level throttling policies in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: policyName in: query description: | **Search condition**. Api policy name schema: type: string responses: '200': description: An array of api policies in the database content: application/json: schema: $ref: '#/components/schemas/ApiPolicyList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /global-policies: get: tags: - Subscription Validation summary: Get all Global throttling policies description: | This will provide access to global throttling policies in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: policyName in: query description: | **Search condition**. Global policy name schema: type: string responses: '200': description: An array of global policies in the database content: application/json: schema: $ref: '#/components/schemas/GlobalPolicyList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /application-key-mappings: get: tags: - Subscription Validation summary: Get all application key mappings description: | This will provide access to application vs key mappings in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: consumerKey in: query description: | **Search condition**. Consumer Key of the application schema: type: string - name: keymanager in: query description: | **Search condition**. KeyManager associated to consumer_key of the application schema: type: string responses: '200': description: An array of application key mappings in the database content: application/json: schema: $ref: '#/components/schemas/ApplicationKeyMappingList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /scopes: get: tags: - Subscription Validation summary: Get all scopes. description: | This will provide access to the Scopes created in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: scopeKey in: query description: | **Search condition**. Scope Key schema: type: string responses: '200': description: An array of Scopes in Database. content: application/json: schema: $ref: '#/components/schemas/ScopesList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /runtime-artifacts: get: tags: - Retrieving Runtime artifacts summary: Get all the runtime artifacts for a given API UUID and gateway label description: | This will provide access to runtime artifacts in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: apiId in: query description: | **Search condition**. Api ID schema: type: string - name: gatewayLabel in: query description: | **Search condition**. label associated with the APIs schema: type: string - name: type in: query description: | **Search condition**. type of gateway schema: type: string - name: name in: query description: | **Search condition**. name of API schema: type: string - name: version in: query description: | **Search condition**. version of API schema: type: string responses: '200': description: List of runtime Artifacts content: {} default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /retrieve-api-artifacts: post: tags: - Retrieve API artifacts summary: Get API runtime artifacts from ID list description: > This will provide access to API runtime artifacts in database for a given API UUID list. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: gatewayLabel in: query description: | **Search condition**. label associated with the APIs schema: type: string - name: type in: query description: | type of gateway schema: type: string requestBody: description: API UUID list payload content: '*/*': schema: $ref: '#/components/schemas/UUIDList' required: false responses: '200': description: List of runtime Artifacts content: {} default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: uuidList /runtime-metadata: get: tags: - Retrieving Runtime artifacts summary: Metadata information for API runtimes description: | This will provide access to the deployment metadata in json format parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: apiId in: query description: | **Search condition**. Api ID schema: type: string - name: gatewayLabel in: query description: | **Search condition**. label associated with the APIs schema: type: string responses: '200': description: Json file of runtime metadata content: {} default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /gateway-policy-artifacts: get: tags: - Retrieving Runtime artifacts for gateway policies summary: Get all the runtime artifacts for a given API UUID and gateway label description: | This will provide access to runtime artifacts in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: policyMappingUuid in: query description: | **Search condition**. Gateway policy mapping UUID schema: type: string - name: type in: query description: | **Search condition**. type of gateway schema: type: string - name: gatewayLabel in: query description: | **Search condition**. label associated with the policy mapping schema: type: string responses: '200': description: List of runtime Artifacts content: {} default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /endpoint-certificates: get: tags: - Retrieving Runtime artifacts summary: Get all the endpoint certificates for given alias. description: | This will provide access to parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: alias in: query description: | **Search condition**. Alias schema: type: string responses: '200': description: List of endpoint certificates content: application/json: schema: $ref: '#/components/schemas/EndpointCertificateList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /apis/deployed-revisions: patch: tags: - API Revisions summary: Deploy Revision description: | Deploy a revision operationId: deployedAPIRevision requestBody: description: Notification event payload content: '*/*': schema: type: array items: $ref: '#/components/schemas/DeployedAPIRevision' required: false responses: '200': description: | Created. content: {} default: $ref: '#/components/schemas/Error' x-codegen-request-body-name: deployedAPIRevisionDTOList /apis/undeployed-revision: post: tags: - UnDeployed API Revision summary: Remove undeployed revision description: Remove undeployed Revision entry from the database operationId: unDeployedAPIRevision requestBody: description: Notification event payload content: '*/*': schema: $ref: '#/components/schemas/UnDeployedAPIRevision' required: false responses: '200': description: Fetch un-deployed revision content: {} default: $ref: '#/components/schemas/Error' x-codegen-request-body-name: unDeployedAPIRevisionDTO /ga-config: get: tags: - Retrieving Runtime artifacts summary: Get Google analytics config related to tenant. description: | This will provide access to runtime artifacts in database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string - name: apiId in: query description: | **Search condition**. Api ID schema: type: string responses: '200': description: google analytics configuration content: {} default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /webhooks-subscriptions: get: tags: - Retrieving webhooks subscriptions summary: Get webhooks subscriptions description: | This will provide list of webhooks subscriptions from the database. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string responses: '200': description: An array of webhooks subscriptions content: application/json: schema: $ref: '#/components/schemas/webhooksSubscriptionsList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /notify: post: tags: - Notification summary: Push notification events into nodes. description: | This pushes events to the other nodes. parameters: - name: X-WSO2-KEY-MANAGER in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string requestBody: description: Notification event payload content: '*/*': schema: type: string required: false responses: '200': description: Event Received success content: application/json: schema: type: object default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body /api-logging-configs: get: tags: - Logging summary: Retrieve persisted per API logging data. description: | This retrieve the persisted API logging data for API logging support. parameters: - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string responses: '200': description: Event Received success content: application/json: schema: $ref: '#/components/schemas/APILoggingConfigList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /llm-providers: get: tags: - LLMProviders summary: Retrieve persisted LLM Providers description: | This retrieve the persisted LLM Providers. operationId: getLLMProviders parameters: - name: name in: query schema: type: string - name: apiVersion in: query schema: type: string - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string responses: '200': description: LLM providers received success content: application/json: schema: $ref: '#/components/schemas/LLMProviderList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/llm-providers/{llmProviderId}': get: tags: - LLMProviders summary: Retrieve persisted LLM Providers description: | This retrieve the persisted LLM Providers. operationId: getLLMProviderById parameters: - name: llmProviderId in: path required: true schema: type: string - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string responses: '200': description: Event Received success content: application/json: schema: $ref: '#/components/schemas/LLMProviderList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /correlation-configs: get: tags: - Logging summary: Retrieve persisted correlation configs data. description: > This retrieve the persisted correlation configs data for updating correlation logs. responses: '200': description: An array of correlation component configs content: application/json: schema: $ref: '#/components/schemas/CorrelationComponentsList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /transaction-records: post: summary: Insert Transaction Records description: Inserts a list of transaction records into the database. operationId: insertTransactionRecords requestBody: description: A list of transaction records to be inserted content: '*/*': schema: type: array items: $ref: '#/components/schemas/TransactionRecord' required: true responses: '200': description: Successfully inserted transaction records content: application/json: schema: type: boolean '400': description: Bad request. Invalid input data. content: {} '500': description: Internal server error. Failed to insert transaction records. content: {} x-codegen-request-body-name: body /tenant-info: get: tags: - Tenant summary: Retrieve tenant information description: | This will provide access to tenant information. parameters: - name: filter in: query schema: type: string - name: xWSO2Tenant in: header description: > This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string responses: '200': description: Tenant information received successfully content: application/json: schema: $ref: '#/components/schemas/TenantInfoList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /notify-gateway: post: summary: Gateway Register or Heartbeat tags: - Gateway Lifecycle description: | Accepts a payload indicating either a gateway registration or a heartbeat update. The `payloadType` field distinguishes the operation. operationId: notifyGatewayPost requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NotifyGatewayPayload' responses: '200': description: Successful response for registration or heartbeat. content: application/json: schema: $ref: '#/components/schemas/NotifyGatewayStatusResponse' '400': description: Invalid payload content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal server error while processing gateway status. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /notify-api-deployment-status: post: tags: - Gateway Monitoring summary: Acknowledge an API Revision Deployment description: | This endpoint is invoked by the Gateway to notify the Control Plane about the status of an API revision deployment or undeployment. operationId: notifyApiDeploymentStatusPost requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GatewayDeploymentStatusAcknowledgmentList' responses: '200': description: Deployment acknowledgement received successfully. content: application/json: schema: $ref: '#/components/schemas/DeploymentAcknowledgmentResponse' '400': description: Malformed deployment acknowledgment payload. content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal server error while processing deployment status. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: SynapseAttributes: type: object properties: count: type: integer labels: type: array items: type: string apiId: type: string Error: type: object properties: code: type: integer format: int32 message: type: string fields: type: string BlockConditions: type: object properties: api: type: array items: type: string application: type: array items: type: string ip: type: array items: $ref: '#/components/schemas/IPLevel' user: type: array items: type: string custom: type: array items: type: string subscription: type: array items: type: string UUIDList: type: object properties: uuids: type: array items: type: string RevokedEvents: type: object properties: revokedJWTList: type: array items: $ref: '#/components/schemas/RevokedJWT' revokedJWTSubjectEntityList: type: array items: $ref: '#/components/schemas/RevokedJWTSubjectEntity' revokedJWTConsumerKeyList: type: array items: $ref: '#/components/schemas/RevokedJWTConsumerKey' RevokedJWT: type: object properties: jwt_signature: type: string description: signature of the JWT token. expiry_time: type: integer description: expiry timestamp. format: int64 RevokedJWTSubjectEntity: type: object properties: entity_id: type: string description: Subject Id of the revoked JWT(s). Can be user id or client id. entity_type: type: string description: Type of the subject id. User id or client id. revocation_time: type: integer description: revocation timestamp. format: int64 organization: type: string description: Organization of the revoked subject entity. RevokedJWTConsumerKey: type: object properties: consumer_key: type: string description: consumer key of the JWT. revocation_time: type: integer description: revocation timestamp. format: int64 type: type: string description: revoked consumer key type. organization: type: string description: organization of the revoked consumer key RevokeAPIKey: type: object properties: apiKey: type: string description: API Key token. expiryTime: type: integer description: expiry timestamp. format: int64 tenantId: type: integer description: expiry timestamp. format: int64 IPLevel: type: object properties: type: type: string example: iprange fixedIp: type: string description: IP address. startingIp: type: string description: Ip Range Starting IP endingIp: type: string description: Ip Range Ending IP. invert: type: boolean description: Condition is invert. tenantDomain: type: string id: type: integer APIList: title: API List type: object properties: count: type: integer description: | Number of APIs returned. example: 1 list: type: array items: $ref: '#/components/schemas/API' pagination: $ref: '#/components/schemas/Pagination' APIKey: type: object properties: apiKeyHash: type: string keyName: type: string keyType: type: string status: type: string expiresAt: type: integer format: int64 authUser: type: string appId: type: integer apiId: type: integer applicationUUID: type: string apiUUID: type: string validityPeriod: type: integer format: int64 createdTime: type: integer format: int64 additionalProperties: type: object properties: { } keyBoundary: type: string enum: - API - APPLICATION APIKeyList: title: API Key List type: object properties: count: type: integer description: | Number of API Keys returned. example: 1 list: type: array items: $ref: '#/components/schemas/APIKey' pagination: $ref: '#/components/schemas/Pagination' DeployedAPIRevision: title: Deployed revision information type: object properties: apiId: maxLength: 255 minLength: 0 type: string example: c26b2b9b-4632-4ca4-b6f3-521c8863990c revisionId: type: integer example: 1 envInfo: type: array items: $ref: '#/components/schemas/DeployedEnvInfo' UnDeployedAPIRevision: title: UnDeployed revision information type: object properties: apiUUID: maxLength: 255 minLength: 0 type: string example: c26b2b9b-4632-4ca4-b6f3-521c8863990c revisionUUID: maxLength: 255 minLength: 0 type: string example: c26b2b9b-4632-4ca4-b6f3-521c8863990c environment: maxLength: 255 minLength: 0 type: string example: Default GatewayDeploymentInfo: description: Single deployment info for gateway sync (platform contract). type: object properties: deploymentId: type: string description: Deployment/revision identifier (revision UUID on-prem). artifactId: type: string description: Artifact identifier (API UUID on-prem). kind: type: string description: Artifact type (e.g. RestApi). state: type: string description: >- Desired deployment state of the artifact on the gateway. Every entry returned by this endpoint is currently deployed; absence from the list means undeployed/orphaned. deployedAt: type: string description: When the deployment was last (un)deployed (ISO-8601 date-time string). GatewayDeploymentsResponse: description: Response for GET /deployments (platform contract). type: object properties: deployments: type: array items: $ref: '#/components/schemas/GatewayDeploymentInfo' BatchDeploymentsRequest: description: Request body for POST /deployments/batch. type: object required: - deploymentIds properties: deploymentIds: type: array items: type: string description: List of deployment IDs (revision UUIDs) to fetch. DeployedEnvInfo: title: Environment information type: object properties: name: maxLength: 255 minLength: 1 type: string example: default vhost: maxLength: 255 minLength: 1 pattern: >- ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$ type: string example: mg.wso2.com API: type: object properties: uuid: type: string description: UUID of API apiId: type: integer provider: type: string description: API Provider name. name: type: string description: Name of the API version: type: string description: Version of the API. context: type: string description: Context of the API. contextTemplate: type: string description: Context template of the API. policy: type: string description: API level throttling policy. apiType: type: string description: Type of the API. example: APIProduct status: type: string description: Type of the API. example: APIProduct organization: type: string description: Organization of the API. example: wso2.com isDefaultVersion: type: boolean description: Whether this is the default version of the API. example: false apiPolicies: type: array items: $ref: '#/components/schemas/OperationPolicy' urlMappings: type: array items: $ref: '#/components/schemas/URLMapping' securityScheme: type: string description: Available authentication methods of the API. example: 'Oauth2,api_key' isSubscriptionValidationDisabled: type: boolean description: Whether subscription validation is disabled. example: false default: false isEgress: type: boolean description: Indicates if the API is an egress API. example: false subtype: type: string description: The subtype of the API. example: Default synapseArtifact: type: object properties: apiId: type: string apiName: type: string description: API Provider name. version: type: string description: version of the API tenantDomain: type: string description: tenantDomain of the API gatewayLabel: type: string description: label of the API gatewayInstruction: type: string description: Publish/Remove bytesEncodedAsString: type: string description: bytes ApplicationList: title: Application List type: object properties: count: type: integer description: | Number of Applications returned. example: 1 list: type: array items: $ref: '#/components/schemas/Application' pagination: $ref: '#/components/schemas/Pagination' Application: type: object properties: uuid: type: string id: type: integer name: type: string subName: type: string policy: type: string description: Application level throtting policy. tokenType: type: string description: type of the token. example: JWT groupIds: type: array description: group ids associated with the application. example: wso2 items: $ref: '#/components/schemas/GroupId' attributes: type: object additionalProperties: type: string organization: type: string description: organization of application. GroupId: title: Application Group Id type: object properties: groupId: type: string applicationId: type: integer KeyManager: type: object properties: uuid: type: string name: type: string type: type: string enabled: type: boolean organization: type: string additionalProperties: type: object properties: {} tokenType: type: string description: >- The type of the tokens to be used (exchanged or without exchanged). Accepted values are EXCHANGED, DIRECT or BOTH. example: EXCHANGED default: DIRECT enum: - EXCHANGED - DIRECT - BOTH SubscriptionList: title: Application List type: object properties: count: type: integer description: | Number of Subscriptions returned. example: 1 list: type: array items: $ref: '#/components/schemas/Subscription' pagination: $ref: '#/components/schemas/Pagination' Subscription: type: object properties: subscriptionUUID: type: string subscriptionId: type: integer policyId: type: string apiUUID: type: string apiId: type: integer applicationUUID: type: string appId: type: integer subscriptionState: type: string apiName: type: string apiVersion: type: string apiOrganization: type: string applicationOrganization: type: string SynapseArtifactList: title: SynapseArtifactList type: object properties: count: type: integer description: | Number of Synapse Artifacts returned. example: 1 list: type: array items: type: string pagination: $ref: '#/components/schemas/Pagination' ApplicationKeyMappingList: title: ApplicationKeyMapping List type: object properties: count: type: integer description: | Number of ApplicationKeyMappings returned. example: 1 list: type: array items: $ref: '#/components/schemas/ApplicationKeyMapping' pagination: $ref: '#/components/schemas/Pagination' ApplicationKeyMapping: type: object properties: applicationId: type: integer applicationUUID: type: string consumerKey: type: string keyType: type: string keyManager: type: string ScopesList: title: Scopes List type: object properties: count: type: integer description: | Number of Scopes returned. example: 1 list: type: array items: $ref: '#/components/schemas/Scope' pagination: $ref: '#/components/schemas/Pagination' Scope: type: object properties: name: type: string displayName: type: string description: type: string roles: type: array items: type: string webhooksSubscriptionsList: title: Scopes List type: object properties: list: type: array items: $ref: '#/components/schemas/webhooksSubscription' pagination: $ref: '#/components/schemas/Pagination' webhooksSubscription: type: object properties: apiUUID: type: string description: The API UUID apiContext: type: string description: The API context. apiVersion: type: string description: The API version. tenantDomain: type: string description: The tenant domain. tenantId: type: integer description: The tenant id. example: -1234 appID: type: string description: The application ID of the subscription. example: '1' callbackURL: type: string description: The callback URL topicName: type: string description: The topic name. secret: type: string description: Secret value of the subscription. expiryTime: type: integer description: the expiry time in millis format: int64 tier: type: string description: the subscription tier. example: Bronze applicationTier: type: string description: the application tier. example: Unlimited apiTier: type: string description: the API tier. example: Bronze subscriberName: type: string description: the subscriber name. example: admin Policy: type: object properties: id: type: integer tenantId: type: integer tenantDomain: type: string name: type: string quotaType: type: string SubscriptionPolicyList: title: SubscriptionPolicy List type: object properties: count: type: integer description: | Number of SubscriptionPolices returned. example: 1 list: type: array items: $ref: '#/components/schemas/SubscriptionPolicy' pagination: $ref: '#/components/schemas/Pagination' SubscriptionPolicy: allOf: - $ref: '#/components/schemas/Policy' - $ref: '#/components/schemas/GraphQLQuery' - type: object properties: rateLimitCount: type: integer rateLimitTimeUnit: type: string stopOnQuotaReach: type: boolean defaultLimit: $ref: '#/components/schemas/ThrottleLimit' GraphQLQuery: title: GraphQL Query type: object properties: graphQLMaxComplexity: type: integer description: Maximum Complexity of the GraphQL query example: 400 graphQLMaxDepth: type: integer description: Maximum Depth of the GraphQL query example: 10 ApplicationPolicyList: title: ApplicationPolicy List type: object properties: count: type: integer description: | Number of ApplicationPolicies returned. example: 1 list: type: array items: $ref: '#/components/schemas/ApplicationPolicy' pagination: $ref: '#/components/schemas/Pagination' ApplicationPolicy: properties: defaultLimit: $ref: '#/components/schemas/ThrottleLimit' burstLimit: $ref: '#/components/schemas/BurstLimit' allOf: - $ref: '#/components/schemas/Policy' ApiPolicyList: title: ApiPolicy List type: object properties: count: type: integer description: | Number of Api Policies returned. example: 1 list: type: array items: $ref: '#/components/schemas/ApiPolicy' pagination: $ref: '#/components/schemas/Pagination' ApiPolicy: allOf: - $ref: '#/components/schemas/Policy' - type: object properties: conditionGroups: type: array items: $ref: '#/components/schemas/ApiPolicyConditionGroup' applicableLevel: type: string defaultLimit: $ref: '#/components/schemas/ThrottleLimit' ApiPolicyConditionGroup: type: object properties: policyId: type: integer quotaType: type: string conditionGroupId: type: integer condition: type: array items: $ref: '#/components/schemas/Condition' defaultLimit: $ref: '#/components/schemas/ThrottleLimit' Condition: type: object properties: conditionType: type: string name: type: string value: type: string isInverted: type: boolean GlobalPolicyList: title: Global Policy List type: object properties: count: type: integer description: | Number of Global Policies returned. example: 1 list: type: array items: $ref: '#/components/schemas/GlobalPolicy' pagination: $ref: '#/components/schemas/Pagination' GlobalPolicy: allOf: - $ref: '#/components/schemas/Policy' - type: object properties: siddhiQuery: type: string keyTemplate: type: string URLMapping: type: object properties: authScheme: type: string throttlingPolicy: type: string httpMethod: type: string urlPattern: type: string scopes: type: array items: type: string description: type: string schemaDefinition: type: string backendOperationMapping: $ref: '#/components/schemas/BackendOperationMapping' apiOperationMapping: $ref: '#/components/schemas/APIOperationMapping' operationPolicies: type: array items: $ref: '#/components/schemas/OperationPolicy' OperationPolicy: title: Operation Policy type: object properties: policyName: type: string policyVersion: type: string direction: type: string policyId: type: string order: type: integer parameters: type: object additionalProperties: type: object properties: {} Pagination: title: Pagination type: object properties: offset: type: integer example: 0 limit: type: integer example: 1 total: type: integer example: 10 next: type: string description: | Link to the next subset of resources qualified. Empty if no more resources are to be returned. previous: type: string description: | Link to the previous subset of resources qualified. Empty if current subset is the first subset returned. ThrottleLimitBase: title: Throttle Limit Base required: - timeUnit - unitTime type: object properties: timeUnit: type: string description: 'Unit of the time. Allowed values are "sec", "min", "hour", "day"' example: min unitTime: type: integer description: Time limit that the throttling limit applies. example: 10 ThrottleLimit: title: Throttle Limit type: object properties: quotaType: type: string requestCount: $ref: '#/components/schemas/RequestCountLimit' bandwidth: $ref: '#/components/schemas/BandwidthLimit' eventCount: $ref: '#/components/schemas/EventCountLimit' aiApiQuota: $ref: '#/components/schemas/AIAPIQuotaLimit' BurstLimit: title: Burst Limit object type: object properties: rateLimitCount: type: integer description: Burst control request count example: 10 rateLimitTimeUnit: type: string description: Burst control time unit example: min BandwidthLimit: title: Bandwidth Limit object allOf: - $ref: '#/components/schemas/ThrottleLimitBase' - required: - dataAmount - dataUnit type: object properties: dataAmount: type: integer description: Amount of data allowed to be transfered format: int64 example: 1000 dataUnit: type: string description: >- Unit of data allowed to be transfered. Allowed values are "KB", "MB" and "GB" example: KB RequestCountLimit: title: Request Count Limit object allOf: - $ref: '#/components/schemas/ThrottleLimitBase' - required: - requestCount type: object properties: requestCount: type: integer description: Maximum number of requests allowed format: int64 example: 1000 EventCountLimit: title: Event Count Limit object allOf: - $ref: '#/components/schemas/ThrottleLimitBase' - required: - eventCount type: object properties: eventCount: type: integer description: Maximum number of events allowed format: int64 example: 3000 AIAPIQuotaLimit: title: AI Quota Limit object allOf: - $ref: '#/components/schemas/ThrottleLimitBase' - required: - requestCount type: object properties: requestCount: type: integer description: Maximum number of requests allowed format: int64 example: 1000 totalTokenCount: type: integer description: Maximum number of total tokens allowed format: int64 example: 1000 promptTokenCount: type: integer description: Maximum number of prompt tokens allowed format: int64 example: 300 completionTokenCount: type: integer description: Maximum number of completion tokens allowed format: int64 example: 300 LLMProviderList: title: LLM Provider Config List type: object properties: llmProviders: type: array items: $ref: '#/components/schemas/LLMProvider' LLMProvider: title: LLM Provider type: object properties: id: type: string name: type: string apiVersion: type: string organization: type: string configurations: type: string APILoggingConfigList: title: apis type: object properties: apis: type: array items: $ref: '#/components/schemas/APILoggingConfig' APILoggingConfig: title: API Info object with log details required: - context - logLevel type: object properties: context: type: string example: pizashack/v1.0.0 logLevel: type: string example: all resourceMethod: type: string example: GET resourcePath: type: string example: /v1.0.0/pizza CorrelationComponentsList: title: correlation-components type: object properties: components: type: array items: $ref: '#/components/schemas/CorrelationComponent' CorrelationComponent: title: Correlation Component INFO object type: object properties: name: type: string example: http enabled: type: string example: 'true' properties: type: array items: $ref: '#/components/schemas/CorrelationComponentProperty' CorrelationComponentProperty: title: Properties for correlation components type: object properties: name: type: string example: deniedThreads value: type: array items: type: string example: MessageDeliveryTaskPool TransactionRecord: required: - count - id - recordedTime type: object properties: id: type: string serverID: type: string serverType: type: string host: type: string count: type: integer recordedTime: type: string TenantInfoList: title: TenantInfoList type: object properties: tenants: type: array items: $ref: '#/components/schemas/TenantInfo' TenantInfo: title: TenantInfo type: object properties: tenantId: type: integer admin: type: string domain: type: string adminFullName: type: string adminFirstName: type: string adminLastName: type: string email: type: string active: type: boolean EndpointCertificate: title: EndpointCertificate type: object properties: alias: type: string endpoint: type: string certificate: type: string tenantId: type: integer organization: type: string EndpointCertificateList: title: EndpointCertificateList type: object properties: certificates: type: array items: $ref: '#/components/schemas/EndpointCertificate' NotifyGatewayPayload: type: object required: - payloadType properties: payloadType: type: string enum: - REGISTER - HEARTBEAT description: | Indicates the type of payload. - "REGISTER": Gateway registration payload - "HEARTBEAT": Heartbeat update payload example: REGISTER gatewayProperties: $ref: '#/components/schemas/GatewayProperties' loadingTenants: type: array items: type: string description: List of tenant names example: ["tenant1.com", "tenant2.org", "carbon.super"] environmentLabels: type: array description: A list of environments this gateway supports. items: type: string example: ["default", "production", "sandbox"] gatewayId: type: string description: The unique identifier assigned to the newly registered gateway. timeStamp: type: integer description: The timestamp when the heartbeat was generated. format: int64 NotifyGatewayStatusResponse: type: object required: - status properties: status: type: string description: Response status enum: - REGISTERED - ACKNOWLEDGED example: REGISTERED gatewayId: type: string description: Returned if registration was successful. example: "ID_1" GatewayProperties: type: object description: Technical properties of the gateway instance. properties: ipAddress: type: string format: ipv4 description: The IP address of the gateway instance. example: "192.168.1.100" GatewayDeploymentStatusAcknowledgmentList: title: API Revision Deployment Status acknowledgements List type: object properties: count: type: integer description: | Number of APIs returned. example: 1 list: type: array items: $ref: '#/components/schemas/GatewayDeploymentStatusAcknowledgment' GatewayDeploymentStatusAcknowledgment: type: object required: - gatewayId - apiId - tenantDomain - deploymentStatus - timeStamp properties: gatewayId: type: string description: The unique identifier assigned to the newly registered gateway. apiId: type: string description: Unique identifier of the deployed API. example: "3c2240f2-33f1-4c6d-936e-74172ea864ab" tenantDomain: type: string deploymentStatus: type: string description: The final status of the deployment action. enum: [SUCCESS, FAILURE] timeStamp: type: integer description: The timestamp when the heartbeat was generated. format: int64 action: type: string description: The action performed by the gateway. enum: [DEPLOY, UNDEPLOY] revisionId: type: string description: Unique identifier of the API revision that was deployed or undeployed. example: "f46c7962-cd36-4aa6-b804-8d66ad6a0dc4" errorCode: type: integer description: A unique code identifying the error, present only if deploymentStatus is 'FAILURE'. errorMessage: type: string description: A descriptive error message, present only if deploymentStatus is 'FAILURE'. PlatformGatewayAPIKey: description: An active API-scoped key for a platform gateway, returned during bulk sync. type: object properties: uuid: type: string description: Unique identifier of the API key. name: type: string description: Human-readable name of the API key. maskedApiKey: type: string description: Masked representation of the API key (plaintext is not stored). apiKeyHashes: type: object additionalProperties: type: string description: Map of hash algorithm to hash value, e.g. {"sha256":""}. artifactUuid: type: string description: UUID of the API this key is scoped to. status: type: string description: Key status, e.g. ACTIVE. createdAt: type: string description: ISO-8601 creation timestamp. createdBy: type: string description: Username that created this key. updatedAt: type: string description: ISO-8601 last-updated timestamp. expiresAt: type: string description: ISO-8601 expiry timestamp. Absent if the key never expires. etag: type: string description: Opaque version tag for cache validation. source: type: string description: Origin of the key, e.g. 'external'. externalRefId: type: string description: External reference identifier. issuer: type: string description: Issuer identifier. PlatformGatewayDeploymentNotification: description: API Platform gateway deployment notification (sent by gateway after deploy). type: object additionalProperties: true properties: id: type: string description: API ID (deployed API). status: type: string description: Deployment status (e.g. DEPLOYED). configuration: type: object description: API configuration snapshot. createdAt: type: string format: date-time updatedAt: type: string format: date-time deployedAt: type: string format: date-time deployedVersion: type: integer format: int64 projectIdentifier: type: string DeploymentAcknowledgmentResponse: type: object required: - status properties: status: type: string description: Response status enum: - RECEIVED - DROPPED example: RECEIVED BackendOperation: title: BackendOperation type: object properties: target: type: string verb: type: string BackendOperationMapping: title: BackendOperationMapping type: object properties: backendId: type: string backendOperation: $ref: '#/components/schemas/BackendOperation' APIOperationMapping: title: APIOperationMapping type: object properties: apiUUID: type: string apiName: type: string apiVersion: type: string apiContext: type: string backendOperation: $ref: '#/components/schemas/BackendOperation' parameters: requestedTenant: name: xWSO2Tenant in: header description: | This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string type: name: X-WSO2-KEY-MANAGER in: header description: | This is used to specify the tenant domain, where the resource need to be retrieved from. required: true schema: type: string Accept: name: Accept in: header description: | Media types acceptable for the response. Default is application/json. schema: type: string default: application/json