openapi: 3.0.3
info:
title: Gravitee.io APIM - Management API - APIs
description: This is the OpenAPI specification for our new version of APIM Management
API.
contact:
name: GraviteeSource Team
url: https://gravitee.io
email: team-apim@graviteesource.com
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: 2.0.0
security:
- bearerAuth: []
servers:
- url: '{protocol}://{managementAPIHost}/management/v2'
description: APIM Management API v2 - Default base URL
variables:
protocol:
description: The protocol you want to use to communicate with the mAPI
default: https
enum:
- https
- http
managementAPIHost:
description: The domain of the server hosting your Management API
default: localhost:8083
- url: '{protocol}://{managementAPIHost}/management/v2/organizations/{orgId}'
description: APIM Management API v2 - Base URL to target specific organizations
variables:
protocol:
description: The protocol you want to use to communicate with the mAPI
default: https
enum:
- https
- http
managementAPIHost:
description: The domain of the server hosting your Management API
default: localhost:8083
orgId:
description: The unique ID of your organization
default: DEFAULT
tags:
- name: APIs
description: Everything about APIs
- name: API Documentation
description: Everything about API documentation pages
- name: API Members
description: Everything about API members
- name: API Plans
description: Everything about API plans
- name: API Analytics
description: Everything about API analytics
- name: API Health
description: Everything about API health
- name: API Subscriptions
description: Everything about API subscriptions
- name: API Events
description: Everything about API events
- name: API Audits
description: Everything about API audits
- name: Groups
description: Everything about groups
- name: Integrations
description: Everything about integration
- name: Integration Members
description: Everything about Integration members
- name: Categories
description: Everything about categories
paths:
/environments/{envId}/apis:
parameters:
- $ref: '#/components/parameters/envIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
- $ref: '#/components/parameters/apisSearchExpandsParam'
tags:
- APIs
summary: List APIs
description: 'List APIs
Get the list of APIs for a specific environment.
The results are paginated.'
operationId: listApis
responses:
'200':
$ref: '#/components/responses/ApisResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: list_apis
title: List Apis
description: 'List APIs
Get the list of APIs for a specific environment.
The results are paginated.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
post:
tags:
- APIs
summary: Create an API
description: 'Create an API
⚠️ Support only v4 API for the moment. ⚠️
Create a new API.
For V4 PROXY APIs, provide listeners with HTTP paths and an http-proxy entrypoint,
plus endpointGroups with an http-proxy endpoint.
Example request body: {"name":"My API","apiVersion":"1.0","definitionVersion":"V4","type":"PROXY","listeners":[{"type":"HTTP","paths":[{"path":"/my-api"}],"entrypoints":[{"type":"http-proxy"}]}],"endpointGroups":[{"name":"default","type":"http-proxy","endpoints":[{"name":"backend","type":"http-proxy","configuration":{"target":"https://backend.example.com"}}]}]}'
operationId: createApi
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApiV4'
required: true
responses:
'201':
description: API successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/ApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: create_api
title: Create Api
description: 'Create an API
⚠️ Support only v4 API for the moment. ⚠️
Create a new API.
For V4 PROXY APIs, provide listeners with HTTP paths and an http-proxy entrypoint,
plus endpointGroups with an http-proxy endpoint.
Example request body: {"name":"My API","apiVersion":"1.0","definitionVersion":"V4","type":"PROXY","listeners":[{"type":"HTTP","paths":[{"path":"/my-api"}],"entrypoints":[{"type":"http-proxy"}]}],"endpointGroups":[{"name":"default","type":"http-proxy","endpoints":[{"name":"backend","type":"http-proxy","configuration":{"target":"https://backend.example.com"}}]}]}'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/_import/swagger:
parameters:
- $ref: '#/components/parameters/envIdParam'
post:
tags:
- APIs
summary: Import API definition
description: 'Import API definition
⚠️ Support only v4 API for the moment. ⚠️
Create an API by importing from
an Open API descriptor.
This definition can be retrieved from `GET /environments/{envId}/apis/{apiId}/_export/definition`'
operationId: createApiFromSwagger
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImportSwaggerDescriptor'
required: true
responses:
'201':
description: API successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/ApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: create_api_from_swagger
title: Create Api From Swagger
description: 'Import API definition
⚠️ Support only v4 API for the moment. ⚠️
Create an API by importing
from an Open API descriptor.
This definition can be retrieved from
`GET /environments/{envId}/apis/{apiId}/_export/definition`'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/_import/wsdl:
parameters:
- $ref: '#/components/parameters/envIdParam'
post:
tags:
- APIs
summary: Create API from WSDL
description: 'Create API from WSDL
Create a v4 HTTP Proxy API from a WSDL descriptor. The WSDL is converted to
OpenAPI and processed through the v4 OAI import pipeline. Payload can be inline
WSDL (type: INLINE) or a remote URL (type: URL).'
operationId: createApiFromWsdl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImportWsdlDescriptor'
required: true
responses:
'201':
description: API successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/ApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: create_api_from_wsdl
title: Create Api From Wsdl
description: 'Create API from WSDL
Create a v4 HTTP Proxy API from a WSDL descriptor. The WSDL is converted
to OpenAPI and processed through the v4 OAI import pipeline. Payload can
be inline WSDL (type: INLINE) or a remote URL (type: URL).'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/_import/definition:
parameters:
- $ref: '#/components/parameters/envIdParam'
post:
tags:
- APIs
summary: Import API definition
description: 'Import API definition
⚠️ Support only v4 API for the moment. ⚠️
Create an API by importing an
API definition.
This definition can be retrieved from `GET /environments/{envId}/apis/{apiId}/_export/definition`'
operationId: createApiWithImportDefinition
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportApiV4'
required: true
responses:
'201':
description: API successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/ApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: create_api_with_import_definition
title: Create Api With Import Definition
description: 'Import API definition
⚠️ Support only v4 API for the moment. ⚠️
Create an API by importing
an API definition.
This definition can be retrieved from `GET /environments/{envId}/apis/{apiId}/_export/definition`'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/_import/definition-url:
parameters:
- $ref: '#/components/parameters/envIdParam'
post:
tags:
- APIs
summary: Import API definition from a remote URL
description: 'Import API definition from a remote URL
⚠️ Support only v4 API for the moment. ⚠️
Create an API by fetching an
API definition from a remote URL.
The URL must be permitted by the configured
import whitelist.'
operationId: createApiWithImportDefinitionFromUrl
requestBody:
content:
text/plain:
schema:
type: string
format: uri
example: https://example.com/api-definition.json
required: true
responses:
'201':
description: API successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/ApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: create_api_with_import_definition_from_url
title: Create Api With Import Definition From Url
description: 'Import API definition from a remote URL
⚠️ Support only v4 API for the moment. ⚠️
Create an API by fetching
an API definition from a remote URL.
The URL must be permitted by the
configured import whitelist.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/_search:
parameters:
- $ref: '#/components/parameters/envIdParam'
post:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
- $ref: '#/components/parameters/apiSortByParam'
- $ref: '#/components/parameters/apisGetExpandsParam'
- $ref: '#/components/parameters/apiManageOnlyParam'
tags:
- APIs
summary: Search APIs
description: 'Search APIs
Search APIs for a specific environment.
The results are paginated and
can be sorted.'
operationId: searchApis
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSearchQuery'
required: true
responses:
'200':
$ref: '#/components/responses/ApisResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: search_apis
title: Search Apis
description: 'Search APIs
Search APIs for a specific environment.
The results are paginated and
can be sorted.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/_verify/paths:
parameters:
- $ref: '#/components/parameters/envIdParam'
post:
parameters:
- $ref: '#/components/parameters/envIdParam'
tags:
- APIs
summary: Verify HTTP API paths
description: 'Verify HTTP API paths
Verify paths before creating or updating a HTTP API.
This will check paths
and hosts (depending on environment domain restrictions), and will check that
path is not already used by other APIs in the environment.
The result
will indicate if the paths are OK, and give the reason of the failure if they
are not (path contains invalid chars, path is already covered by another API,...)'
operationId: verifyPaths
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyApiPaths'
required: true
responses:
'200':
$ref: '#/components/responses/VerifyApiPathsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: verify_paths
title: Verify Paths
description: 'Verify HTTP API paths
Verify paths before creating or updating a HTTP API.
This will check
paths and hosts (depending on environment domain restrictions), and will
check that path is not already used by other APIs in the environment.
The result will indicate if the paths are OK, and give the reason of the
failure if they are not (path contains invalid chars, path is already covered
by another API,...)'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/_verify/hosts:
parameters:
- $ref: '#/components/parameters/envIdParam'
post:
parameters:
- $ref: '#/components/parameters/envIdParam'
tags:
- APIs
summary: Verify TCP and Kafka API hosts
description: 'Verify TCP and Kafka API hosts
Verify hosts before creating or updating a TCP or Kafka API.
This will
check it is not already used by other APIs in the environment.
The result
will indicate if the hosts are OK, and give the reason of the failure if they
are not.'
operationId: verifyHosts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyApiHosts'
required: true
responses:
'200':
$ref: '#/components/responses/VerifyApiHostsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: verify_hosts
title: Verify Hosts
description: 'Verify TCP and Kafka API hosts
Verify hosts before creating or updating a TCP or Kafka API.
This will
check it is not already used by other APIs in the environment.
The result
will indicate if the hosts are OK, and give the reason of the failure if
they are not.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- APIs
summary: Get a specific API
description: 'Get a specific API
Get a specific API.'
operationId: getApi
responses:
'200':
description: API found
content:
application/json:
schema:
$ref: '#/components/schemas/Api'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api
title: Get Api
description: 'Get a specific API
Get a specific API.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
put:
tags:
- APIs
summary: Update an API
description: 'Update an API
Update a V2 or a V4 API.
Fetch the current API first, modify the complete API body, then submit the
full update payload.'
operationId: updateApi
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateApi'
required: true
responses:
'200':
description: API successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/Api'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_api
title: Update Api
description: 'Update an API
Update a V2 or a V4 API.
Fetch the current API first, modify the complete API body, then submit the
full update payload.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
patch:
tags:
- APIs
summary: Patch a V4 HTTP Proxy API
description: 'Patch a V4 HTTP Proxy API
Partially update a V4 HTTP Proxy API using JSON Patch (RFC 6902) or JSON Merge
Patch (RFC 7396). Only the following fields are patchable: name, description,
apiVersion, visibility, labels, tags, lifecycleState, categories, groups,
analytics, failover, flowExecution, flows, services, resources, endpointGroups,'
operationId: patchApi
parameters:
- name: dryRun
in: query
required: false
schema:
type: boolean
default: false
requestBody:
required: true
content:
application/merge-patch+json:
schema:
$ref: '#/components/schemas/ApiMergePatch'
application/json:
schema:
$ref: '#/components/schemas/ApiMergePatch'
application/json-patch+json:
schema:
$ref: '#/components/schemas/ApiJsonPatch'
responses:
'200':
description: API successfully patched
content:
application/json:
schema:
$ref: '#/components/schemas/ApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: patch_api
title: Patch Api
description: 'Patch a V4 HTTP Proxy API
Partially update a V4 HTTP Proxy API using JSON Patch (RFC 6902) or JSON
Merge Patch (RFC 7396). Only the following fields are patchable: name, description,
apiVersion, visibility, labels, tags, lifecycleState, categories, groups,
analytics, failover, flowExecution, flows, services, resources, endpointGroups,'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
delete:
parameters:
- name: closePlans
in: query
required: false
description: 'Set to true to force deletion by closing API plans.
⚠️ Closed plans can''t be reopened and every active subscriptions will also
be closed. ⚠️'
schema:
type: boolean
tags:
- APIs
summary: Delete an API
description: 'Delete an API
Delete a V2 or a V4 API.
High risk operation: require explicit user confirmation before execution.'
operationId: deleteApi
responses:
'204':
description: API successfully deleted
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: delete_api
title: Delete Api
description: 'Delete an API
Delete a V2 or a V4 API.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/background:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- APIs
summary: Get an API's background picture
description: 'Get an API''s background picture
Get the API''s background picture.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: getApiBackground
responses:
'200':
$ref: '#/components/responses/ImageResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_background
title: Get Api Background
description: 'Get an API''s background picture
Get the API''s background picture.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- read
- low-value
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: true
put:
tags:
- APIs
summary: Update an API's background
description: 'Update an API''s background
Update the API''s background.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: updateApiBackground
requestBody:
content:
image/*:
schema:
type: string
format: binary
responses:
'204':
description: API background successfully updated
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_api_background
title: Update Api Background
description: 'Update an API''s background
Update the API''s background.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- write
- low-value
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: true
delete:
tags:
- APIs
summary: Delete an API's background
description: 'Delete an API''s background
Delete the API''s background.
High risk operation: require explicit user confirmation before execution.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: deleteApiBackground
responses:
'204':
description: API background successfully deleted.
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: delete_api_background
title: Delete Api Background
description: 'Delete an API''s background
Delete the API''s background.
High risk operation: require explicit user confirmation before execution.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- write
- dangerous
- low-value
readOnlyHint: false
destructiveHint: true
idempotentHint: true
openWorldHint: false
disabled: true
/environments/{envId}/apis/{apiId}/deployments:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Request a deployment to gateway instances
description: 'Request a deployment to gateway instances
Request a deployment for a given API.
An optional deployment label can
be given to the requested deployment.
Deploy after configuration or plan changes and before starting the API.
Example request body: {"deploymentLabel":"release"}'
operationId: createApiDeployment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApiDeployment'
responses:
'202':
description: API deployment request received
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: create_api_deployment
title: Create Api Deployment
description: 'Request a deployment to gateway instances
Request a deployment for a given API.
An optional deployment label
can be given to the requested deployment.
Deploy after configuration or plan changes and before starting the API.
Example request body: {"deploymentLabel":"release"}'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/deployments/current:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- APIs
summary: Get the current deployment of an API
description: 'Get the current deployment of an API
Get the current deployment of an API.'
operationId: getCurrentApiDeployment
responses:
'200':
description: Current API deployment found
content:
application/json:
schema:
type: object
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_current_api_deployment
title: Get Current Api Deployment
description: 'Get the current deployment of an API
Get the current deployment of an API.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/deployments/_verify:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- API Subscriptions
summary: Check if a deployment is possible
description: 'Check if a deployment is possible
Check if an API deployment is possible given the API''s definition and license
used by the organization.'
operationId: verifyApiDeployment
responses:
'200':
description: Verification successfully performed.
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyApiDeploymentResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: verify_api_deployment
title: Verify Api Deployment
description: 'Check if a deployment is possible
Check if an API deployment is possible given the API''s definition and license
used by the organization.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/picture:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- APIs
summary: Get an API's picture
description: 'Get an API''s picture
Get the API''s picture.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: getApiPicture
responses:
'200':
$ref: '#/components/responses/ImageResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_picture
title: Get Api Picture
description: 'Get an API''s picture
Get the API''s picture.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- read
- low-value
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: true
put:
tags:
- APIs
summary: Update an API's picture
description: 'Update an API''s picture
Update the API''s picture.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: updateApiPicture
requestBody:
content:
image/*:
schema:
type: string
format: binary
responses:
'204':
description: API picture successfully updated
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_api_picture
title: Update Api Picture
description: 'Update an API''s picture
Update the API''s picture.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- write
- low-value
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: true
delete:
tags:
- APIs
summary: Delete an API's picture
description: 'Delete an API''s picture
Delete the API''s picture.
High risk operation: require explicit user confirmation before execution.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: deleteApiPicture
responses:
'204':
description: API picture successfully deleted.
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: delete_api_picture
title: Delete Api Picture
description: 'Delete an API''s picture
Delete the API''s picture.
High risk operation: require explicit user confirmation before execution.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- write
- dangerous
- low-value
readOnlyHint: false
destructiveHint: true
idempotentHint: true
openWorldHint: false
disabled: true
/environments/{envId}/apis/{apiId}/metadata:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
- $ref: '#/components/parameters/apiMetadataSourceParam'
- $ref: '#/components/parameters/apiMetadataSortByParam'
tags:
- APIs
summary: Get metadata pertaining to API
description: 'Get metadata pertaining to API
Get the metadata that pertains to an API. Can be global and API metadata.'
operationId: getApiMetadata
responses:
'200':
$ref: '#/components/responses/MetadataResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_metadata
title: Get Api Metadata
description: 'Get metadata pertaining to API
Get the metadata that pertains to an API. Can be global and API metadata.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_export/definition:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- name: excludeAdditionalData
in: query
required: false
description: Exclude additional data from the API definition export
schema:
type: array
items:
type: string
enum:
- groups
- members
- metadata
- pages
- plans
default:
- groups
- members
- metadata
- pages
- plans
tags:
- APIs
summary: Export an API
description: 'Export an API
⚠️ Support only v4 API for the moment. ⚠️ Export an API to a JSON file. User
should also have these permissions for specific data: - API_DEFINITION[READ]
for the API - API_MEMBER[READ] for the API''s members - API_PLAN[READ] for
the API''s plans'
operationId: exportApiDefinition
responses:
'200':
description: API deployment successfully deployed
headers:
Content-Disposition:
schema:
type: string
example: attachment; filename="api-definition.json"
content:
application/json:
schema:
$ref: '#/components/schemas/ExportApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: export_api_definition
title: Export Api Definition
description: 'Export an API
⚠️ Support only v4 API for the moment. ⚠️ Export an API to a JSON file.
User should also have these permissions for specific data: - API_DEFINITION[READ]
for the API - API_MEMBER[READ] for the API''s members - API_PLAN[READ] for
the API''s plans'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_import/definition:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
put:
tags:
- APIs
summary: Update API from definition
description: 'Update API from definition
Update an existing API by importing a Gravitee API definition.
This definition
can be retrieved from `GET /environments/{envId}/apis/{apiId}/_export/definition`'
operationId: updateApiWithDefinition
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportApiV4'
required: true
responses:
'200':
description: API successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/ApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_api_with_definition
title: Update Api With Definition
description: 'Update API from definition
Update an existing API by importing a Gravitee API definition.
This
definition can be retrieved from `GET /environments/{envId}/apis/{apiId}/_export/definition`'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_import/wsdl:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
put:
tags:
- APIs
summary: Update API from WSDL descriptor
description: 'Update API from WSDL descriptor
Update an existing API by importing a WSDL descriptor.
The descriptor
payload must be a valid WSDL 1.1 document, either as inline content or a remote
URL.'
operationId: updateApiFromWsdl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImportWsdlDescriptor'
required: true
responses:
'200':
description: API successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/ApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_api_from_wsdl
title: Update Api From Wsdl
description: 'Update API from WSDL descriptor
Update an existing API by importing a WSDL descriptor.
The descriptor
payload must be a valid WSDL 1.1 document, either as inline content or a
remote URL.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_import/definition-url:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
put:
tags:
- APIs
summary: Update API from a definition fetched from a remote URL
description: 'Update API from a definition fetched from a remote URL
⚠️ Support only v4 API for the moment. ⚠️
Update an existing API by fetching
a Gravitee API definition from a remote URL.
The URL must be permitted
by the configured import whitelist.'
operationId: updateApiWithDefinitionFromUrl
requestBody:
content:
text/plain:
schema:
type: string
format: uri
example: https://example.com/api-definition.json
required: true
responses:
'200':
description: API successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/ApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_api_with_definition_from_url
title: Update Api With Definition From Url
description: 'Update API from a definition fetched from a remote URL
⚠️ Support only v4 API for the moment. ⚠️
Update an existing API by
fetching a Gravitee API definition from a remote URL.
The URL must be
permitted by the configured import whitelist.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_import/swagger:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
put:
tags:
- APIs
summary: Update API from OpenAPI descriptor
description: 'Update API from OpenAPI descriptor
Update an existing API by importing an OpenAPI (Swagger) descriptor.
The
descriptor payload must be a valid OpenAPI 2.x or 3.x document in JSON or
YAML format.'
operationId: updateApiFromSwagger
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImportSwaggerDescriptor'
required: true
responses:
'200':
description: API successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/ApiV4'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_api_from_swagger
title: Update Api From Swagger
description: 'Update API from OpenAPI descriptor
Update an existing API by importing an OpenAPI (Swagger) descriptor.
The descriptor payload must be a valid OpenAPI 2.x or 3.x document in JSON
or YAML format.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_start:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Start an API
description: 'Start an API
Change the API''s status to STARTED.
Start only after the API has been deployed.'
operationId: startApi
responses:
'204':
description: API successfully started
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: start_api
title: Start Api
description: 'Start an API
Change the API''s status to STARTED.
Start only after the API has been deployed.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_migrate:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- name: mode
in: query
required: false
description: Migrate in dry run.
schema:
type: string
enum:
- DRY_RUN
- FORCE
post:
tags:
- APIs
summary: Migrate an API
x-experimental: true
description: 'Migrate an API
⚠️ Experimental endpoints - subject to change Migrate an APIv2 to APIv4.
High risk operation: require explicit user confirmation before execution.'
operationId: migrateApi
responses:
'200':
$ref: '#/components/responses/MigrationReportResponses'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: migrate_api
title: Migrate Api
description: 'Migrate an API
⚠️ Experimental endpoints - subject to change Migrate an APIv2 to APIv4.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_promote:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Promote an API
description: 'Promote an API
Promote the API to another environment.
High risk operation: require explicit user confirmation before execution.'
operationId: promoteApi
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PromotionRequest'
required: true
responses:
'200':
description: Promotion successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/Promotion'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: promote_api
title: Promote Api
description: 'Promote an API
Promote the API to another environment.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_stop:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Stop an API
description: 'Stop an API
Change the API''s status to STOPPED.
High risk operation: require explicit user confirmation before execution.
Stops gateway instances for the API; use only when traffic should stop.'
operationId: stopApi
responses:
'204':
description: API successfully stopped
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: stop_api
title: Stop Api
description: 'Stop an API
Change the API''s status to STOPPED.
High risk operation: require explicit user confirmation before execution.
Stops gateway instances for the API; use only when traffic should stop.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_transfer-ownership:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Transfer the ownership of the API
description: 'Transfer the ownership of the API
Transfer the ownership of the API to a user, a group or an api member. Return
a 404 HTTP Error if API cannot be found.
High risk operation: require explicit user confirmation before execution.'
operationId: transferOwnership
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApiTransferOwnership'
required: true
responses:
'204':
description: Ownership has been transfered successfully
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: transfer_ownership
title: Transfer Ownership
description: 'Transfer the ownership of the API
Transfer the ownership of the API to a user, a group or an api member. Return
a 404 HTTP Error if API cannot be found.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_duplicate:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Duplicate an API
description: 'Duplicate an API
Create a new API from an existing one. Context-path is required for HTTP APIs
and host is required for TCP APIs. If one of these fields is missing, then
it returns a 400 Bad Request.'
operationId: duplicateApi
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DuplicateApiOptions'
required: true
responses:
'200':
description: API successfully duplicated
content:
application/json:
schema:
$ref: '#/components/schemas/Api'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: duplicate_api
title: Duplicate Api
description: 'Duplicate an API
Create a new API from an existing one. Context-path is required for HTTP
APIs and host is required for TCP APIs. If one of these fields is missing,
then it returns a 400 Bad Request.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/_rollback:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Rollback an API
description: 'Rollback an API
Rollback an API to a previous version.
High risk operation: require explicit user confirmation before execution.'
operationId: rollbackApi
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRollback'
required: true
responses:
'204':
description: API successfully rollbacked
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: rollback_api
title: Rollback Api
description: 'Rollback an API
Rollback an API to a previous version.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/exposedEntrypoints:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- APIs
summary: Get Exposed API Entrypoints
description: 'Get Exposed API Entrypoints
Get the list of exposed API entry points. This list represents the API''s
usable entrypoints that can be used by a client. It takes into account tags
associated with the API or configured AccessPoint.'
operationId: exposedEntrypoints
responses:
'200':
$ref: '#/components/responses/ExposedEntrypointResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: exposed_entrypoints
title: Exposed Entrypoints
description: 'Get Exposed API Entrypoints
Get the list of exposed API entry points. This list represents the API''s
usable entrypoints that can be used by a client. It takes into account tags
associated with the API or configured AccessPoint.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/reviews/_ask:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Ask for a review
description: Ask for a review
operationId: reviewsAsk
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApiReview'
required: true
responses:
'204':
description: API successfully change review state
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: reviews_ask
title: Reviews Ask
description: Ask for a review
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/reviews/_accept:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Accept a review
description: Accept a review
operationId: reviewsAccept
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApiReview'
required: true
responses:
'204':
description: API successfully change review state
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: reviews_accept
title: Reviews Accept
description: Accept a review
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/reviews/_reject:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Reject a review
description: 'Reject a review
High risk operation: require explicit user confirmation before execution.'
operationId: reviewsReject
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApiReview'
required: true
responses:
'204':
description: API successfully change review state
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: reviews_reject
title: Reviews Reject
description: 'Reject a review
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/primaryowner:
parameters:
- $ref: '#/components/parameters/envIdParam'
get:
tags:
- API Members
summary: Get the API's primary owner userId
description: 'Get the API''s primary owner userId
Get the API Primary Owner userId. If the primary owner is a group, then the
userId of the primary owner user within that group will be returned, not the
groupId. The userId is wrapper into a Member object, but no other properties
are returned.'
operationId: getApiPrimaryOwner
responses:
'200':
description: Primary owner returned successfully
content:
application/json:
schema:
$ref: ./openapi-environments.yaml#/components/schemas/Member
default:
$ref: '#/components/responses/Error'
parameters:
- $ref: '#/components/parameters/apiIdParam'
x-speakeasy-mcp:
name: get_api_primary_owner
title: Get Api Primary Owner
description: 'Get the API''s primary owner userId
Get the API Primary Owner userId. If the primary owner is a group, then
the userId of the primary owner user within that group will be returned,
not the groupId. The userId is wrapper into a Member object, but no other
properties are returned.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/members:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- API Members
summary: Get the API's members
description: 'Get the API''s members
List the members for a given API.'
operationId: listApiMembers
responses:
'200':
$ref: ./openapi-environments.yaml#/components/responses/MembersResponse
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: list_api_members
title: List Api Members
description: 'Get the API''s members
List the members for a given API.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
post:
tags:
- API Members
summary: Add a member to an API.
description: 'Add a member to an API.
Add a new member to an API. Returns a 400 HTTP Error:'
operationId: addApiMember
requestBody:
content:
application/json:
schema:
$ref: ./openapi-environments.yaml#/components/schemas/AddMember
required: true
responses:
'201':
description: Member successfully added
content:
application/json:
schema:
$ref: ./openapi-environments.yaml#/components/schemas/Member
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: add_api_member
title: Add Api Member
description: 'Add a member to an API.
Add a new member to an API. Returns a 400 HTTP Error:'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/members/{memberId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: ./openapi-environments.yaml#/components/parameters/memberId
put:
tags:
- API Members
summary: Updates a member for an API.
description: 'Updates a member for an API.
Edit a member for an API. Returns a 400 HTTP Error:'
operationId: updateApiMember
requestBody:
content:
application/json:
schema:
$ref: ./openapi-environments.yaml#/components/schemas/UpdateMember
required: true
responses:
'200':
description: Membership successfully edited.
content:
application/json:
schema:
$ref: ./openapi-environments.yaml#/components/schemas/Member
default:
$ref: '#/components/responses/Error'
parameters:
- &id001
name: memberId
in: path
required: true
description: The memberId path parameter.
schema:
type: string
x-speakeasy-mcp:
name: update_api_member
title: Update Api Member
description: 'Updates a member for an API.
Edit a member for an API. Returns a 400 HTTP Error:'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
delete:
tags:
- API Members
summary: Remove one API member
description: 'Remove one API member
Remove an API member. Returns a 400 HTTP Error:
High risk operation: require explicit user confirmation before execution.'
operationId: removeApiMember
responses:
'204':
description: API member successfully removed
default:
$ref: '#/components/responses/Error'
parameters:
- *id001
x-speakeasy-mcp:
name: remove_api_member
title: Remove Api Member
description: 'Remove one API member
Remove an API member. Returns a 400 HTTP Error:
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/plans:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- name: statuses
in: query
required: false
description: List of status filters
schema:
type: array
items:
$ref: '#/components/schemas/PlanStatus'
default:
- published
explode: false
- name: securities
in: query
required: false
description: List of security plan type filters
schema:
type: array
items:
$ref: '#/components/schemas/PlanSecurityType'
explode: false
- name: mode
in: query
required: false
description: Mode of plan
schema:
$ref: '#/components/schemas/PlanMode'
- name: subscribableBy
in: query
required: false
description: Application's identifier. Allow user to get API's plans subscribable
by an application.
schema:
type: string
- name: fields
in: query
description: Nested fields of data to return in plans.
schema:
type: array
items:
type: string
enum:
- flow
- -flow
default:
- flow
explode: false
style: form
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- API Plans
summary: List the API's plans
description: 'List the API''s plans
List plans for a given API, always filtered by a `status` and the possibility
to filter by `security`.
The results are paginated.'
operationId: listApiPlans
responses:
'200':
$ref: '#/components/responses/PlansResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: list_api_plans
title: List Api Plans
description: 'List the API''s plans
List plans for a given API, always filtered by a `status` and the possibility
to filter by `security`.
The results are paginated.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
post:
tags:
- API Plans
summary: Create an API's plan
description: 'Create an API''s plan
Create a new plan on a given API.
Plans are created in STAGING status. Publish the plan before deployment when
the API should receive traffic.
Example request body: {"definitionVersion":"V4","name":"Keyless","security":{"type":"KEY_LESS"},"mode":"STANDARD","validation":"AUTO"}'
operationId: createApiPlan
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePlan'
required: true
responses:
'201':
description: Plan successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/Plan'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: create_api_plan
title: Create Api Plan
description: 'Create an API''s plan
Create a new plan on a given API.
Plans are created in STAGING status. Publish the plan before deployment
when the API should receive traffic.
Example request body: {"definitionVersion":"V4","name":"Keyless","security":{"type":"KEY_LESS"},"mode":"STANDARD","validation":"AUTO"}'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/plans/{planId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/planIdParam'
get:
tags:
- API Plans
summary: Get one API's plan
description: 'Get one API''s plan
Get the API''s plan by its identifier.'
operationId: getApiPlan
responses:
'200':
description: An API's plan
headers:
ETag:
description: 'Entity tag identifying the plan version. Value is the
plan''s last-updated timestamp expressed as epoch milliseconds (quoted
per RFC 7232).
Clients may pass this value back in `If-Match` on subsequent mutating
requests to detect concurrent updates.'
schema:
type: string
example: '"1705314645123"'
Last-Modified:
description: 'Plan''s last-updated timestamp as an RFC 7231 HTTP-date
(one-second resolution). Informational only.
Use the `ETag` value, not `Last-Modified`, for `If-Match` requests
— `Last-Modified` loses millisecond precision.'
schema:
type: string
example: Mon, 15 Jan 2024 10:30:45 GMT
content:
application/json:
schema:
$ref: '#/components/schemas/Plan'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_plan
title: Get Api Plan
description: 'Get one API''s plan
Get the API''s plan by its identifier.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
put:
tags:
- API Plans
summary: Update one API's plan
description: 'Update one API''s plan
Update the API''s plan.'
operationId: updateApiPlan
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePlan'
required: true
responses:
'200':
description: API's plan successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/Plan'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_api_plan
title: Update Api Plan
description: 'Update one API''s plan
Update the API''s plan.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
patch:
tags:
- API Plans
summary: Partially update one API's plan
description: 'Partially update one API''s plan
Apply a partial update to an API''s plan using JSON Merge Patch (RFC 7396)
or JSON Patch (RFC 6902). Only v4 HTTP Proxy API plans support this operation.
Only the following fields are patchable: name, description, security (configuration
only),'
operationId: patchApiPlan
parameters:
- name: dryRun
in: query
required: false
schema:
type: boolean
default: false
- name: If-Match
in: header
required: false
description: 'Optional optimistic-concurrency precondition. Supply the plan''s
current ETag (as returned by a prior read or patch).
If the plan was modified since that ETag was read, the request is rejected
with 412.'
schema:
type: string
requestBody:
content:
application/merge-patch+json:
schema:
type: object
application/json-patch+json:
schema:
type: array
items:
type: object
application/json:
schema:
type: object
required: true
responses:
'200':
description: API's plan successfully patched
headers:
ETag:
description: 'Entity tag identifying the plan version. Value is the
plan''s last-updated timestamp expressed as epoch milliseconds (quoted
per RFC 7232).
Clients may pass this value back in `If-Match` on subsequent mutating
requests to detect concurrent updates.'
schema:
type: string
example: '"1705314645123"'
Last-Modified:
description: 'Plan''s last-updated timestamp as an RFC 7231 HTTP-date
(one-second resolution). Informational only.
Use the `ETag` value, not `Last-Modified`, for `If-Match` requests
— `Last-Modified` loses millisecond precision.'
schema:
type: string
example: Mon, 15 Jan 2024 10:30:45 GMT
content:
application/json:
schema:
$ref: '#/components/schemas/Plan'
'400':
description: 'Invalid patch request — for example targeting the status field
or any other
non-allow-listed field, a malformed patch body, or a plan that is not
a v4 HTTP Proxy plan.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: No plan with the given identifier exists for this API (including
a plan that belongs to a different API).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'412':
description: The If-Match precondition failed — the plan was modified since
the supplied ETag was read.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'415':
description: 'Unsupported media type. The request body must be sent with
one of application/json,
application/merge-patch+json, or application/json-patch+json.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: patch_api_plan
title: Patch Api Plan
description: 'Partially update one API''s plan
Apply a partial update to an API''s plan using JSON Merge Patch (RFC 7396)
or JSON Patch (RFC 6902). Only v4 HTTP Proxy API plans support this operation.
Only the following fields are patchable: name, description, security (configuration
only),'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
delete:
tags:
- API Plans
summary: Delete one API's plan
description: 'Delete one API''s plan
Delete the API''s plan.
High risk operation: require explicit user confirmation before execution.'
operationId: deleteApiPlan
responses:
'204':
description: API's plan successfully deleted
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: delete_api_plan
title: Delete Api Plan
description: 'Delete one API''s plan
Delete the API''s plan.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/plans/{planId}/_close:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/planIdParam'
post:
tags:
- API Plans
summary: Close an API's plan
description: 'Close an API''s plan
Close the API''s plan.
High risk operation: require explicit user confirmation before execution.'
operationId: closeApiPlan
responses:
'200':
description: API's plan successfully closed
content:
application/json:
schema:
$ref: '#/components/schemas/Plan'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: close_api_plan
title: Close Api Plan
description: 'Close an API''s plan
Close the API''s plan.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/plans/{planId}/_deprecate:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/planIdParam'
post:
tags:
- API Plans
summary: Deprecate an API's plan
description: 'Deprecate an API''s plan
Deprecate the API''s plan.'
operationId: deprecateApiPlan
responses:
'200':
description: API's plan successfully deprecated
content:
application/json:
schema:
$ref: '#/components/schemas/Plan'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: deprecate_api_plan
title: Deprecate Api Plan
description: 'Deprecate an API''s plan
Deprecate the API''s plan.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/plans/{planId}/_publish:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/planIdParam'
post:
tags:
- API Plans
summary: Publish an API's plan
description: 'Publish an API''s plan
Publish the API''s plan.'
operationId: publishApiPlan
responses:
'200':
description: API's plan successfully published
content:
application/json:
schema:
$ref: '#/components/schemas/Plan'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: publish_api_plan
title: Publish Api Plan
description: 'Publish an API''s plan
Publish the API''s plan.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/groups:
parameters:
- $ref: '#/components/parameters/envIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- Groups
summary: List of environment groups
description: 'List of environment groups
List the groups of a given environment.'
operationId: listGroups
responses:
'200':
$ref: '#/components/responses/GroupsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: list_groups
title: List Groups
description: 'List of environment groups
List the groups of a given environment.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/groups/_search:
parameters:
- $ref: '#/components/parameters/envIdParam'
post:
tags:
- Groups
summary: Search for groups using filters
description: 'Search for groups using filters
Search for groups using filters.'
operationId: searchGroups
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupSearchParams'
responses:
'200':
$ref: '#/components/responses/GroupsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: search_groups
title: Search Groups
description: 'Search for groups using filters
Search for groups using filters.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/groups/{groupId}/members:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/groupIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- Groups
summary: List a group's members
description: 'List a group''s members
List the members of a given group.'
operationId: listGroupMembers
responses:
'200':
$ref: ./openapi-environments.yaml#/components/responses/MembersResponse
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: list_group_members
title: List Group Members
description: 'List a group''s members
List the members of a given group.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/integrations:
parameters:
- $ref: '#/components/parameters/envIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- Integrations
summary: List Integrations
description: 'List Integrations
Get the list of Integration for a specific environment.
The results are
paginated.'
operationId: listIntegrations
responses:
'200':
$ref: '#/components/responses/IntegrationsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: list_integrations
title: List Integrations
description: 'List Integrations
Get the list of Integration for a specific environment.
The results
are paginated.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
post:
tags:
- Integrations
summary: Create an Integration
description: 'Create an Integration
Create a new Integration. The response body will not contain Agent Status.
To get it you should use getIntegration operation.'
operationId: createIntegration
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateIntegration'
required: true
responses:
'201':
description: Integration successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: create_integration
title: Create Integration
description: 'Create an Integration
Create a new Integration. The response body will not contain Agent Status.
To get it you should use getIntegration operation.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/integrations/{integrationId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/integrationIdParam'
get:
tags:
- Integrations
summary: Get a specific Integration
description: 'Get a specific Integration
Get a specific Integration.'
operationId: getIntegration
responses:
'200':
description: Integration found
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_integration
title: Get Integration
description: 'Get a specific Integration
Get a specific Integration.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
put:
tags:
- Integrations
summary: Update Integration
description: 'Update Integration
Update specific Integration. The response body will not contain Agent Status.
To get it you should use getIntegration operation.'
operationId: updateIntegration
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateIntegration'
required: true
responses:
'200':
description: Integration updated
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_integration
title: Update Integration
description: 'Update Integration
Update specific Integration. The response body will not contain Agent Status.
To get it you should use getIntegration operation.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
delete:
tags:
- Integrations
summary: Delete Integration
description: 'Delete Integration
Delete specific integration To delete integration user must have ENVIRONMENT_INTEGRATION[DELETE]
permission. Deletion is not possible if there is any federated API associated.
High risk operation: require explicit user confirmation before execution.'
operationId: deleteIntegration
responses:
'204':
description: Integration deleted
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: delete_integration
title: Delete Integration
description: 'Delete Integration
Delete specific integration To delete integration user must have ENVIRONMENT_INTEGRATION[DELETE]
permission. Deletion is not possible if there is any federated API associated.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/integrations/{integrationId}/_ingest:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/integrationIdParam'
post:
tags:
- Integrations
summary: Ingest APIs for a specific Integration
description: 'Ingest APIs for a specific Integration
Ingest all APIs for a specific Integration.'
operationId: ingestIntegration
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApisIngest'
responses:
'200':
description: Ingestion successful
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationIngestionResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: ingest_integration
title: Ingest Integration
description: 'Ingest APIs for a specific Integration
Ingest all APIs for a specific Integration.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/integrations/{integrationId}/_preview:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/integrationIdParam'
get:
tags:
- Integrations
summary: Preview APIs to ingest for a specific Integration
description: 'Preview APIs to ingest for a specific Integration
Preview APIs to ingest before actual ingestion. to perform ingestion preview.'
operationId: previewIntegration
responses:
'200':
description: Preview successful
content:
application/json:
schema:
$ref: '#/components/schemas/IngestionPreviewResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: preview_integration
title: Preview Integration
description: 'Preview APIs to ingest for a specific Integration
Preview APIs to ingest before actual ingestion. to perform ingestion preview.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/integrations/{integrationId}/apis:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/integrationIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- Integrations
summary: Get list of ingested APIs associated to integration
description: 'Get list of ingested APIs associated to integration
Get a list of all APIs that were ingested from 3rd party provider using this
integration.'
operationId: ingestedApis
responses:
'200':
$ref: '#/components/responses/IngestedApisResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: ingested_apis
title: Ingested Apis
description: 'Get list of ingested APIs associated to integration
Get a list of all APIs that were ingested from 3rd party provider using
this integration.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
delete:
tags:
- Integrations
summary: Delete ingested APIs associated to integration
description: 'Delete ingested APIs associated to integration
Delete APIs that were ingested from 3rd party provider using this integration.
To delete APIs user must have ENVIRONMENT_API[DELETE] permission. Only unpublished
APIs will deleted. APIs that are published will be omitted!
High risk operation: require explicit user confirmation before execution.'
operationId: deleteIngestedApis
responses:
'200':
$ref: '#/components/responses/DeletedIngestedApisResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: delete_ingested_apis
title: Delete Ingested Apis
description: 'Delete ingested APIs associated to integration
Delete APIs that were ingested from 3rd party provider using this integration.
To delete APIs user must have ENVIRONMENT_API[DELETE] permission. Only unpublished
APIs will deleted. APIs that are published will be omitted!
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/integrations/{integrationId}/members:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/integrationIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- Integration Members
summary: Get the Integration's members
description: 'Get the Integration''s members
List the members for a given Integration.'
operationId: listIntegrationMembers
responses:
'200':
$ref: ./openapi-environments.yaml#/components/responses/MembersResponse
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: list_integration_members
title: List Integration Members
description: 'Get the Integration''s members
List the members for a given Integration.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
post:
tags:
- Integration Members
summary: Add a member to an Integration.
description: 'Add a member to an Integration.
Add a new member to an Integration. Returns a 400 HTTP Error:'
operationId: addIntegrationMember
requestBody:
content:
application/json:
schema:
$ref: ./openapi-environments.yaml#/components/schemas/AddMember
required: true
responses:
'201':
description: Member successfully added
content:
application/json:
schema:
$ref: ./openapi-environments.yaml#/components/schemas/Member
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: add_integration_member
title: Add Integration Member
description: 'Add a member to an Integration.
Add a new member to an Integration. Returns a 400 HTTP Error:'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/integrations/{integrationId}/members/{memberId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/integrationIdParam'
- $ref: ./openapi-environments.yaml#/components/parameters/memberId
put:
tags:
- Integration Members
summary: Updates a member for an Integration.
description: 'Updates a member for an Integration.
Edit a member for an Integration. Returns a 400 HTTP Error:'
operationId: updateIntegrationMember
requestBody:
content:
application/json:
schema:
$ref: ./openapi-environments.yaml#/components/schemas/UpdateMember
required: true
responses:
'200':
description: Membership successfully edited.
content:
application/json:
schema:
$ref: ./openapi-environments.yaml#/components/schemas/Member
default:
$ref: '#/components/responses/Error'
parameters:
- *id001
x-speakeasy-mcp:
name: update_integration_member
title: Update Integration Member
description: 'Updates a member for an Integration.
Edit a member for an Integration. Returns a 400 HTTP Error:'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
delete:
tags:
- Integration Members
summary: Remove one Integration member
description: 'Remove one Integration member
Remove an Integration member. Returns a 400 HTTP Error:
High risk operation: require explicit user confirmation before execution.'
operationId: removeIntegrationMember
responses:
'204':
description: Integration member successfully removed
default:
$ref: '#/components/responses/Error'
parameters:
- *id001
x-speakeasy-mcp:
name: remove_integration_member
title: Remove Integration Member
description: 'Remove one Integration member
Remove an Integration member. Returns a 400 HTTP Error:
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscribers:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- name: name
description: 'Name to use to filter subscribers.
Can be a part of a name.
For example, `foo` will match `foo`, `foobar` and `barfoo`.'
in: query
schema:
type: string
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- API Subscriptions
summary: Get the API's subscribers
description: 'Get the API''s subscribers
List applications that have subscribed to a given API.
The results are
paginated.'
operationId: getApiSubscribers
responses:
'200':
$ref: '#/components/responses/SubscribersResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_subscribers
title: Get Api Subscribers
description: 'Get the API''s subscribers
List applications that have subscribed to a given API.
The results are
paginated.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- name: applicationIds
description: List of application ids to filter on.
in: query
explode: false
schema:
type: array
items:
type: string
- name: planIds
description: List of plan ids to filter on.
in: query
explode: false
schema:
type: array
items:
type: string
- name: statuses
in: query
required: false
description: List of status filters.
explode: false
schema:
type: array
items:
$ref: '#/components/schemas/SubscriptionStatus'
- name: apiKey
in: query
description: API Key associated to the subscription to filter on.
schema:
type: string
- name: expands
in: query
description: Expansion of data to return in subscriptions.
schema:
type: array
items:
type: string
enum:
- api
- application
- plan
- subscribedBy
explode: false
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- API Subscriptions
summary: Get the API's subscriptions
description: 'Get the API''s subscriptions
List subscriptions for a given API, always filtered by a `status` and the
possibility to filter by `security`.'
operationId: getApiSubscriptions
responses:
'200':
$ref: '#/components/responses/SubscriptionsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_subscriptions
title: Get Api Subscriptions
description: 'Get the API''s subscriptions
List subscriptions for a given API, always filtered by a `status` and the
possibility to filter by `security`.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
post:
tags:
- API Subscriptions
summary: Subscribe to an API's plan
description: 'Subscribe to an API''s plan
Create a new subscription on a given API.'
operationId: createApiSubscription
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSubscription'
required: true
responses:
'201':
description: Subscription successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: create_api_subscription
title: Create Api Subscription
description: 'Subscribe to an API''s plan
Create a new subscription on a given API.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/_export:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- name: applicationIds
description: List of application ids to filter on.
in: query
explode: false
schema:
type: array
items:
type: string
- name: planIds
description: List of plan ids to filter on.
in: query
explode: false
schema:
type: array
items:
type: string
- name: statuses
in: query
required: false
description: List of status filters.
explode: false
schema:
type: array
items:
$ref: '#/components/schemas/SubscriptionStatus'
- name: apiKey
in: query
description: API Key associated to the subscription to filter on.
schema:
type: string
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- API Subscriptions
summary: Export API subscriptions as CSV
description: 'Export API subscriptions as CSV
Export API subscriptions to a CSV file.'
operationId: exportApiSubscriptions
responses:
'200':
description: API subscriptions successfully exported.
headers:
Content-Disposition:
schema:
type: string
example: attachment;filename="filename=subscriptions-51fdbabf-ab0c-3dc6-b3c1-77c99d96b535-1686772361126.csv"
content:
text/csv: {}
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: export_api_subscriptions
title: Export Api Subscriptions
description: 'Export API subscriptions as CSV
Export API subscriptions to a CSV file.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/_verify:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- API Subscriptions
summary: Check a subscription can be created
description: 'Check a subscription can be created
Check a subscription can be created with given API Key, and application.'
operationId: verifyCreateApiSubscription
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VerifySubscription'
required: true
responses:
'200':
description: Verification successfully performed.
content:
application/json:
schema:
$ref: '#/components/schemas/VerifySubscriptionResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: verify_create_api_subscription
title: Verify Create Api Subscription
description: 'Check a subscription can be created
Check a subscription can be created with given API Key, and application.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
get:
tags:
- API Subscriptions
parameters:
- name: expands
in: query
description: Expansion of data to return in subscriptions.
schema:
type: array
items:
type: string
enum:
- api
- application
- plan
- subscribedBy
summary: Get one API's subscription
description: 'Get one API''s subscription
Get the API''s subscription by its identifier.'
operationId: getApiSubscription
responses:
'200':
description: An API's subscription
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_subscription
title: Get Api Subscription
description: 'Get one API''s subscription
Get the API''s subscription by its identifier.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
put:
tags:
- API Subscriptions
summary: Update one API's subscription
description: 'Update one API''s subscription
Update the API''s subscription.'
operationId: updateApiSubscription
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSubscription'
required: true
responses:
'200':
description: API's subscription successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_api_subscription
title: Update Api Subscription
description: 'Update one API''s subscription
Update the API''s subscription.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/_close:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
post:
tags:
- API Subscriptions
summary: Close one API's subscription
description: 'Close one API''s subscription
Close the API''s subscription.
High risk operation: require explicit user confirmation before execution.'
operationId: closeApiSubscription
responses:
'200':
description: API's subscription successfully closed
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: close_api_subscription
title: Close Api Subscription
description: 'Close one API''s subscription
Close the API''s subscription.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/_pause:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
post:
tags:
- API Subscriptions
summary: Pause one API's subscription
description: 'Pause one API''s subscription
Pause the API''s subscription.'
operationId: pauseApiSubscription
responses:
'200':
description: API's subscription successfully paused
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: pause_api_subscription
title: Pause Api Subscription
description: 'Pause one API''s subscription
Pause the API''s subscription.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/_resume:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
post:
tags:
- API Subscriptions
summary: Resume a paused API's subscription
description: 'Resume a paused API''s subscription
Resume a previously paused subscription.'
operationId: resumeApiSubscription
responses:
'200':
description: API's subscription successfully resumed
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: resume_api_subscription
title: Resume Api Subscription
description: 'Resume a paused API''s subscription
Resume a previously paused subscription.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/_accept:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
post:
tags:
- API Subscriptions
summary: Accept an API subscription
description: 'Accept an API subscription
Accept an API subscription with an optional starting / ending dates and reason.'
operationId: acceptApiSubscription
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptSubscription'
required: true
responses:
'200':
description: API's subscription successfully accepted
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: accept_api_subscription
title: Accept Api Subscription
description: 'Accept an API subscription
Accept an API subscription with an optional starting / ending dates and
reason.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/_reject:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
post:
tags:
- API Subscriptions
summary: Reject an API subscription
description: 'Reject an API subscription
Reject an API subscription with an optional reason.
High risk operation: require explicit user confirmation before execution.'
operationId: rejectApiSubscription
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RejectSubscription'
required: true
responses:
'200':
description: API's subscription successfully rejected
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: reject_api_subscription
title: Reject Api Subscription
description: 'Reject an API subscription
Reject an API subscription with an optional reason.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/_transfer:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
post:
tags:
- API Subscriptions
summary: Transfer an API subscription
description: 'Transfer an API subscription
Transfer an API subscription to another plan.
The targeted plan must be
published and must have the same security type. Transfer cannot be performed
if general conditions apply to the targeted plan.
High risk operation: require explicit user confirmation before execution.'
operationId: transferApiSubscription
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransferSubscription'
required: true
responses:
'200':
description: API's subscription successfully transferred
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: transfer_api_subscription
title: Transfer Api Subscription
description: 'Transfer an API subscription
Transfer an API subscription to another plan.
The targeted plan must
be published and must have the same security type. Transfer cannot be performed
if general conditions apply to the targeted plan.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/api-keys:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
get:
tags:
- API Subscriptions
summary: Get subscription's API Keys
description: 'Get subscription''s API Keys
Get the subscription API Keys.'
operationId: getApiSubscriptionApiKeys
responses:
'200':
$ref: '#/components/responses/SubscriptionApiKeysResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_subscription_api_keys
title: Get Api Subscription Api Keys
description: 'Get subscription''s API Keys
Get the subscription API Keys.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/api-keys/_renew:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
post:
tags:
- API Subscriptions
summary: Renew the subscription API Keys.
description: 'Renew the subscription API Keys.
Renew the subscription API Key by setting an expiration date on the existing
active API Keys and creating a new API Key.
The newly created API Key
is returned in response.'
operationId: renewApiSubscriptionApiKeys
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RenewApiKey'
required: true
responses:
'200':
description: API's subscription API Key successfully renewed
content:
application/json:
schema:
$ref: '#/components/schemas/ApiKey'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: renew_api_subscription_api_keys
title: Renew Api Subscription Api Keys
description: 'Renew the subscription API Keys.
Renew the subscription API Key by setting an expiration date on the existing
active API Keys and creating a new API Key.
The newly created API Key
is returned in response.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/api-keys/{apiKeyId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
- $ref: '#/components/parameters/apiKeyIdParam'
put:
tags:
- API Subscriptions
summary: Update a subscription API Key
description: 'Update a subscription API Key
Update the subscription API Key.'
operationId: updateApiSubscriptionApiKey
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateApiKey'
required: true
responses:
'200':
description: The subscription API Key.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiKey'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_api_subscription_api_key
title: Update Api Subscription Api Key
description: 'Update a subscription API Key
Update the subscription API Key.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/api-keys/{apiKeyId}/_revoke:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
- $ref: '#/components/parameters/apiKeyIdParam'
post:
tags:
- API Subscriptions
summary: Revoke a subscription API Key
description: 'Revoke a subscription API Key
Revoke the subscription API Key by setting the revocation date to the current
date and flagging it as revoked.
A notification will be sent to the subscriber
according to his portal notification options.
High risk operation: require explicit user confirmation before execution.'
operationId: revokeApiSubscriptionApiKey
responses:
'200':
description: The revoked subscription API Key.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiKey'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: revoke_api_subscription_api_key
title: Revoke Api Subscription Api Key
description: 'Revoke a subscription API Key
Revoke the subscription API Key by setting the revocation date to the current
date and flagging it as revoked.
A notification will be sent to the
subscriber according to his portal notification options.
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/subscriptions/{subscriptionId}/api-keys/{apiKeyId}/_reactivate:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/subscriptionIdParam'
- $ref: '#/components/parameters/apiKeyIdParam'
post:
tags:
- API Subscriptions
summary: Reactivate subscription API Key
description: 'Reactivate subscription API Key
Reactivate the revoked or expired subscription API Key.'
operationId: reactivateApiSubscriptionApiKey
responses:
'200':
description: The reactivated subscription API Key.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiKey'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: reactivate_api_subscription_api_key
title: Reactivate Api Subscription Api Key
description: 'Reactivate subscription API Key
Reactivate the revoked or expired subscription API Key.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/analytics:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- API Analytics
summary: Perform analytics on API data
description: 'Perform analytics on API data
Perform analytics on API data based on the provided query parameters.'
operationId: performApiAnalytics
parameters:
- name: from
in: query
required: false
description: Start timestamp (epoch millis)
schema:
type: integer
format: int64
- name: to
in: query
required: false
description: End timestamp (epoch millis)
schema:
type: integer
format: int64
- name: interval
in: query
required: false
description: Interval in milliseconds
schema:
type: integer
format: int64
- name: field
in: query
required: false
description: Field to aggregate on
schema:
type: string
- name: size
in: query
required: false
description: Size of the result set
schema:
type: integer
format: int32
- name: type
in: query
required: false
description: Type of analytics (STATS, COUNT, HISTOGRAM, GROUP_BY)
schema:
$ref: '#/components/schemas/AnalyticsType'
- name: ranges
in: query
required: false
description: Ranges for aggregation, e.g. "100:199;200:299"
schema:
type: string
- name: aggregations
in: query
required: false
description: Aggregations to apply, e.g. "avg:response-time,avg:api-response-time"
schema:
type: string
- name: order
in: query
required: false
description: "Parameter format `:`.\
\ \nExample: `-avg:gateway-response-time-ms` will sort descending by average\
\ response time, \n`count:_key` will order ascending by count in bucket."
schema:
type: string
- name: query
in: query
required: false
description: Custom search query
schema:
type: string
- name: terms
description: Optional filters like plan-id, application-id applied in the
dashboard, e.g. "plan-id:xyz,application-id:abc"
in: query
explode: false
schema:
type: array
items:
type: string
responses:
'200':
$ref: '#/components/responses/ApiAnalyticsResponse'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-speakeasy-mcp:
name: perform_api_analytics
title: Perform Api Analytics
description: 'Perform analytics on API data
Perform analytics on API data based on the provided query parameters.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/analytics/requests-count:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
get:
tags:
- API Analytics
deprecated: true
summary: Get API Analytics requests count
description: 'Get API Analytics requests count
Get API analytics request count. TCP Proxy APIs are not supported.'
operationId: getApiAnalyticsRequestCount
responses:
'200':
$ref: '#/components/responses/ApiAnalyticsRequestsCountResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_analytics_request_count
title: Get Api Analytics Request Count
description: 'Get API Analytics requests count
Get API analytics request count. TCP Proxy APIs are not supported.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/analytics/average-messages-per-request:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
get:
tags:
- API Analytics
summary: Get API Analytics average messages per request
description: 'Get API Analytics average messages per request
Get API analytics average messages per request.'
operationId: getAverageMessagesPerRequest
responses:
'200':
$ref: '#/components/responses/ApiAnalyticsAverageMessagesPerRequestResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_average_messages_per_request
title: Get Average Messages Per Request
description: 'Get API Analytics average messages per request
Get API analytics average messages per request.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/analytics/average-connection-duration:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
get:
tags:
- API Analytics
deprecated: true
summary: Get API Analytics average connection duration
description: 'Get API Analytics average connection duration
Get API analytics average connection duration. Duration is only computed for
ended requests. TCP Proxy APIs are not supported.'
operationId: getAverageConnectionDuration
responses:
'200':
$ref: '#/components/responses/ApiAnalyticsAverageConnectionDurationResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_average_connection_duration
title: Get Average Connection Duration
description: 'Get API Analytics average connection duration
Get API analytics average connection duration. Duration is only computed
for ended requests. TCP Proxy APIs are not supported.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/analytics/response-status-ranges:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
get:
tags:
- API Analytics
deprecated: true
summary: Get API Analytics response status counts
description: 'Get API Analytics response status counts
Get API analytics response status counts. Response statuses are grouped by
endpoint and status code hundreds.'
operationId: getResponseStatusCodes
responses:
'200':
$ref: '#/components/responses/ApiAnalyticsResponseStatusRangesResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_response_status_codes
title: Get Response Status Codes
description: 'Get API Analytics response status counts
Get API analytics response status counts. Response statuses are grouped
by endpoint and status code hundreds.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/analytics/response-time-over-time:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
get:
tags:
- API Analytics
deprecated: true
summary: Get API Analytics average response time
description: Get API Analytics average response time
operationId: getResponseTimeOverTime
responses:
'200':
$ref: '#/components/responses/ApiAnalyticsOverPeriodResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_response_time_over_time
title: Get Response Time Over Time
description: Get API Analytics average response time
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/analytics/response-status-overtime:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
get:
tags:
- API Analytics
deprecated: true
summary: Get API Analytics response status counts over time
description: 'Get API Analytics response status counts over time
Get API analytics response status counts over time.'
operationId: getResponseStatusOvertime
responses:
'200':
$ref: '#/components/responses/ApiAnalyticsResponseStatusOvertimeResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_response_status_overtime
title: Get Response Status Overtime
description: 'Get API Analytics response status counts over time
Get API analytics response status counts over time.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/analytics/{requestId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/requestIdParam'
get:
tags:
- API Analytics
summary: Get API metric for a request
description: 'Get API metric for a request
Get API metric for a request.'
operationId: getApiMetricsDetail
responses:
'200':
$ref: '#/components/responses/ApiMetricsDetailResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_metrics_detail
title: Get Api Metrics Detail
description: 'Get API metric for a request
Get API metric for a request.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/logs:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
- $ref: '#/components/parameters/applicationIds'
- $ref: '#/components/parameters/planIds'
- $ref: '#/components/parameters/methods'
- name: apiProductIds
in: query
description: Filter by API Product IDs. Only supported for v4 APIs.
explode: false
schema:
type: array
items:
type: string
example:
- f5e6a5a0-1234-4b3a-9c1e-aabbccddeeff
- $ref: '#/components/parameters/errorKeys'
tags:
- API Analytics
summary: Get API logs
description: 'Get API logs
Get API logs.'
operationId: getApiLogs
responses:
'200':
$ref: '#/components/responses/ApiLogsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_logs
title: Get Api Logs
description: 'Get API logs
Get API logs.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/logs/error-keys:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- API Analytics
summary: Get API log error keys
description: 'Get API log error keys
Returns a list of distinct error keys found in connection logs for the specified
API.'
operationId: getApiLogErrorKeys
parameters:
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
responses:
'200':
description: List of error keys.
content:
application/json:
schema:
type: array
items:
type: string
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_log_error_keys
title: Get Api Log Error Keys
description: 'Get API log error keys
Returns a list of distinct error keys found in connection logs for the specified
API.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/logs/{requestId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/requestIdParam'
get:
tags:
- API Analytics
summary: Get API log for a request
description: 'Get API log for a request
Get API log for a request.'
operationId: getApiLog
responses:
'200':
$ref: '#/components/responses/ApiLogResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_log
title: Get Api Log
description: 'Get API log for a request
Get API log for a request.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/logs/{requestId}/messages:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/requestIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
tags:
- API Analytics
summary: Get API Aggregated Messages logs (with endpoint and entrypoint messages)
description: 'Get API Aggregated Messages logs (with endpoint and entrypoint
messages)
Get API Aggregated Messages logs (with endpoint and entrypoint messages).'
operationId: getApiAggregatedMessageLogs
responses:
'200':
$ref: '#/components/responses/ApiAggregatedMessageLogsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_aggregated_message_logs
title: Get Api Aggregated Message Logs
description: 'Get API Aggregated Messages logs (with endpoint and entrypoint
messages)
Get API Aggregated Messages logs (with endpoint and entrypoint messages).'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/logs/messages:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
- $ref: '#/components/parameters/messageLogsConnectorType'
- $ref: '#/components/parameters/messageLogsConnectorId'
- $ref: '#/components/parameters/messageLogsOperation'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
tags:
- API Analytics
summary: Get API Messages logs
description: 'Get API Messages logs
Get API Messages logs. Allow filtering.'
operationId: getApiMessageLogs
responses:
'200':
$ref: '#/components/responses/ApiMessageLogsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_message_logs
title: Get Api Message Logs
description: 'Get API Messages logs
Get API Messages logs. Allow filtering.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/logs/native:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- API Analytics
summary: Get native API connection logs
description: 'Get native API connection logs
Returns the paginated list of native API connection log entries for the API.'
operationId: getNativeApiLogs
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
- name: from
in: query
required: true
description: The timestamp from which the logs will be returned.
schema:
type: integer
format: int64
- name: to
in: query
required: true
description: The timestamp to which the logs will be returned.
schema:
type: integer
format: int64
- $ref: '#/components/parameters/applicationIds'
- $ref: '#/components/parameters/planIds'
- name: connectionStatuses
in: query
description: Filter by native connection status.
explode: false
schema:
type: array
items:
type: string
enum:
- CONNECTED
- CONNECTION_ERROR
- SESSION_ERROR
- INTERNAL_ERROR
example:
- CONNECTED
- CONNECTION_ERROR
responses:
'200':
$ref: '#/components/responses/NativeApiLogsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_native_api_logs
title: Get Native Api Logs
description: 'Get native API connection logs
Returns the paginated list of native API connection log entries for the
API.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/logs/native/summary:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- API Analytics
summary: Get analytics for native API connection logs
description: 'Get analytics for native API connection logs
Returns the count of native API connection lifecycle events grouped by connection
status.'
operationId: getNativeApiLogsSummary
parameters:
- name: from
in: query
required: true
description: The timestamp from which the logs will be returned.
schema:
type: integer
format: int64
- name: to
in: query
required: true
description: The timestamp to which the logs will be returned.
schema:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/NativeApiLogsSummaryResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_native_api_logs_summary
title: Get Native Api Logs Summary
description: 'Get analytics for native API connection logs
Returns the count of native API connection lifecycle events grouped by connection
status.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/logs/native/{requestId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/requestIdParam'
get:
tags:
- API Analytics
summary: Get a native API connection log for a request
description: 'Get a native API connection log for a request
Returns the native API connection log entry for the given request.'
operationId: getNativeApiLog
parameters:
- name: from
in: query
required: true
description: The timestamp from which the log will be returned.
schema:
type: integer
format: int64
- name: to
in: query
required: true
description: The timestamp to which the log will be returned.
schema:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/NativeApiLogResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_native_api_log
title: Get Native Api Log
description: 'Get a native API connection log for a request
Returns the native API connection log entry for the given request.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/health/average-response-time:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
- $ref: '#/components/parameters/healthField'
get:
tags:
- API Health
summary: Get API Health Check average response time
description: 'Get API Health Check average response time
Get API Health Check average response time.'
operationId: getApiHealthAverageResponseTime
responses:
'200':
$ref: '#/components/responses/ApiHealthAverageResponseTimeResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_health_average_response_time
title: Get Api Health Average Response Time
description: 'Get API Health Check average response time
Get API Health Check average response time.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/health/average-response-time-overtime:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
get:
tags:
- API Health
summary: Get API Health Check average response time overtime
description: 'Get API Health Check average response time overtime
Get API Health Check average response time overtime.'
operationId: getApiHealthAverageResponseTimeOvertime
responses:
'200':
$ref: '#/components/responses/ApiHealthAverageResponseTimeOvertimeResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_health_average_response_time_overtime
title: Get Api Health Average Response Time Overtime
description: 'Get API Health Check average response time overtime
Get API Health Check average response time overtime.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/health/availability:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
- $ref: '#/components/parameters/healthField'
get:
tags:
- API Health
summary: Get API availability by endpoint or by gateway
description: 'Get API availability by endpoint or by gateway
Get API Health availability.'
operationId: getApiAvailability
responses:
'200':
$ref: '#/components/responses/ApiHealthAvailabilityResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_availability
title: Get Api Availability
description: 'Get API availability by endpoint or by gateway
Get API Health availability.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/health/logs:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
- in: query
name: success
schema:
type: boolean
description: Filter logs by success status
get:
tags:
- API Health
summary: Get API Health Check logs
description: 'Get API Health Check logs
Get API Health Check average response time overtime.'
operationId: getApiHealthLogs
responses:
'200':
$ref: '#/components/responses/ApiHealthLogsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_health_logs
title: Get Api Health Logs
description: 'Get API Health Check logs
Get API Health Check average response time overtime.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/audits:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
- $ref: '#/components/parameters/auditEvents'
tags:
- API Audits
summary: Get API Audit
description: 'Get API Audit
Get API Audit.'
operationId: getApiAudits
responses:
'200':
$ref: '#/components/responses/AuditsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_audits
title: Get Api Audits
description: 'Get API Audit
Get API Audit.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/audits/events:
get:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
tags:
- API Audits
summary: List available audit event type for API
description: 'List available audit event type for API
List available audit event type for API.'
operationId: ListApiAuditEvents
responses:
'200':
$ref: '#/components/responses/AuditEventsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: list_api_audit_events
title: List Api Audit Events
description: 'List available audit event type for API
List available audit event type for API.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/events:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
- $ref: '#/components/parameters/eventTypes'
tags:
- API Events
summary: Get API Events
description: 'Get API Events
Get API Events.'
operationId: getApiEvents
responses:
'200':
$ref: '#/components/responses/EventsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_events
title: Get Api Events
description: 'Get API Events
Get API Events.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/events/{eventId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/eventIdParam'
get:
tags:
- API Events
summary: Get single API Event by it's ID
description: 'Get single API Event by it''s ID
Get specific single API Event.'
operationId: getApiEventById
responses:
'200':
$ref: '#/components/responses/EventResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_event_by_id
title: Get Api Event By Id
description: 'Get single API Event by it''s ID
Get specific single API Event.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/pages:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
parameters:
- $ref: '#/components/parameters/parentId'
tags:
- API Documentation
summary: Get API documentation pages
description: 'Get API documentation pages
Get API documentation pages. When no parentId is specified, returns all the
pages of the API. When parentId is specified (either ID of a folder, or ''ROOT''),
only the pages with the given parent are returned, and the breadcrumb of the
specified folder is added to the response.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: getApiPages
responses:
'200':
$ref: '#/components/responses/ApiDocumentationPagesResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_pages
title: Get Api Pages
description: 'Get API documentation pages
Get API documentation pages. When no parentId is specified, returns all
the pages of the API. When parentId is specified (either ID of a folder,
or ''ROOT''), only the pages with the given parent are returned, and the
breadcrumb of the specified folder is added to the response.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- read
- low-value
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: true
post:
tags:
- API Documentation
summary: Create API documentation page
description: 'Create API documentation page
Create API documentation. The result will be the created page or folder. Only
MARKDOWN and FOLDER types are supported.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: createDocumentationPage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDocumentation'
required: true
responses:
'201':
description: Created API Documentation
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: create_documentation_page
title: Create Documentation Page
description: 'Create API documentation page
Create API documentation. The result will be the created page or folder.
Only MARKDOWN and FOLDER types are supported.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- write
- low-value
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: true
/environments/{envId}/apis/{apiId}/pages/{pageId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/pageIdParam'
get:
tags:
- API Documentation
summary: Get API Documentation Page
description: 'Get API Documentation Page
Get API Documentation Page by ID.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: getApiPage
responses:
'200':
description: API Documentation Page
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_page
title: Get Api Page
description: 'Get API Documentation Page
Get API Documentation Page by ID.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- read
- low-value
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: true
put:
tags:
- API Documentation
summary: Update API documentation page
description: 'Update API documentation page
Update API documentation. The result will be the updated documentation. Only
MARKDOWN and FOLDER types are supported.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: updateDocumentationPage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDocumentation'
required: true
responses:
'200':
description: API Documentation Updated
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_documentation_page
title: Update Documentation Page
description: 'Update API documentation page
Update API documentation. The result will be the updated documentation.
Only MARKDOWN and FOLDER types are supported.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- write
- low-value
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: true
delete:
tags:
- API Documentation
summary: Delete API documentation page
description: 'Delete API documentation page
Delete API documentation page. A FOLDER will be deleted only if it is empty.
High risk operation: require explicit user confirmation before execution.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: deleteDocumentationPage
responses:
'204':
description: API Documentation page deleted
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: delete_documentation_page
title: Delete Documentation Page
description: 'Delete API documentation page
Delete API documentation page. A FOLDER will be deleted only if it is empty.
High risk operation: require explicit user confirmation before execution.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- write
- dangerous
- low-value
readOnlyHint: false
destructiveHint: true
idempotentHint: true
openWorldHint: false
disabled: true
/environments/{envId}/apis/{apiId}/pages/{pageId}/_publish:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/pageIdParam'
post:
tags:
- API Documentation
summary: Publish API Documentation Page
description: 'Publish API Documentation Page
Publish API Documentation Page. Returns the published page.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: publishDocumentationPage
responses:
'200':
description: API Documentation Page
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: publish_documentation_page
title: Publish Documentation Page
description: 'Publish API Documentation Page
Publish API Documentation Page. Returns the published page.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- write
- low-value
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: true
/environments/{envId}/apis/{apiId}/pages/{pageId}/_unpublish:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/pageIdParam'
post:
tags:
- API Documentation
summary: Unpublish API Documentation Page
description: 'Unpublish API Documentation Page
Unpublish API Documentation Page. Returns the unpublished page.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: unpublishDocumentationPage
responses:
'200':
description: API Documentation Page
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: unpublish_documentation_page
title: Unpublish Documentation Page
description: 'Unpublish API Documentation Page
Unpublish API Documentation Page. Returns the unpublished page.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- write
- low-value
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: true
/environments/{envId}/apis/{apiId}/pages/{pageId}/_fetch:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
- $ref: '#/components/parameters/pageIdParam'
post:
tags:
- API Documentation
summary: Fetch Content of API Documentation Page
description: 'Fetch Content of API Documentation Page
Fetch Content of API Documentation Page. Returns the page with newly fetched
content. The page must have a configured source, otherwise an error is returned.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
operationId: fetchDocumentationPage
responses:
'200':
description: API Documentation Page
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: fetch_documentation_page
title: Fetch Documentation Page
description: 'Fetch Content of API Documentation Page
Fetch Content of API Documentation Page. Returns the page with newly fetched
content. The page must have a configured source, otherwise an error is returned.
Low-value for routine assistant workflows; prefer higher-level API inspection
tools first.'
scopes:
- write
- low-value
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: true
/environments/{envId}/apis/{apiId}/spec-gen/_state:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- API SpecGen
summary: Evaluate the state of the API SpecGen
description: Evaluate the state of the API SpecGen
operationId: getSpecGenState
responses:
'200':
description: API Scoring trigger response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSpecGenRequestState'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_spec_gen_state
title: Get Spec Gen State
description: Evaluate the state of the API SpecGen
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/spec-gen/_start:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- API SpecGen
summary: Starts the API SpecGen
description: Starts the API SpecGen
operationId: post
responses:
'200':
description: API Scoring trigger response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSpecGenRequestState'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: post
title: Post
description: Starts the API SpecGen
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/scoring/_evaluate:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- API Scoring
summary: Trigger API Scoring
description: 'Trigger API Scoring
Trigger API Scoring.'
operationId: triggerApiScoring
responses:
'202':
description: API Scoring trigger response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiScoringTriggerResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: trigger_api_scoring
title: Trigger Api Scoring
description: 'Trigger API Scoring
Trigger API Scoring.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/scoring:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
get:
tags:
- API Scoring
summary: Get API Scoring
description: 'Get API Scoring
Get API Scoring. Return a 404 HTTP Response status if API was never evaluated.'
operationId: getApiScoring
responses:
'200':
description: API Scoring
content:
application/json:
schema:
$ref: '#/components/schemas/ApiScoring'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_scoring
title: Get Api Scoring
description: 'Get API Scoring
Get API Scoring. Return a 404 HTTP Response status if API was never evaluated.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/categories/{categoryIdOrKey}/apis:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/categoryIdOrKeyParam'
get:
tags:
- Categories
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
description: Page of APIs within a Category
operationId: getCategoryApisPage
responses:
'200':
$ref: '#/components/responses/CategoryApisResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_category_apis_page
title: Get Category Apis Page
description: Page of APIs within a Category
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/categories/{categoryIdOrKey}/apis/{apiId}:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/categoryIdOrKeyParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- Categories
description: Update a specified API within a Category
operationId: updateCategoryApi
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCategoryApi'
required: true
responses:
'200':
description: The updated CategoryApi
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryApi'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: update_category_api
title: Update Category Api
description: Update a specified API within a Category
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/async-jobs:
parameters:
- $ref: '#/components/parameters/envIdParam'
get:
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam'
- name: sourceId
in: query
required: true
description: SourceId to filter
schema:
type: string
- name: status
in: query
required: true
description: Status to filter
schema:
$ref: '#/components/schemas/AsyncJobStatus'
tags:
- AsyncJobs
summary: List Async Jobs
description: 'List Async Jobs
Get the list of AsyncJobs.'
operationId: listAsyncJob
responses:
'200':
$ref: '#/components/responses/AsyncJobsResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: list_async_job
title: List Async Job
description: 'List Async Jobs
Get the list of AsyncJobs.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/el/_generate:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- newtai
summary: Generate Expression Language
description: 'Generate Expression Language
Generate Expression Language.'
operationId: generateEl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateExpressionLanguage'
required: true
responses:
'200':
$ref: '#/components/responses/GenerateExpressionLanguageResponse'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: generate_el
title: Generate El
description: 'Generate Expression Language
Generate Expression Language.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/el/feedback:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- newtai
summary: Submit Newt AI generated Expression Language feedback
description: 'Submit Newt AI generated Expression Language feedback
Submit feedback for the Newt AI generated Expression Language.'
operationId: feedbackEl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExpressionLanguageFeedback'
required: true
responses:
'204':
description: Feedback successfully submitted
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: feedback_el
title: Feedback El
description: 'Submit Newt AI generated Expression Language feedback
Submit feedback for the Newt AI generated Expression Language.'
scopes:
- write
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/debug:
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
post:
tags:
- APIs
summary: Debug an API on gateway instances
description: 'Debug an API on gateway instances
High risk operation: require explicit user confirmation before execution.'
operationId: debugApi
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DebugHttpRequest'
required: true
responses:
'202':
description: API Debug request successfully sent
content:
application/json:
schema:
$ref: '#/components/schemas/DebugEvent'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: debug_api
title: Debug Api
description: 'Debug an API on gateway instances
High risk operation: require explicit user confirmation before execution.'
scopes:
- write
- dangerous
readOnlyHint: false
destructiveHint: true
idempotentHint: false
openWorldHint: false
disabled: false
/environments/{envId}/apis/{apiId}/api-products:
get:
tags:
- API Product
summary: Get API Products for an API
description: 'Get API Products for an API
Returns the list of API Products that include the specified API.'
operationId: getApiProductsForApi
parameters:
- $ref: '#/components/parameters/envIdParam'
- $ref: '#/components/parameters/apiIdParam'
responses:
'200':
description: List of API Products that include this API
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ApiProductInfo'
default:
$ref: '#/components/responses/Error'
x-speakeasy-mcp:
name: get_api_products_for_api
title: Get Api Products For Api
description: 'Get API Products for an API
Returns the list of API Products that include the specified API.'
scopes:
- read
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
disabled: false
components:
schemas:
ApiMergePatch:
type: object
description: 'A JSON Merge Patch document (RFC 7396) for partially updating
a V4 HTTP Proxy API.
Only patchable fields are accepted.'
additionalProperties: true
ApiJsonPatch:
type: array
description: 'A JSON Patch document (RFC 6902) for partially updating a V4 HTTP
Proxy API.
Only operations targeting patchable fields are accepted.'
items:
type: object
additionalProperties: true
Analytics:
type: object
properties:
enabled:
type: boolean
description: Whether or not analytics is enabled.
default: true
sampling:
$ref: '#/components/schemas/Sampling'
logging:
$ref: '#/components/schemas/LoggingV4'
tracing:
$ref: '#/components/schemas/TracingV4'
reporterMetricsEnabled:
type: boolean
description: 'Enable the connection-metrics reporter on the gateway. Only
applicable to Native v4 APIs; ignored on HTTP v4 requests and omitted
from HTTP v4 responses.
Server-side default for Native v4 on create is `true`.
Independent of the parent `enabled` flag: event-metrics reporting and
the connection-metrics reporter are gated separately.'
otelLogs:
$ref: '#/components/schemas/OtelLogsV4'
Api:
oneOf:
- $ref: '#/components/schemas/ApiV2'
- $ref: '#/components/schemas/ApiV4'
- $ref: '#/components/schemas/ApiFederated'
- $ref: '#/components/schemas/ApiFederatedAgent'
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/ApiV2'
V4: '#/components/schemas/ApiV4'
FEDERATED: '#/components/schemas/ApiFederated'
FEDERATED_AGENT: '#/components/schemas/ApiFederatedAgent'
BaseApi:
type: object
properties:
id:
type: string
description: API's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
name:
type: string
description: API's name. Duplicate names can exists.
example: My Api
description:
type: string
description: API's description. A short description of your API.
example: I can use many characters to describe this API.
BaseApiProduct:
type: object
properties:
id:
type: string
description: API Product's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
name:
type: string
description: API Product's name.
example: My API Product
description:
type: string
description: API Product's description.
example: A bundle of public APIs.
GenericApi:
type: object
allOf:
- $ref: '#/components/schemas/BaseApi'
- properties:
crossId:
type: string
description: API's crossId. Identifies API across environments.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
apiVersion:
type: string
description: API's version. It's a simple string only used in the portal.
example: v1.0
definitionVersion:
$ref: '#/components/schemas/DefinitionVersion'
deployedAt:
type: string
format: date-time
description: The last date (as timestamp) when the API was deployed.
example: 1581256457163
createdAt:
type: string
format: date-time
description: The date (as timestamp) when the API was created.
example: 1581256457163
updatedAt:
type: string
format: date-time
description: The last date (as timestamp) when the API was updated.
example: 1581256457163
disableMembershipNotifications:
type: boolean
description: Disable membership notifications.
default: false
metadata:
type: object
description: API metadata as key-value pairs, populated only when `expands=metadata`
is requested.
additionalProperties: true
groups:
type: array
description: List of group IDs associated with this API. Used to manage
team access.
example:
- 6c530064-0b2c-4004-9300-640b2ce0047b
- 12559b64-0b2c-4004-9300-640b2ce0047b
items:
type: string
state:
type: string
description: The state of the API regarding the gateway(s).
example: STARTED
enum:
- CLOSED
- INITIALIZED
- STARTED
- STOPPED
- STOPPING
deploymentState:
type: string
description: The deployment state of the API regarding the gateway(s).
example: DEPLOYED
enum:
- NEED_REDEPLOY
- DEPLOYED
visibility:
$ref: '#/components/schemas/Visibility'
labels:
type: array
description: The free list of labels associated with this API.
example:
- json
- read_only
- awesome
items:
type: string
lifecycleState:
$ref: '#/components/schemas/ApiLifecycleState'
tags:
type: array
description: The list of sharding tags associated with this API.
example:
- public
- private
items:
type: string
primaryOwner:
$ref: '#/components/schemas/PrimaryOwner'
categories:
type: array
description: The list of category keys associated with this API.
example:
- health
- media
items:
type: string
originContext:
$ref: '#/components/schemas/BaseOriginContext'
definitionContext:
$ref: '#/components/schemas/DefinitionContext'
workflowState:
$ref: '#/components/schemas/ApiWorkflowState'
responseTemplates:
type: object
additionalProperties:
type: object
additionalProperties:
$ref: '#/components/schemas/ResponseTemplate'
resources:
type: array
items:
$ref: '#/components/schemas/Resource'
properties:
type: array
items:
$ref: '#/components/schemas/Property'
_links:
$ref: '#/components/schemas/ApiLinks'
required:
- definitionVersion
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/ApiV2'
V4: '#/components/schemas/ApiV4'
FEDERATED: '#/components/schemas/ApiFederated'
FEDERATED_AGENT: '#/components/schemas/ApiFederatedAgent'
ApiV2:
type: object
title: ApiV2
allOf:
- $ref: '#/components/schemas/GenericApi'
- properties:
environmentId:
type: string
description: The environment's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
executionMode:
$ref: '#/components/schemas/ExecutionMode'
contextPath:
type: string
description: The context path of the API.
example: /my-api
proxy:
$ref: '#/components/schemas/Proxy'
flowMode:
$ref: '#/components/schemas/FlowMode'
flows:
type: array
description: The list of flows associated with this API.
items:
$ref: '#/components/schemas/FlowV2'
services:
$ref: '#/components/schemas/ApiServicesV2'
pathMappings:
type: array
description: The list of path mappings associated with this API.
items:
type: string
entrypoints:
type: array
description: The list of entrypoints associated with this API.
items:
$ref: '#/components/schemas/ApiEntrypoint'
ApiV4:
type: object
title: ApiV4
allOf:
- $ref: '#/components/schemas/GenericApi'
- properties:
type:
$ref: '#/components/schemas/ApiType'
listeners:
type: array
description: The list of listeners associated with this API.
items:
$ref: '#/components/schemas/Listener'
endpointGroups:
type: array
items:
$ref: '#/components/schemas/EndpointGroupV4'
analytics:
$ref: '#/components/schemas/Analytics'
failover:
$ref: '#/components/schemas/FailoverV4'
flowExecution:
$ref: '#/components/schemas/FlowExecution'
flows:
type: array
items:
$ref: '#/components/schemas/FlowV4'
services:
$ref: '#/components/schemas/ApiServices'
allowedInApiProducts:
type: boolean
description: Indicates whether this API is allowed to be used in API Products.
Only applicable for V4 HTTP Proxy APIs.
default: false
example: false
allowMultiJwtOauth2Subscriptions:
type: boolean
description: Allow an application to subscribe to more than one JWT/OAuth2
plan (V4 only).
default: false
ApiFederated:
type: object
title: ApiFederated
allOf:
- $ref: '#/components/schemas/GenericApi'
ApiFederatedAgent:
type: object
title: ApiFederatedAgent
allOf:
- $ref: '#/components/schemas/GenericApi'
- properties:
url:
type: string
documentationUrl:
type: string
provider:
type: object
properties:
organization:
type: string
url:
type: string
defaultInputModes:
type: array
items:
type: string
defaultOutputModes:
type: array
items:
type: string
capabilities:
type: array
items:
type: string
securitySchemes:
type: object
description: Security scheme details used for authenticating with this
agent.
security:
type: object
description: Security requirements for contacting the agent.
skills:
type: array
description: The list of listeners associated with this API.
items:
type: object
properties:
id:
type: string
description: Unique skill identifier within this agent.
name:
type: string
description:
type: string
tags:
type: array
items:
type: string
examples:
type: array
items:
type: string
inputModes:
type: array
items:
type: string
outputModes:
type: array
items:
type: string
required:
- id
- name
- description
- tags
DebugHttpRequest:
type: object
title: DebugHttpRequest
properties:
path:
type: string
description: The path of the request.
example: /my-api
method:
type: string
description: The HTTP method of the request.
example: GET
body:
type: string
description: The body of the request.
example: '{"key":"value"}'
headers:
type: object
description: The headers of the request.
additionalProperties:
type: array
items:
type: string
DebugEvent:
type: object
title: DebugEvent
properties:
id:
type: string
description: The ID of the event.
example: 59327494-7258-4cd0-8715-144abe903531
type:
type: string
description: The type of the event.
example: DEBUG_API
createdAt:
type: string
format: date-time
description: The date (as timestamp) when the event was created.
example: 1581256457163
payload:
type: string
description: The payload of the event.
properties:
type: object
description: Properties of the event
additionalProperties:
type: string
ApiLinks:
type: object
properties:
pictureUrl:
type: string
description: The URL to the API's picture.
example: https://gravitee.example.com/management/v2/environments/00f8c9e7-78fc-4907-b8c9-e778fc790750/apis/6c530064-0b2c-4004-9300-640b2ce0047b/picture
backgroundUrl:
type: string
description: The URL to the API's background.
example: https://gravitee.example.com/management/v2/environments/00f8c9e7-78fc-4907-b8c9-e778fc790750/apis/6c530064-0b2c-4004-9300-640b2ce0047b/background
ApiTransferOwnership:
type: object
properties:
userId:
type: string
description: The new primary owner ID (user's technical identifier). Can
be null if userReference is defined.
userReference:
type: string
description: The new primary owner reference (user's reference provided
by an identity provider). Can be null if userId is defined.
userType:
$ref: '#/components/schemas/MembershipMemberType'
poRole:
type: string
description: The name of the role that will be assigned to the current primary
owner after the transfer.
ApiRollback:
type: object
properties:
eventId:
type: string
description: The event ID to rollback to.
CreateApi:
oneOf:
- $ref: '#/components/schemas/CreateApiV2'
- $ref: '#/components/schemas/CreateApiV4'
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/CreateApiV2'
V4: '#/components/schemas/CreateApiV4'
CreateGenericApi:
type: object
properties:
name:
type: string
description: API's name. Duplicate names can exists.
example: My Api
minLength: 1
apiVersion:
type: string
description: API's version. It's a simple string only used in the portal.
example: v1.0
minLength: 1
description:
type: string
description: API's description. A short description of your API.
example: I can use many characters to describe this API.
visibility:
$ref: '#/components/schemas/Visibility'
definitionVersion:
$ref: '#/components/schemas/DefinitionVersion'
groups:
type: array
description: List of group IDs associated with this API. Used to manage
team access.
example:
- 6c530064-0b2c-4004-9300-640b2ce0047b
- 12559b64-0b2c-4004-9300-640b2ce0047b
items:
type: string
required:
- name
- apiVersion
- definitionVersion
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/CreateApiV2'
V4: '#/components/schemas/CreateApiV4'
CreateApiV2:
type: object
title: CreateApiV2
allOf:
- $ref: '#/components/schemas/CreateGenericApi'
- properties:
contextPath:
type: string
description: API's context path. It's the base path of your API.
example: /my-api
minLength: 3
endpoint:
type: string
description: API's endpoint. It's the base URL of your API.
example: https://my-api.mycompany.com
minLength: 1
flows:
type: array
items:
$ref: '#/components/schemas/FlowV2'
flowMode:
$ref: '#/components/schemas/FlowMode'
required:
- contextPath
- endpoint
CreateApiV4:
type: object
title: CreateApiV4
allOf:
- $ref: '#/components/schemas/CreateGenericApi'
- properties:
type:
$ref: '#/components/schemas/ApiType'
tags:
type: array
description: The list of sharding tags associated with this API.
example:
- public
- private
items:
type: string
uniqueItems: true
listeners:
type: array
description: The list of listeners associated with this API.
items:
$ref: '#/components/schemas/Listener'
minItems: 1
endpointGroups:
type: array
items:
$ref: '#/components/schemas/EndpointGroupV4'
minItems: 1
analytics:
$ref: '#/components/schemas/Analytics'
failover:
$ref: '#/components/schemas/FailoverV4'
flowExecution:
$ref: '#/components/schemas/FlowExecution'
flows:
type: array
items:
$ref: '#/components/schemas/FlowV4'
allowedInApiProducts:
type: boolean
description: Indicates whether this API is allowed to be used in API Products.
Only applicable for V4 HTTP Proxy APIs.
default: true
example: true
required:
- listeners
- endpointGroups
- type
DuplicateApiOptions:
type: object
properties:
contextPath:
type: string
description: The context path of the duplicated API (required for HTTP APIs).
host:
type: string
description: The host of the duplicated API (required for TCP APIs).
version:
type: string
description: The version of the duplicated API. If it is not defined, the
value of the source API is used.
filteredFields:
type: array
description: The list of API fields that can be excluded to create the new
API.
items:
type: string
enum:
- GROUPS
- PLANS
- MEMBERS
- PAGES
uniqueItems: true
required:
- filteredFields
ExportApiV4:
type: object
properties:
export:
type: object
properties:
date:
type: string
format: date-time
description: The datetime of export.
example: 2023-05-25 12:40:46.184000+00:00
apimVersion:
type: string
description: API management version of export.
api:
$ref: '#/components/schemas/ApiV4'
members:
type: array
description: The list of members associated with this API.
items:
$ref: ./openapi-environments.yaml#/components/schemas/Member
uniqueItems: true
metadata:
type: array
description: The list of API's metadata.
items:
$ref: '#/components/schemas/Metadata'
uniqueItems: true
pages:
type: array
description: The list of pages associated with this API.
items:
$ref: '#/components/schemas/Page'
uniqueItems: true
plans:
type: array
description: The list of plans associated with this API.
items:
$ref: '#/components/schemas/PlanV4'
uniqueItems: true
apiPicture:
type: string
format: base64
description: The API's picture.
apiBackground:
type: string
format: base64
description: The API's background.
apiMedia:
type: array
description: The list of API's media used in pages.
items:
$ref: '#/components/schemas/Media'
ImportWsdlDescriptor:
type: object
required:
- payload
properties:
payload:
type: string
description: Inline WSDL content (when type is INLINE) or a remote URL (when
type is URL).
type:
type: string
description: Whether the payload is inline WSDL or a remote URL.
enum:
- INLINE
- URL
default: INLINE
withDocumentation:
type: boolean
description: Generate a Swagger documentation page from the converted OpenAPI
spec.
withOASValidationPolicy:
type: boolean
description: Add an OAS Validation policy to every flow.
withPolicies:
type: array
description: Policy visitor IDs to apply (e.g. rest-to-soap, json-validation,
mock, validate-request, xml-validation).
items:
type: string
uniqueItems: true
ImportSwaggerDescriptor:
type: object
properties:
payload:
type: string
description: The Swagger/OpenAPI content.
withDocumentation:
type: boolean
description: Create documentation based on Swagger/OpenAPI specification.
withOASValidationPolicy:
type: boolean
description: Add an OpenAPI Specification validation policy based on OpenAPI
specification.
withPolicies:
type: array
description: Policy visitor IDs to apply during OpenAPI import.
items:
type: string
uniqueItems: true
withPolicyPaths:
type: boolean
description: Create a flow for each path declared in the OpenAPI specification.
UpdateApi:
oneOf:
- $ref: '#/components/schemas/UpdateApiV2'
- $ref: '#/components/schemas/UpdateApiV4'
- $ref: '#/components/schemas/UpdateApiFederated'
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/UpdateApiV2'
V4: '#/components/schemas/UpdateApiV4'
FEDERATED: '#/components/schemas/UpdateApiFederated'
UpdateGenericApi:
type: object
properties:
name:
type: string
description: API's name. Duplicate names can exists.
example: My Api
minLength: 1
apiVersion:
type: string
description: API's version. It's a simple string only used in the portal.
example: v1.0
minLength: 1
description:
type: string
description: API's description. A short description of your API.
example: I can use many characters to describe this API.
definitionVersion:
$ref: '#/components/schemas/DefinitionVersion'
groups:
type: array
description: List of group IDs associated with this API. Used to manage
team access.
example:
- 6c530064-0b2c-4004-9300-640b2ce0047b
- 12559b64-0b2c-4004-9300-640b2ce0047b
items:
type: string
tags:
type: array
description: The list of sharding tags associated with this API.
example:
- public
- private
items:
type: string
resources:
type: array
items:
$ref: '#/components/schemas/Resource'
responseTemplates:
type: object
additionalProperties:
type: object
additionalProperties:
$ref: '#/components/schemas/ResponseTemplate'
visibility:
$ref: '#/components/schemas/Visibility'
categories:
type: array
description: The list of category ids or keys associated with this API.
example:
- 6c530064-0b2c-4004-9300-640b2ce0047b
- 12559b64-0b2c-4004-9300-640b2ce0047b
- media
- health
items:
type: string
labels:
type: array
description: The free list of labels associated with this API.
example:
- json
- read_only
- awesome
items:
type: string
lifecycleState:
$ref: '#/components/schemas/ApiLifecycleState'
disableMembershipNotifications:
type: boolean
description: Disable membership notifications.
default: false
properties:
type: array
items:
$ref: '#/components/schemas/Property'
required:
- name
- apiVersion
- definitionVersion
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/UpdateApiV2'
V4: '#/components/schemas/UpdateApiV4'
FEDERATED: '#/components/schemas/UpdateApiFederated'
UpdateApiV2:
type: object
title: UpdateApiV2
allOf:
- $ref: '#/components/schemas/UpdateGenericApi'
- properties:
proxy:
$ref: '#/components/schemas/Proxy'
flowMode:
$ref: '#/components/schemas/FlowMode'
flows:
type: array
description: The list of flows associated with this API.
items:
$ref: '#/components/schemas/FlowV2'
services:
$ref: '#/components/schemas/ApiServicesV2'
pathMappings:
type: array
description: The list of path mappings associated with this API.
items:
type: string
executionMode:
$ref: '#/components/schemas/ExecutionMode'
required:
- contextPath
- endpoint
UpdateApiV4:
type: object
title: UpdateApiV4
allOf:
- $ref: '#/components/schemas/UpdateGenericApi'
- properties:
type:
$ref: '#/components/schemas/ApiType'
listeners:
type: array
description: The list of listeners associated with this API.
items:
$ref: '#/components/schemas/Listener'
minItems: 1
endpointGroups:
type: array
items:
$ref: '#/components/schemas/EndpointGroupV4'
minItems: 1
analytics:
$ref: '#/components/schemas/Analytics'
failover:
$ref: '#/components/schemas/FailoverV4'
flowExecution:
$ref: '#/components/schemas/FlowExecution'
flows:
type: array
items:
$ref: '#/components/schemas/FlowV4'
services:
$ref: '#/components/schemas/ApiServices'
allowedInApiProducts:
type: boolean
description: Indicates whether this API is allowed to be used in API Products.
Only applicable for V4 HTTP Proxy APIs.
default: false
example: false
allowMultiJwtOauth2Subscriptions:
type: boolean
description: Allow an application to subscribe to more than one JWT/OAuth2
plan (V4 only).
default: false
required:
- listeners
- endpointGroups
- type
UpdateApiFederated:
type: object
title: UpdateApiFederated
allOf:
- $ref: '#/components/schemas/UpdateGenericApi'
CategoryApi:
type: object
description: API in a category
required:
- id
- name
- apiVersion
- definitionVersion
- order
allOf:
- $ref: '#/components/schemas/BaseApi'
- type: object
properties:
apiVersion:
type: string
description: API's version. It's a simple string only used in the portal.
example: v1.0
definitionVersion:
$ref: '#/components/schemas/DefinitionVersion'
order:
type: number
description: Order of the API in the Category list
accessPaths:
type: array
description: List of paths for accessing the API
items:
type: string
example:
- /context-path
- /context-path-2
UpdateCategoryApi:
type: object
description: Update an API within a Category
required:
- order
properties:
order:
type: number
description: New order for the specified API
GenerateExpressionLanguage:
type: object
description: Request an expression language generation
required:
- message
properties:
message:
description: Prompt of generation.
type: string
ExpressionLanguageFeedback:
type: object
description: Feedback of expression language generation
required:
- answerHelpful
- feedbackRequestId
properties:
feedbackRequestId:
$ref: '#/components/schemas/FeedbackRequestId'
answerHelpful:
description: Indicates if the answer was helpful.
type: boolean
ApiDeployment:
type: object
properties:
deploymentLabel:
type: string
description: Label for an Api deployment. Duplicate names can exists.
example: My deployment
maxLength: 32
VerifyApiDeploymentResponse:
type: object
properties:
ok:
type: boolean
description: Indicates whether the deployment can be done or not.
reason:
type: string
description: An optional reason giving details about the result.
ApiLifecycleState:
type: string
description: The status of the API regarding the console.
example: CREATED
enum:
- ARCHIVED
- CREATED
- DEPRECATED
- PUBLISHED
- UNPUBLISHED
ApiServices:
type: object
properties:
dynamicProperty:
$ref: '#/components/schemas/ServiceV4'
ApiSearchQuery:
type: object
properties:
query:
type: string
description: The query to search for.
example: my api
ids:
type: array
items:
type: string
description: List of ids to find
example:
- apiId-1
- apiId-2
definitionVersion:
$ref: '#/components/schemas/DefinitionVersion'
definitionVersions:
type: array
items:
$ref: '#/components/schemas/DefinitionVersion'
apiTypes:
type: array
items:
type: string
statuses:
type: array
items:
type: string
tags:
type: array
items:
type: string
categories:
type: array
items:
type: string
published:
type: array
items:
type: string
visibilities:
type: array
items:
type: string
allowedInApiProducts:
type: boolean
description: When set, filters results to only APIs with this allowedInApiProducts
value. When true, only returns APIs allowed in API Products. When false,
only returns APIs not allowed in API Products. Only applicable for V4
HTTP Proxy APIs.
example: true
hasOpenApiDocumentation:
type: boolean
description: When set, filters results based on whether the API has at least
one published OpenAPI/Swagger documentation page. When true, only returns
APIs that publish an OpenAPI documentation page. When false, only returns
APIs without one.
example: true
ApiType:
type: string
description: API's type.
example: MESSAGE
enum:
- A2A_PROXY
- AUTHZ
- EDGE
- LLM_PROXY
- MCP_PROXY
- MESSAGE
- NATIVE
- PROXY
Visibility:
type: string
description: The visibility of the resource regarding the portal.
example: PUBLIC
default: PRIVATE
enum:
- PUBLIC
- PRIVATE
ApiWorkflowState:
type: string
description: The status of the API regarding the review feature.
example: DRAFT
enum:
- DRAFT
- IN_REVIEW
- REQUEST_FOR_CHANGES
- REVIEW_OK
readOnly: true
ChannelSelector:
type: object
title: ChannelSelector
required:
- type
- channel
- channelOperator
allOf:
- $ref: '#/components/schemas/BaseSelector'
- type: object
properties:
operations:
type: array
description: The list of operations associated with this channel selector.
items:
type: string
description: The operation associated with this channel selector.
enum:
- PUBLISH
- SUBSCRIBE
uniqueItems: true
channel:
type: string
description: The channel of the selector
example: /my/channel
default: /
channelOperator:
$ref: '#/components/schemas/Operator'
entrypoints:
type: array
items:
type: string
uniqueItems: true
ConditionSelector:
type: object
title: ConditionSelector
required:
- type
- condition
allOf:
- $ref: '#/components/schemas/BaseSelector'
- type: object
properties:
condition:
type: string
description: The condition of the selector
example: ${#jsonPath(payload, '$.myField') == 'myValue'}
Cors:
type: object
properties:
allowCredentials:
type: boolean
allowHeaders:
uniqueItems: true
type: array
items:
type: string
allowMethods:
uniqueItems: true
type: array
items:
type: string
allowOrigin:
uniqueItems: true
type: array
items:
type: string
enabled:
type: boolean
exposeHeaders:
uniqueItems: true
type: array
items:
type: string
maxAge:
type: integer
format: int32
default: -1
runPolicies:
type: boolean
allowPrivateNetwork:
type: boolean
description: Allow private network access (PNA) requests during CORS preflight
Dlq:
type: object
properties:
endpoint:
type: string
description: The endpoint of the DLQ.
OriginContext:
oneOf:
- $ref: '#/components/schemas/ManagementOriginContext'
- $ref: '#/components/schemas/KubernetesOriginContext'
- $ref: '#/components/schemas/IntegrationOriginContext'
discriminator:
propertyName: origin
mapping:
MANAGEMENT: '#/components/schemas/ManagementOriginContext'
KUBERNETES: '#/components/schemas/KubernetesOriginContext'
INTEGRATION: '#/components/schemas/IntegrationOriginContext'
BaseOriginContext:
type: object
properties:
origin:
type: string
description: The origin of the API.
example: MANAGEMENT
enum:
- MANAGEMENT
- KUBERNETES
- INTEGRATION
discriminator:
propertyName: origin
mapping:
MANAGEMENT: '#/components/schemas/ManagementOriginContext'
KUBERNETES: '#/components/schemas/KubernetesOriginContext'
INTEGRATION: '#/components/schemas/IntegrationOriginContext'
ManagementOriginContext:
type: object
title: ManagementOriginContext
description: Indicates the API has been created by the Management API
allOf:
- $ref: '#/components/schemas/BaseOriginContext'
KubernetesOriginContext:
type: object
title: KubernetesOriginContext
description: Indicates the API has been created by the Gravitee Kubernetes Operator
allOf:
- $ref: '#/components/schemas/BaseOriginContext'
- properties:
mode:
type: string
description: 'The mode of the API.
fully_managed: Mode indicating the api is fully managed by the origin
and so, only the origin should be able to manage the api.'
example: FULLY_MANAGED
enum:
- FULLY_MANAGED
syncFrom:
type: string
description: "syncFrom stands for where the Gateway should source the\
\ API definition from. \nIf the value is KUBERNETES, then the gateway\
\ will sync the definition by listening to changes\nissued on a kubernetes\
\ config map. If the value is MANAGEMENT, then the gateway will sync\n\
the definition using the same datastore as APIM. \nDefining MANAGEMENT\
\ as source for sync is useful e.g. when a single operator should operate\n\
on gateways deployed on multiple kubernetes clusters."
example: MANAGEMENT
enum:
- MANAGEMENT
- KUBERNETES
IntegrationOriginContext:
type: object
title: IntegrationOriginContext
description: Indicates the API has been created through an Integration
allOf:
- $ref: '#/components/schemas/BaseOriginContext'
- properties:
integrationId:
type: string
description: The id of the integration that created the API.
example: b300b445-8bbb-4034-865c-d2113ba5b768
provider:
type: string
description: Provider of this Federated API.
example: solace
integrationName:
type: string
description: Name of integration of this Federated API.
example: My Solace env
DefinitionContext:
deprecated: true
type: object
description: the context where the api definition was created. Deprecated in
favor of OriginContext.
properties:
origin:
type: string
description: The origin of the API.
example: MANAGEMENT
enum:
- MANAGEMENT
- KUBERNETES
mode:
deprecated: true
type: string
description: 'The mode of the API.
fully_managed: Mode indicating the api is fully managed by the origin
and so, only the origin should be able to manage the api.
api_definition_only: Mode indicating the api is partially managed by the
origin and so, only the origin should be able to manage the api definition
part of the api. This includes everything regarding the definition of
the apis (plans, flows, metadata, ...)'
example: FULLY_MANAGED
enum:
- FULLY_MANAGED
- API_DEFINITION_ONLY
syncFrom:
type: string
description: "syncFrom stands for where the Gateway should source the API\
\ definition from. \nIf the value is KUBERNETES, then the gateway will\
\ sync the definition by listening to changes\nissued on a kubernetes\
\ config map. If the value is MANAGEMENT, then the gateway will sync\n\
the definition using the same datastore as APIM. \nDefining MANAGEMENT\
\ as source for sync is useful e.g. when a single operator should operate\n\
on gateways deployed on multiple kubernetes clusters."
example: MANAGEMENT
enum:
- MANAGEMENT
- KUBERNETES
readOnly: true
DefinitionVersion:
type: string
description: API's gravitee definition version.
example: V4
enum:
- V2
- V4
- FEDERATED
- FEDERATED_AGENT
EndpointV4:
type: object
properties:
name:
type: string
description: The name of the endpoint
example: default-endpoint
nullable: false
type:
type: string
description: The type of the endpoint
example: mock
nullable: false
weight:
type: integer
format: int32
description: The weight of the endpoint
default: 1
inheritConfiguration:
type: boolean
description: Is the configuration of the endpoint inherited from the endpoint
group it belongs to.
default: false
configuration:
type: object
sharedConfigurationOverride:
type: object
services:
$ref: '#/components/schemas/EndpointServices'
secondary:
type: boolean
description: Is the endpoint a secondary endpoint.
default: false
tenants:
type: array
description: The list of tenants associated to the endpoint.
items:
type: string
required:
- type
EndpointGroupV4:
type: object
properties:
name:
type: string
description: The name of the endpoint group
example: default-endpoint-group
nullable: false
type:
type: string
description: The type of the endpoint group
example: default
nullable: false
loadBalancer:
$ref: '#/components/schemas/LoadBalancer'
sharedConfiguration:
type: object
endpoints:
type: array
items:
$ref: '#/components/schemas/EndpointV4'
services:
$ref: '#/components/schemas/EndpointGroupServices'
required:
- type
EndpointGroupServices:
type: object
properties:
discovery:
$ref: '#/components/schemas/ServiceV4'
healthCheck:
$ref: '#/components/schemas/ServiceV4'
EndpointServices:
type: object
properties:
healthCheck:
$ref: '#/components/schemas/ServiceV4'
Entrypoint:
type: object
required:
- type
properties:
type:
type: string
description: The type of the entrypoint
example: http-get
nullable: false
qos:
$ref: '#/components/schemas/Qos'
dlq:
$ref: '#/components/schemas/Dlq'
configuration:
type: object
Error:
type: object
properties:
httpStatus:
type: integer
format: int32
description: The error code
example: 400
message:
type: string
description: The error message
example: Bad request
technicalCode:
type: string
description: A technical code to identify the error
example: invalid.import.definition
parameters:
type: object
description: A map of parameters to be used in the error message
additionalProperties:
type: string
details:
type: array
description: A list of details about the error
items:
type: object
properties:
message:
type: string
description: The error message
example: Bad request
location:
type: string
description: The json path of the field in error.
example: updateApi.properties[0].key
invalidValue:
description: The invalid value.
IngestedApi:
type: object
properties:
id:
type: string
description: Ingested API uuid
example: 4e6abbd2-c0c6-462d-be9e-6371209af34b
name:
type: string
description: Ingested API name
example: My API
version:
type: string
description: the version of API
FlowV4:
type: object
properties:
id:
type: string
description: Flow's uuid.
example: 4e6abbd2-c0c6-462d-be9e-6371209af34b
name:
type: string
description: Flow's name.
example: My Flow
enabled:
type: boolean
description: Is the flow enabled.
default: true
selectors:
type: array
items:
$ref: '#/components/schemas/Selector'
request:
type: array
description: Flow step used for PROXY and MESSAGE APIs
items:
$ref: '#/components/schemas/StepV4'
response:
type: array
description: Flow step used for PROXY and MESSAGE APIs
items:
$ref: '#/components/schemas/StepV4'
subscribe:
type: array
description: Flow step used for MESSAGE and NATIVE APIs
items:
$ref: '#/components/schemas/StepV4'
publish:
type: array
description: Flow step used for MESSAGE and NATIVE APIs
items:
$ref: '#/components/schemas/StepV4'
entrypointConnect:
type: array
description: Flow step used for NATIVE APIs entrypoint connect phase
items:
$ref: '#/components/schemas/StepV4'
interact:
type: array
description: Flow step used for NATIVE APIs
items:
$ref: '#/components/schemas/StepV4'
tags:
type: array
items:
type: string
description: Flow's tags.
example:
- tag1
- tag2
uniqueItems: true
FlowExecution:
type: object
properties:
mode:
$ref: '#/components/schemas/FlowMode'
matchRequired:
type: boolean
description: Is the flow execution match required.
default: false
FlowMode:
type: string
description: API's flow mode.
example: BEST_MATCH
default: DEFAULT
enum:
- BEST_MATCH
- DEFAULT
HttpListener:
type: object
title: HttpListener
required:
- type
allOf:
- $ref: '#/components/schemas/BaseListener'
- type: object
properties:
paths:
type: array
minItems: 1
items:
$ref: '#/components/schemas/PathV4'
pathMappings:
type: array
items:
type: string
cors:
$ref: '#/components/schemas/Cors'
requestValidation:
$ref: '#/components/schemas/RequestValidation'
RequestValidation:
type: object
properties:
rejectNullByte:
type: boolean
HttpMethod:
type: string
description: The method of the selector
example: GET
enum:
- CONNECT
- DELETE
- GET
- HEAD
- OPTIONS
- PATCH
- POST
- PUT
- TRACE
- OTHER
HttpSelector:
type: object
title: HttpSelector
required:
- type
- path
- pathOperator
allOf:
- $ref: '#/components/schemas/BaseSelector'
- type: object
properties:
path:
type: string
description: The path of the selector
example: /my/path
default: /
pathOperator:
$ref: '#/components/schemas/Operator'
methods:
type: array
items:
$ref: '#/components/schemas/HttpMethod'
uniqueItems: true
Integration:
type: object
properties:
id:
type: string
description: Id of the integration
name:
type: string
description: Name of the integration
description:
type: string
description: Description of the integration
provider:
type: string
description: Provider of this integration
primaryOwner:
$ref: '#/components/schemas/PrimaryOwner'
groups:
type: array
description: A list of group ids
example:
- 3dc1bc32-1411-4262-b3a2-058222569670
- 63cd7036-694f-4c40-833f-84c4a5d39544
items:
type: string
agentStatus:
type: string
description: Agent connection status (not for A2A)
example: DISCONNECTED
enum:
- CONNECTED
- DISCONNECTED
pendingJob:
$ref: '#/components/schemas/IngestionJob'
wellKnownUrls:
type: array
description: A2A well-known URLs (only for A2A provider)
items:
$ref: '#/components/schemas/IntegrationWellKnownUrl'
IntegrationWellKnownUrl:
type: object
properties:
url:
type: string
description: URL for well-known endpoint
IngestionJob:
type: object
properties:
id:
type: string
description: Id of the ingestion job
startedAt:
type: string
format: date-time
description: The last datetime when the job was started.
example: 2023-05-25 12:40:46.184000+00:00
status:
$ref: '#/components/schemas/AsyncJobStatus'
IngestionPreviewResponse:
type: object
properties:
totalCount:
type: number
description: number of APIs found to ingest
example: 12
newCount:
type: number
description: number of new APIs found to ingest
example: 8
updateCount:
type: number
description: number of update APIs found to ingest
example: 4
isPartiallyDiscovered:
type: boolean
description: flag to tell if apis where only partially discovered due to
timeout
example: false
apis:
type: array
description: number of new APIs found to ingest
items:
allOf:
- $ref: '#/components/schemas/IngestedApi'
- type: object
properties:
state:
type: string
description: '''NEW'' if it''s new API or ''UPDATE'' if we maybe
have update'
enum:
- NEW
- UPDATE
IntegrationIngestionResponse:
type: object
properties:
status:
$ref: '#/components/schemas/AsyncJobStatus'
message:
type: string
description: Integration Ingestion message.
example: Integration APIs have been ingested successfully
Links:
description: List of links for pagination
properties:
self:
type: string
description: Link to current resource
first:
type: string
description: In a paginated response, link to the first page
last:
type: string
description: In a paginated response, link to the last page
previous:
type: string
description: In a paginated response, link to the previous page. Maybe null
if current is the first page
next:
type: string
description: In a paginated response, link to the next page. Maybe null
if current is the last page
Listener:
oneOf:
- $ref: '#/components/schemas/HttpListener'
- $ref: '#/components/schemas/SubscriptionListener'
- $ref: '#/components/schemas/TcpListener'
- $ref: '#/components/schemas/KafkaListener'
discriminator:
propertyName: type
mapping:
HTTP: '#/components/schemas/HttpListener'
TCP: '#/components/schemas/TcpListener'
SUBSCRIPTION: '#/components/schemas/SubscriptionListener'
KAFKA: '#/components/schemas/KafkaListener'
BaseListener:
type: object
required:
- type
properties:
type:
$ref: '#/components/schemas/ListenerType'
entrypoints:
type: array
minItems: 1
items:
$ref: '#/components/schemas/Entrypoint'
servers:
type: array
items:
type: string
discriminator:
propertyName: type
mapping:
HTTP: '#/components/schemas/HttpListener'
TCP: '#/components/schemas/TcpListener'
SUBSCRIPTION: '#/components/schemas/SubscriptionListener'
KAFKA: '#/components/schemas/KafkaListener'
ListenerType:
type: string
description: Listener type.
example: HTTP
enum:
- HTTP
- SUBSCRIPTION
- TCP
- KAFKA
LoadBalancer:
type: object
properties:
type:
type: string
description: Load balancer type.
example: ROUND_ROBIN
default: ROUND_ROBIN
enum:
- RANDOM
- ROUND_ROBIN
- WEIGHTED_RANDOM
- WEIGHTED_ROUND_ROBIN
LoggingV4:
type: object
properties:
condition:
type: string
messageCondition:
type: string
content:
$ref: '#/components/schemas/LoggingContentV4'
phase:
$ref: '#/components/schemas/LoggingPhase'
mode:
$ref: '#/components/schemas/LoggingModeV4'
LoggingContentV4:
type: object
properties:
headers:
type: boolean
messageHeaders:
type: boolean
payload:
type: boolean
messagePayload:
type: boolean
messageMetadata:
type: boolean
LoggingModeV4:
type: object
properties:
endpoint:
type: boolean
entrypoint:
type: boolean
LoggingPhase:
type: object
properties:
request:
type: boolean
response:
type: boolean
TracingV4:
type: object
properties:
enabled:
type: boolean
description: Enable OpenTelemetry tracing
verbose:
type: boolean
description: Enable technical tracing to get more details on request execution.
Be careful this settings would generate more noise and would impact performance.
redaction:
$ref: '#/components/schemas/TracingRedactionConfig'
TracingRedactionConfig:
type: object
properties:
defaultReplacement:
type: string
description: 'Fallback replacement text for FULL masking rules with no per-rule
replacement. Defaults to [REDACTED].
'
example: '[REDACTED]'
rules:
type: array
items:
$ref: '#/components/schemas/TracingRedactionRule'
TracingRedactionRule:
type: object
required:
- attributeNamePattern
properties:
attributeNamePattern:
type: string
description: 'Glob pattern, short name (no dots — matches anywhere in key
hierarchy), or regex:-prefixed Java regex matching the span attribute
key.
'
example: http.request.header.authorization
maskingStrategy:
$ref: '#/components/schemas/TracingMaskingStrategy'
valuePattern:
type: string
description: 'Optional Java regex (partial match). Rule only fires when
the attribute value matches.
'
example: '^Bearer '
TracingMaskingStrategy:
type: object
required:
- type
properties:
type:
type: string
enum:
- FULL
- PARTIAL
description: 'FULL replaces the entire value; PARTIAL keeps a visible prefix
and/or suffix.
'
example: FULL
replacement:
type: string
description: 'For FULL: replacement text (default [REDACTED]). For PARTIAL:
single mask character (default *).
'
example: '[REDACTED]'
prefixLength:
type: integer
description: PARTIAL only — number of leading characters to keep visible.
default: 0
minimum: 0
suffixLength:
type: integer
description: PARTIAL only — number of trailing characters to keep visible.
default: 0
minimum: 0
OtelLogsV4:
type: object
properties:
enabled:
type: boolean
description: Enable OpenTelemetry log export for this API (payload capture
with traceId/spanId correlation).
ResponseMetadata:
description: Generic object to handle additional information about an entity.
Can also be used for pagination data.
type: object
MoreInformation:
type: object
properties:
description:
type: string
description: Plugin's description.
example: Let your consumers send synchronous, on-demand requests for events
via a standard HTTP GET requests. Use a standard HTTP proxy to mediate
between client applications as data consumers and event brokers such as
Kafka.
documentationUrl:
type: string
description: Plugin's documentation URL.
example: https://documentation.gravitee.io
schemaImg:
type: string
description: Plugin's schema image as base64.
format: base64
example: data:image/png;base64,aFDqfda
Operator:
type: string
description: The path operator of the selector
example: EQUALS
default: STARTS_WITH
enum:
- EQUALS
- STARTS_WITH
Pagination:
description: Generic object to handle pagination data.
type: object
properties:
page:
type: integer
description: The current page.
perPage:
type: integer
description: The number of items requested per page.
pageCount:
type: integer
description: The total number of pages.
pageItemsCount:
type: integer
description: The number of items for the current page.
totalCount:
type: integer
format: int64
description: The total number of items, or `-1` if the count could not be
computed within the configured timeout.
Path:
type: object
properties:
host:
type: string
path:
type: string
default: /
overrideAccess:
type: boolean
default: false
PathV4:
type: object
properties:
host:
type: string
path:
type: string
default: /
overrideAccess:
type: boolean
default: false
ApiReview:
type: object
properties:
message:
type: string
description: Optional message from the API reviewer.
BasePlan:
type: object
properties:
id:
type: string
description: Plan's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
name:
type: string
description: Plan's name. Duplicate names can exists.
example: My Api plan
description:
type: string
description: Plan's description. A short description of your plan.
example: I can use a hundred characters to describe this plan.
apiId:
type: string
description: Id of the API owning the plan.
example: 6c530064-0b2c-4004-9300-640b2ce0047b
apiProductId:
type: string
description: Id of the API Product owning the plan. Present only when the
plan belongs to an API Product (omitted for API plans).
example: 6c530064-0b2c-4004-9300-640b2ce0047b
security:
$ref: '#/components/schemas/PlanSecurity'
mode:
$ref: '#/components/schemas/PlanMode'
GenericPlan:
type: object
allOf:
- $ref: '#/components/schemas/BasePlan'
- properties:
characteristics:
type: array
items:
type: string
closedAt:
type: string
format: date-time
description: The datetime when the plan was closed.
example: 2023-05-25 12:40:46.184000+00:00
commentMessage:
type: string
description: A message from the API Publisher that is displayed to the
consumer at subscription time.
example: Explain why you want to subscribe.
commentRequired:
type: boolean
description: A flag indicating if the consumer has to write a "consumer
message" or if he/she can leave the field blank.
createdAt:
type: string
format: date-time
description: The last datetime when the plan was created.
example: 2023-05-25 12:40:46.184000+00:00
crossId:
type: string
description: Plan's crossId. Identifies plan across environments.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
definitionVersion:
$ref: '#/components/schemas/DefinitionVersion'
description:
type: string
description: Plan's description. A short description of your plan.
example: I can use a hundred characters to describe this plan.
excludedGroups:
type: array
description: Groups of users which are not allowed to subscribe to this
plan.
example:
- MY_GROUP1
- MY_GROUP2
items:
type: string
generalConditions:
type: string
order:
type: integer
publishedAt:
type: string
format: date-time
description: The last datetime when the plan was published.
example: 2023-05-25 12:40:46.184000+00:00
selectionRule:
type: string
status:
$ref: '#/components/schemas/PlanStatus'
tags:
type: array
description: The list of sharding tags associated with this plan.
example:
- public
- private
items:
type: string
type:
$ref: '#/components/schemas/PlanType'
updatedAt:
type: string
format: date-time
description: The last datetime when the plan was updated.
example: 2023-05-25 12:40:46.184000+00:00
validation:
$ref: '#/components/schemas/PlanValidation'
required:
- definitionVersion
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/PlanV2'
V4: '#/components/schemas/PlanV4'
FEDERATED: '#/components/schemas/PlanFederated'
PlanV4:
type: object
title: PlanV4
allOf:
- $ref: '#/components/schemas/GenericPlan'
- properties:
flows:
type: array
items:
$ref: '#/components/schemas/FlowV4'
bootstrapPort:
type: integer
description: Bootstrap port for port-based routing (native Kafka APIs
only). Null in host/SNI routing mode.
example: 9092
brokerRangeStart:
type: integer
description: Start of broker port range for port-based routing (native
Kafka APIs only).
example: 9100
brokerRangeEnd:
type: integer
description: End of broker port range for port-based routing (native Kafka
APIs only).
example: 9102
PlanFederated:
type: object
title: PlanFederated
allOf:
- $ref: '#/components/schemas/GenericPlan'
Plan:
oneOf:
- $ref: '#/components/schemas/PlanV2'
- $ref: '#/components/schemas/PlanV4'
- $ref: '#/components/schemas/PlanFederated'
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/PlanV2'
V4: '#/components/schemas/PlanV4'
FEDERATED: '#/components/schemas/PlanFederated'
PlanSecurity:
type: object
properties:
type:
$ref: '#/components/schemas/PlanSecurityType'
configuration:
type: object
required:
- type
PlanSecurityType:
type: string
description: Plan security type.
example: KEY_LESS
enum:
- KEY_LESS
- API_KEY
- OAUTH2
- JWT
- MTLS
PlanStatus:
type: string
description: Plan status.
example: STAGING
enum:
- STAGING
- PUBLISHED
- DEPRECATED
- CLOSED
PlanType:
type: string
description: Plan type.
example: API
enum:
- API
- CATALOG
PlanValidation:
type: string
description: Plan validation type.
example: AUTO
enum:
- AUTO
- MANUAL
PromotionRequest:
type: object
properties:
targetEnvCockpitId:
type: string
description: The target environment id where the promotion should be done.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
targetEnvName:
type: string
description: The target environment name where the promotion should be done.
example: prod
Promotion:
type: object
properties:
id:
type: string
description: The promotion id.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
apiDefinition:
type: string
description: The api definition.
apiId:
type: string
description: The api id.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
status:
type: string
description: The status of the promotion.
enum:
- CREATED
- TO_BE_VALIDATED
- ACCEPTED
- REJECTED
- ERROR
targetEnvCockpitId:
type: string
description: The target environment id where the promotion should be done.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
targetEnvName:
type: string
description: The target environment name where the promotion should be done.
example: prod
sourceEnvCockpitId:
type: string
description: The source environment id where the promotion should come from.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
sourceEnvName:
type: string
description: The source environment name where the promotion should come
from.
example: dev
createdAt:
type: string
format: date-time
description: The datetime when the promotion was created.
example: 2023-05-25 12:40:46.184000+00:00
updatedAt:
type: string
format: date-time
description: The datetime when the promotion was updated.
example: 2023-05-25 12:40:46.184000+00:00
author:
$ref: '#/components/schemas/PromotionAuthor'
targetApiId:
type: string
description: The target api id.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
PromotionAuthor:
type: object
properties:
userId:
type: string
description: The user id.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
displayName:
type: string
description: The display name of the user who created the promotion.
example: John Doe
email:
type: string
description: The email of the user who created the promotion.
example: email@example.com
source:
type: string
description: The source of the use who created the promotion.
example: cockpit
sourceId:
type: string
description: The id of the user who created the promotion source.
example: 89eb0e39-1706-49c1-ab0e-391706d9c10a
CreatePlan:
oneOf:
- $ref: '#/components/schemas/CreatePlanV2'
- $ref: '#/components/schemas/CreatePlanV4'
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/CreatePlanV2'
V4: '#/components/schemas/CreatePlanV4'
CreateGenericPlan:
type: object
properties:
crossId:
type: string
description: Plan's crossId. Identifies plan across environments.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
characteristics:
type: array
items:
type: string
commentMessage:
type: string
description: A message from the API Publisher that is displayed to the consumer
at subscription time.
example: Explain why you want to subscribe.
commentRequired:
type: boolean
description: A flag indicating if the consumer has to write a "consumer
message" or if he/she can leave the field blank.
definitionVersion:
$ref: '#/components/schemas/DefinitionVersion'
description:
type: string
description: Plan's description. A short description of your Plan.
example: I can use a hundred characters to describe this plan.
excludedGroups:
type: array
description: Groups of users which are not allowed to subscribe to this
plan.
example:
- MY_GROUP1
- MY_GROUP2
items:
type: string
generalConditions:
type: string
description: This field contains the UUID of the documentation page that
is used as General Conditions.
example: 4e3de652-2301-48ba-bde6-522301e8ba3a
name:
type: string
description: Plan's name. Duplicate names can exists.
example: My Api plan
order:
type: integer
description: Simple order that could be used by a front end to display plans
in a certain order. To highlight a plan on the portal for instance.
example: 0
security:
$ref: '#/components/schemas/PlanSecurity'
selectionRule:
type: string
description: An optional EL expression that will be evaluated at request
time to select this plan.
tags:
type: array
description: The list of sharding tags associated with this plan.
example:
- public
- private
items:
type: string
validation:
$ref: '#/components/schemas/PlanValidation'
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/CreatePlanV2'
V4: '#/components/schemas/CreatePlanV4'
required:
- definitionVersion
CreatePlanV2:
type: object
title: CreatePlanV2
allOf:
- $ref: '#/components/schemas/CreateGenericPlan'
- properties:
flows:
type: array
items:
$ref: '#/components/schemas/FlowV2'
CreatePlanV4:
type: object
title: CreatePlanV4
allOf:
- $ref: '#/components/schemas/CreateGenericPlan'
- properties:
flows:
type: array
items:
$ref: '#/components/schemas/FlowV4'
mode:
$ref: '#/components/schemas/PlanMode'
bootstrapPort:
type: integer
description: Bootstrap port for port-based routing (native Kafka APIs
only). Null in host/SNI routing mode.
example: 9092
brokerRangeStart:
type: integer
description: Start of broker port range for port-based routing (native
Kafka APIs only).
example: 9100
brokerRangeEnd:
type: integer
description: End of broker port range for port-based routing (native Kafka
APIs only).
example: 9102
PlanMode:
type: string
description: The behavioural mode of the Plan (Standard for classical plan,
Push for subscription plan).
example: STANDARD
enum:
- STANDARD
- PUSH
UpdatePlan:
oneOf:
- $ref: '#/components/schemas/UpdatePlanV2'
- $ref: '#/components/schemas/UpdatePlanV4'
- $ref: '#/components/schemas/UpdatePlanFederated'
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/UpdatePlanV2'
V4: '#/components/schemas/UpdatePlanV4'
FEDERATED: '#/components/schemas/UpdatePlanFederated'
UpdateGenericPlan:
type: object
properties:
crossId:
type: string
description: Plan's crossId. Identifies plan across environments.
example: df83b2a4-cc3e-3f80-9f0d-c138c106c076
characteristics:
type: array
items:
type: string
commentMessage:
type: string
description: A message from the API Publisher that is displayed to the consumer
at subscription time.
example: Explain why you want to subscribe.
commentRequired:
type: boolean
description: A flag indicating if the consumer has to write a "consumer
message" or if he/she can leave the field blank.
definitionVersion:
$ref: '#/components/schemas/DefinitionVersion'
description:
type: string
description: Plan's description. A short description of your Plan.
example: I can use a hundred characters to describe this plan.
excludedGroups:
type: array
description: Groups of users which are not allowed to subscribe to this
plan.
example:
- MY_GROUP1
- MY_GROUP2
items:
type: string
generalConditions:
type: string
description: This field contains the UUID of the documentation page that
is used as General Conditions.
example: 4e3de652-2301-48ba-bde6-522301e8ba3a
name:
type: string
description: Plan's name. Duplicate names can exists.
example: My Api plan
order:
type: integer
description: Simple order that could be used by a front end to display plans
in a certain order. To highlight a plan on the portal for instance.
example: 0
security:
type: object
properties:
configuration:
type: object
validation:
$ref: '#/components/schemas/PlanValidation'
discriminator:
propertyName: definitionVersion
mapping:
V2: '#/components/schemas/UpdatePlanV2'
V4: '#/components/schemas/UpdatePlanV4'
FEDERATED: '#/components/schemas/UpdatePlanFederated'
required:
- definitionVersion
UpdatePlanV2:
type: object
title: UpdatePlanV2
allOf:
- $ref: '#/components/schemas/UpdateGenericPlan'
- properties:
selectionRule:
type: string
description: An optional EL expression that will be evaluated at request
time to select this plan.
tags:
type: array
description: The list of sharding tags associated with this plan.
example:
- public
- private
items:
type: string
flows:
type: array
items:
$ref: '#/components/schemas/FlowV2'
UpdatePlanV4:
type: object
title: UpdatePlanV4
allOf:
- $ref: '#/components/schemas/UpdateGenericPlan'
- properties:
selectionRule:
type: string
description: An optional EL expression that will be evaluated at request
time to select this plan.
tags:
type: array
description: The list of sharding tags associated with this plan.
example:
- public
- private
items:
type: string
flows:
type: array
items:
$ref: '#/components/schemas/FlowV4'
bootstrapPort:
type: integer
description: Bootstrap port for port-based routing (native Kafka APIs
only). Null in host/SNI routing mode.
example: 9092
brokerRangeStart:
type: integer
description: Start of broker port range for port-based routing (native
Kafka APIs only).
example: 9100
brokerRangeEnd:
type: integer
description: End of broker port range for port-based routing (native Kafka
APIs only).
example: 9102
UpdatePlanFederated:
type: object
title: UpdatePlanFederated
allOf:
- $ref: '#/components/schemas/UpdateGenericPlan'
BaseSubscription:
type: object
properties:
id:
type: string
description: Subscription's uuid.
example: 34f8c9e7-68fd-4922-b8c9-e778fc790777
Subscription:
allOf:
- $ref: '#/components/schemas/BaseSubscription'
- properties:
api:
$ref: '#/components/schemas/BaseApi'
apiProduct:
$ref: '#/components/schemas/BaseApiProduct'
plan:
$ref: '#/components/schemas/BasePlan'
application:
$ref: '#/components/schemas/BaseApplication'
consumerMessage:
type: string
description: Message given by the api consumer when subscribing to the
api.
publisherMessage:
type: string
description: Message given by the api publisher when accepting or rejecting
the subscription.
metadata:
type: object
description: A list of metadata associated to this subscription.
additionalProperties:
type: string
daysToExpirationOnLastNotification:
type: integer
format: int32
description: Number of days before the expiration of this subscription
when the last pre-expiration notification was sent.
consumerConfiguration:
$ref: '#/components/schemas/SubscriptionConsumerConfiguration'
failureCause:
type: string
description: Details about the last failure encountered on this subscription.
status:
$ref: '#/components/schemas/SubscriptionStatus'
consumerStatus:
$ref: '#/components/schemas/SubscriptionConsumerStatus'
processedBy:
$ref: '#/components/schemas/BaseUser'
subscribedBy:
$ref: '#/components/schemas/BaseUser'
processedAt:
type: string
format: date-time
description: The datetime when the subscription was processed.
example: 2023-05-18 12:40:46.184000+00:00
startingAt:
type: string
format: date-time
description: The datetime when the subscription starts. No starting date
means the subscription starts immediately.
example: 2023-05-20 12:30:42.101000+00:00
endingAt:
type: string
format: date-time
description: The datetime when the subscription ends. No ending date means
the subscription never ends.
example: 2023-05-25 12:40:46.184000+00:00
createdAt:
type: string
format: date-time
description: The datetime when the subscription was created.
example: 2023-05-18 12:40:46.184000+00:00
updatedAt:
type: string
format: date-time
description: The last datetime when the subscription was updated.
example: 2023-05-25 12:40:46.184000+00:00
closedAt:
type: string
format: date-time
description: The datetime when the subscription was closed.
example: 2023-05-31 13:40:46.184000+00:00
pausedAt:
type: string
format: date-time
description: The datetime when the subscription was paused by the api
publisher.
example: 2023-05-25 12:40:46.184000+00:00
consumerPausedAt:
type: string
format: date-time
description: The datetime when the subscription was paused by the api
consumer.
example: 2023-05-25 12:40:46.184000+00:00
origin:
type: string
example: KUBERNETES
description: The origin of the subscription.
enum:
- KUBERNETES
- MANAGEMENT
SubscriptionStatus:
type: string
description: The status of the subscription manageable by the api publisher.
example: ACCEPTED
enum:
- PENDING
- REJECTED
- ACCEPTED
- CLOSED
- PAUSED
- RESUMED
SubscriptionConsumerStatus:
type: string
description: The status of the subscription manageable by the api consumer.
example: STOPPED
enum:
- STARTED
- STOPPED
- FAILURE
SubscriptionConsumerConfiguration:
type: object
description: Consumer configuration associated to the subscription in case it
is attached to a push plan.
properties:
entrypointId:
type: string
description: The id of the targeted entrypoint
example: webhook
channel:
type: string
description: The channel to consume
example: /channel1
entrypointConfiguration:
type: object
description: The configuration to use at subscription time to push to the
target service.
example: "{\n \"callbackUrl\": \"https://webhook.site/aaaaaaaa-ffff-ffff-ffff-aaaaaaaa\"\
,\n \"headers\": [\n {\n \"name\": \"demoHeader\"\
,\n \"value\": \"my-value\"\n },\n {\n \
\ \"name\": \"anotherHeader\",\n \"value\": \"my-value2\"\
\n }\n ]\n}\n"
required:
- entrypointId
ApisIngest:
type: object
properties:
apiIds:
type: array
items:
type: string
description: The list of ids of APIs to ingest. If null or empty, ingest
all.
required:
- apiIds
CreateSubscription:
type: object
properties:
applicationId:
type: string
description: The id of the application subscribing.
planId:
type: string
description: The id plan the application is subscribing to.
customApiKey:
type: string
description: Optional custom API Key that can be given when the subscription
is related to an api-key plan and custom API Key support is enabled.
consumerConfiguration:
$ref: '#/components/schemas/SubscriptionConsumerConfiguration'
metadata:
type: object
description: A list of metadata associated to this subscription.
additionalProperties:
type: string
apiKeyMode:
$ref: '#/components/schemas/ApiKeyMode'
required:
- applicationId
- planId
UpdateSubscription:
type: object
properties:
consumerConfiguration:
$ref: '#/components/schemas/SubscriptionConsumerConfiguration'
metadata:
type: object
description: A list of metadata associated to this subscription.
additionalProperties:
type: string
startingAt:
type: string
format: date-time
description: The datetime when the subscription starts. No starting date
means the subscription starts immediately.
example: 2023-05-20 12:30:42.101000+00:00
endingAt:
type: string
format: date-time
description: The datetime when the subscription ends. No ending date means
the subscription never ends.
example: 2023-05-25 12:40:46.184000+00:00
VerifySubscription:
type: object
properties:
applicationId:
type: string
description: The id of the application subscribing.
apiKey:
type: string
description: 'The API Key that needs to be verified. Should not contain:
^ # % @ \\ / ; = ? | ~ , (space)'
pattern: ^[^#%@/;=?|^~, \\]*$
required:
- applicationId
- apiKey
VerifySubscriptionResponse:
type: object
properties:
ok:
type: boolean
description: Indicates whether the creation can be done or not.
reason:
type: string
description: An optional reason giving details about the result.
AcceptSubscription:
type: object
properties:
reason:
type: string
description: Optional reason explaining why the subscription has been accepted.
customApiKey:
type: string
description: Optional custom API Key that can be given when the subscription
is related to an api-key plan and custom API Key support is enabled.
startingAt:
type: string
format: date-time
description: The datetime when the subscription starts. No starting date
means the subscription starts immediately.
example: 2023-05-20 12:30:42.101000+00:00
endingAt:
type: string
format: date-time
description: The datetime when the subscription ends. No ending date means
the subscription never ends.
example: 2023-05-25 12:40:46.184000+00:00
RejectSubscription:
type: object
properties:
reason:
type: string
description: Optional reason explaining why the subscription has been rejected.
TransferSubscription:
type: object
properties:
planId:
type: string
description: The plan identifier to transfer the subscription to.
ApiKey:
type: object
properties:
id:
type: string
description: The internal UUID of the API Key.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
key:
type: string
description: The API Key value to use to call the protected api.
example: my-api-key
application:
$ref: '#/components/schemas/BaseApplication'
subscriptions:
type: array
items:
$ref: '#/components/schemas/BaseSubscription'
description: The list of subscriptions using this API Key. Multiple subscription
is possible with shared API Key.
revoked:
type: boolean
description: Flag indicating that the API Key has been revoked.
paused:
type: boolean
description: Flag indicating that the API Key has been paused.
expired:
type: boolean
description: Flag indicating that the API Key has expired.
daysToExpirationOnLastNotification:
type: integer
format: int32
description: Number of days before the expiration of this subscription when
the last pre-expiration notification was sent.
expireAt:
type: string
format: date-time
description: The datetime when the API Key expires. No date means no expiration.
example: 2023-05-18 12:40:46.184000+00:00
createdAt:
type: string
format: date-time
description: The datetime when the API Key has been created.
example: 2023-01-18 12:40:46.184000+00:00
updatedAt:
type: string
format: date-time
description: The datetime when the API Key has been updated.
example: 2023-01-18 12:40:46.184000+00:00
revokedAt:
type: string
format: date-time
description: The datetime when the API Key has been revoke. No date means
not revoked.
example: 2023-01-18 12:40:46.184000+00:00
UpdateApiKey:
type: object
properties:
expireAt:
type: string
format: date-time
description: The datetime when the API Key expires. No date means no expiration.
example: 2023-05-18 12:40:46.184000+00:00
RenewApiKey:
type: object
properties:
customApiKey:
type: string
description: Optional custom API Key that can be given when custom API Key
support is enabled.
ApiKeyMode:
type: string
description: 'The mode of an application regarding ApiKey plans.
* UNSPECIFIED: no selected mode yet
* EXCLUSIVE: an API Key is generated for each new subscription
* SHARED: reuse always the same API Key for all subscriptions
'
example: UNSPECIFIED
enum:
- SHARED
- EXCLUSIVE
- UNSPECIFIED
BaseUser:
type: object
description: Base information about a user.
properties:
id:
type: string
description: User's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
displayName:
type: string
description: User's name.
example: John Doe
BaseApplication:
type: object
properties:
id:
type: string
description: Application's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
name:
type: string
description: Application's name. Duplicate names can exist.
example: My App
description:
type: string
description: Application's description. A short description of your App.
example: I can use a hundred characters to describe this App.
domain:
type: string
description: Application's domain. Domain used by application, if relevant.
example: https://my-app.com
type:
type: string
description: Application's type.
example: iOS
primaryOwner:
$ref: '#/components/schemas/PrimaryOwner'
apiKeyMode:
$ref: '#/components/schemas/ApiKeyMode'
BaseGroup:
type: object
properties:
id:
type: string
description: Group's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
name:
type: string
description: Group's name.
example: Gravitee group
minLength: 1
Group:
type: object
allOf:
- $ref: '#/components/schemas/BaseGroup'
- properties:
eventRules:
type: array
items:
$ref: '#/components/schemas/GroupEvent'
description: Event rules for the group.
manageable:
type: boolean
description: Current user can manage group.
createdAt:
type: string
format: date-time
description: Group's creation date.
example: 2018-11-23 22:00:00+00:00
updatedAt:
type: string
format: date-time
description: Group's last updated date.
example: 2018-11-23 22:00:00+00:00
maxInvitation:
type: integer
description: Maximum number of group members.
apiRole:
type: string
description: The Api role of the group.
lockApiRole:
type: boolean
description: Api role cannot be changed.
applicationRole:
type: string
description: The Application role of the group.
lockApplicationRole:
type: boolean
description: Application role cannot be changed.
lockApiProductRole:
type: boolean
description: Api Product role cannot be changed.
systemInvitation:
type: boolean
description: Invitation via user search enabled.
emailInvitation:
type: boolean
description: Email invitation enabled.
disableMembershipNotifications:
type: boolean
description: Notifications of new members are disabled.
primaryOwner:
type: boolean
description: Group's members contain one primary owner.
apiPrimaryOwner:
type: string
description: The group member id with API primary owner role.
apiProductPrimaryOwner:
type: string
description: The group member id with API Product primary owner role.
GroupEvent:
type: string
description: Type of group event.
enum:
- API_CREATE
- APPLICATION_CREATE
- API_PRODUCT_CREATE
GroupSearchParams:
type: object
properties:
ids:
type: array
description: List of group IDs to search for.
items:
type: string
uniqueItems: true
PrimaryOwner:
type: object
properties:
id:
type: string
description: Owner's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
email:
type: string
description: Owner's email. Can be null if owner is a group.
displayName:
type: string
description: Owner's name.
example: John Doe
minLength: 1
type:
$ref: '#/components/schemas/MembershipMemberType'
Property:
type: object
required:
- key
- value
properties:
key:
type: string
value:
type: string
encrypted:
type: boolean
dynamic:
type: boolean
encryptable:
type: boolean
writeOnly: true
Qos:
type: string
description: Type of the quality of service.
example: NONE
default: AUTO
enum:
- NONE
- AUTO
- AT_MOST_ONCE
- AT_LEAST_ONCE
Resource:
type: object
required:
- name
- type
- configuration
properties:
name:
type: string
type:
type: string
configuration:
type: object
enabled:
type: boolean
ResponseTemplate:
type: object
properties:
statusCode:
type: integer
headers:
type: object
additionalProperties:
type: string
body:
type: string
propagateErrorKeyToLogs:
type: boolean
Sampling:
description: API analytics sampling (message API only). This is meant to log
only a portion to avoid overflowing the log sink.
type: object
properties:
type:
type: string
description: 'The type of the sampling:
`PROBABILITY`: based on a specified probability,
`TEMPORAL`: report one message at least every duration,
`COUNT`: for every number of specified messages,
`WINDOWED_COUNT`: x number of messages on a time window,
'
enum:
- PROBABILITY
- TEMPORAL
- COUNT
- WINDOWED_COUNT
value:
type: string
description: 'The value of the sampling:
`PROBABILITY`: between `0.01` and `0.5`,
`TEMPORAL`: ISO-8601 duration format, 1 second minimum (PT1S)
`COUNT`: greater than `1`,
`WINDOWED_COUNT`: x/ cannot exceed 1 message per second
'
required:
- type
MembershipMemberType:
type: string
description: The type of membership
enum:
- USER
- GROUP
Selector:
oneOf:
- $ref: '#/components/schemas/HttpSelector'
- $ref: '#/components/schemas/ChannelSelector'
- $ref: '#/components/schemas/ConditionSelector'
- $ref: '#/components/schemas/McpSelector'
discriminator:
propertyName: type
mapping:
HTTP: '#/components/schemas/HttpSelector'
CHANNEL: '#/components/schemas/ChannelSelector'
CONDITION: '#/components/schemas/ConditionSelector'
MCP: McpSelector
BaseSelector:
properties:
type:
type: string
description: Selector type.
example: HTTP
enum:
- HTTP
- CHANNEL
- CONDITION
- MCP
discriminator:
propertyName: type
mapping:
HTTP: '#/components/schemas/HttpSelector'
CHANNEL: '#/components/schemas/ChannelSelector'
CONDITION: '#/components/schemas/ConditionSelector'
MCP: '#/components/schemas/McpSelector'
required:
- type
ServiceV4:
type: object
properties:
overrideConfiguration:
type: boolean
description: Override the configuration of the service
default: false
configuration:
type: object
description: The configuration of the service
enabled:
type: boolean
description: Is the service enabled or not.
default: true
type:
type: string
BaseStep:
type: object
properties:
name:
type: string
description: The name of the step
description:
type: string
description: The description of the step
enabled:
type: boolean
description: Is the step enabled or not.
default: true
policy:
type: string
description: The policy of the step
configuration:
type: object
description: The configuration of the step
condition:
type: string
description: The condition of the step
StepV4:
allOf:
- $ref: '#/components/schemas/BaseStep'
- properties:
messageCondition:
type: string
description: The message condition of the step
SubscriptionListener:
title: SubscriptionListener
required:
- type
allOf:
- $ref: '#/components/schemas/BaseListener'
TcpListener:
title: TcpListener
required:
- type
allOf:
- $ref: '#/components/schemas/BaseListener'
- type: object
properties:
hosts:
description: A list of hostnames for which the API will match against
SNI. This must be unique for all TCP listener for a given server id.
See 'servers' attribute
type: array
minItems: 1
items:
type: string
minLength: 1
required:
- hosts
KafkaListener:
title: KafkaListener
required:
- type
allOf:
- $ref: '#/components/schemas/BaseListener'
- type: object
properties:
host:
description: A hostname for which the API will match against SNI.
type: string
port:
type: integer
minimum: 0
description: The port of the listener
example: 8080
required:
- host
VerifyApiPaths:
title: VerifyApiPaths
properties:
apiId:
type: string
paths:
type: array
items:
$ref: '#/components/schemas/Path'
required:
- paths
VerifyApiHosts:
title: VerifyApiHosts
properties:
apiId:
type: string
listenerType:
$ref: '#/components/schemas/ListenerType'
hosts:
type: array
example:
- foo.example.com
items:
type: string
required:
- hosts
McpSelector:
type: object
title: McpSelector
required:
- methods
allOf:
- $ref: '#/components/schemas/BaseSelector'
- type: object
properties:
methods:
type: array
description: MCP Methods to select on
items:
type: string
uniqueItems: true
ApiEntrypoint:
type: object
properties:
target:
type: string
description: The target of the entrypoint.
example: /my-api
host:
type: string
description: The host of the entrypoint.
example: my-api.mycompany.com
tags:
type: array
description: The list of sharding tags associated with this entrypoint.
example:
- public
- private
items:
type: string
Consumer:
type: object
properties:
consumerType:
$ref: '#/components/schemas/ConsumerType'
consumerId:
type: string
description: The id of the consumer.
example: myTag
ConsumerType:
type: string
description: The type of the consumer.
default: TAG
enum:
- TAG
DynamicPropertyProvider:
type: string
description: The type of the dynamic property provider.
example: HTTP
enum:
- HTTP
DynamicPropertyService:
type: object
properties:
schedule:
type: string
description: The schedule of the service
provider:
$ref: '#/components/schemas/DynamicPropertyProvider'
configuration:
oneOf:
- $ref: '#/components/schemas/HttpDynamicPropertyProviderConfiguration'
discriminator:
propertyName: provider
mapping:
HTTP: '#/components/schemas/HttpDynamicPropertyProviderConfiguration'
enabled:
type: boolean
description: Is the service enabled or not.
default: true
EndpointV2:
oneOf:
- $ref: '#/components/schemas/HttpEndpointV2'
discriminator:
propertyName: type
mapping:
http: '#/components/schemas/HttpEndpointV2'
grpc: '#/components/schemas/HttpEndpointV2'
BaseEndpointV2:
type: object
properties:
name:
type: string
description: The name of the endpoint
example: default-endpoint
nullable: false
target:
type: string
description: The target of the endpoint
example: http://mycompany.com
weight:
type: integer
format: int32
description: The weight of the endpoint
default: 1
backup:
type: boolean
description: Is the endpoint a backup or not.
default: false
status:
$ref: '#/components/schemas/EndpointStatus'
tenants:
type: array
description: The list of tenants associated with this endpoint.
example:
- my-tenant
items:
type: string
type:
type: string
description: The type of the endpoint.
example: HTTP
inherit:
type: boolean
description: Inherit the configuration of the parent endpoint group.
default: false
healthCheck:
$ref: '#/components/schemas/EndpointHealthCheckService'
required:
- type
HttpEndpointV2:
title: HttpEndpointV2
allOf:
- $ref: '#/components/schemas/BaseEndpointV2'
- properties:
httpProxy:
$ref: '#/components/schemas/HttpProxy'
httpClientOptions:
$ref: '#/components/schemas/HttpClientOptions'
httpClientSslOptions:
$ref: '#/components/schemas/HttpClientSslOptions'
headers:
type: array
description: The list of headers associated with this endpoint.
example:
- name: X-My-Header
value: my-value
items:
$ref: '#/components/schemas/HttpHeader'
healthCheck:
$ref: '#/components/schemas/EndpointHealthCheckService'
EndpointDiscoveryService:
type: object
properties:
provider:
type: string
description: The provider of the service
configuration:
type: object
description: The configuration of the service
enabled:
type: boolean
description: Is the service enabled or not.
default: true
EndpointGroupV2:
type: object
properties:
name:
type: string
description: Endpoint group's name.
example: My Endpoint Group
minLength: 1
endpoints:
type: array
description: The list of endpoints associated with this endpoint group.
items:
$ref: '#/components/schemas/EndpointV2'
loadBalancer:
$ref: '#/components/schemas/LoadBalancer'
services:
$ref: '#/components/schemas/EndpointGroupServicesV2'
httpProxy:
$ref: '#/components/schemas/HttpProxy'
httpClientOptions:
$ref: '#/components/schemas/HttpClientOptions'
httpClientSslOptions:
$ref: '#/components/schemas/HttpClientSslOptions'
headers:
type: array
description: The list of headers associated with this endpoint group.
example:
- name: X-My-Header
value: my-value
items:
$ref: '#/components/schemas/HttpHeader'
EndpointHealthCheckService:
allOf:
- $ref: '#/components/schemas/HealthCheckService'
- properties:
inherit:
type: boolean
description: Inherit the configuration of the parent endpoint.
EndpointStatus:
type: string
description: The status of the endpoint.
x-field-extra-annotation: '@com.fasterxml.jackson.annotation.JsonIgnore'
x-getter-extra-annotation: '@com.fasterxml.jackson.annotation.JsonIgnore'
x-setter-extra-annotation: '@com.fasterxml.jackson.annotation.JsonIgnore'
example: UP
enum:
- UP
- DOWN
- TRANSITIONALLY_DOWN
- TRANSITIONALLY_UP
ExecutionMode:
type: string
description: The execution mode of the API.
example: V4_EMULATION_ENGINE
default: V4_EMULATION_ENGINE
enum:
- V3
- V4_EMULATION_ENGINE
Failover:
type: object
properties:
maxAttempts:
type: integer
format: int32
description: The maximum number of attempts.
default: 1
retryTimeout:
type: integer
format: int64
description: The retry timeout in ms
default: 10000
cases:
type: array
description: The list of cases associated with this failover.
items:
$ref: '#/components/schemas/FailoverCase'
default:
- TIMEOUT
FailoverCase:
type: string
description: The case of the failover.
enum:
- TIMEOUT
FlowStage:
type: string
description: The stage of the flow.
enum:
- PLATFORM
- PLAN
- API
FlowV2:
type: object
properties:
id:
type: string
description: Flow's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
name:
type: string
description: Flow's name.
example: My Flow
pathOperator:
$ref: '#/components/schemas/PathOperator'
pre:
type: array
items:
$ref: '#/components/schemas/StepV2'
post:
type: array
items:
$ref: '#/components/schemas/StepV2'
enabled:
type: boolean
description: Is the flow enabled.
default: true
methods:
type: array
items:
$ref: '#/components/schemas/HttpMethod'
condition:
type: string
description: The condition to evaluate to determine if the flow should be
executed.
example: '{#request.headers[''x-foo''] == ''bar''}'
consumers:
type: array
items:
$ref: '#/components/schemas/Consumer'
stage:
$ref: '#/components/schemas/FlowStage'
HealthCheckRequest:
type: object
properties:
path:
type: string
description: The path of the request
example: /my/path
method:
$ref: '#/components/schemas/HttpMethod'
headers:
type: array
items:
$ref: '#/components/schemas/HttpHeader'
body:
type: string
description: The body of the request
example: my body
fromRoot:
type: boolean
description: Is the request from the root or not
default: false
HealthCheckResponse:
type: object
properties:
assertions:
type: array
items:
type: string
description: The assertion to check
example: '{#response.status == 200}'
HealthCheckService:
type: object
properties:
schedule:
type: string
description: The schedule of the service
steps:
type: array
items:
$ref: '#/components/schemas/HealthCheckStep'
enabled:
type: boolean
description: Is the service enabled or not.
HealthCheckStep:
type: object
properties:
name:
type: string
description: The name of the step
default: default-step
request:
$ref: '#/components/schemas/HealthCheckRequest'
response:
$ref: '#/components/schemas/HealthCheckResponse'
HttpClientOptions:
type: object
properties:
idleTimeout:
type: integer
format: int32
description: The idle timeout of the http client in ms
default: 60000
keepAliveTimeout:
type: integer
format: int32
description: The keep-alive timeout of the http client in ms
default: 30000
connectTimeout:
type: integer
format: int32
description: The connect timeout of the http client in ms
default: 5000
keepAlive:
type: boolean
description: The keep alive parameter of the http client
default: true
readTimeout:
type: integer
format: int32
description: The read timeout of the http client in ms
default: 10000
pipelining:
type: boolean
description: The pipelining parameter of the http client
default: false
maxConcurrentConnections:
type: integer
format: int32
description: The max connections of the http client
default: 100
useCompression:
type: boolean
description: Use compression or not
default: true
propagateClientAcceptEncoding:
type: boolean
description: Propagate the client accept encoding or not
default: false
followRedirects:
type: boolean
description: Follow redirects or not
default: false
clearTextUpgrade:
type: boolean
description: Clear text upgrade or not
default: true
version:
$ref: '#/components/schemas/ProtocolVersion'
maxHeaderSize:
type: integer
format: int32
description: Maximum header size value
default: 8192
maxChunkSize:
type: integer
format: int32
description: Maximum chunk size value
default: 8192
HttpClientSslOptions:
type: object
properties:
trustAll:
type: boolean
description: Trust all certificates or not
default: false
hostnameVerifier:
type: boolean
description: Should the hostname be verified or not
default: false
trustStore:
$ref: '#/components/schemas/TrustStore'
keyStore:
$ref: '#/components/schemas/KeyStore'
headers:
type: array
items:
$ref: '#/components/schemas/HttpHeader'
HttpDynamicPropertyProviderConfiguration:
type: object
title: HttpDynamicPropertyProviderConfiguration
properties:
url:
type: string
description: The url of the dynamic property provider
example: http://my-provider.com
specification:
type: string
description: The specification of the dynamic property provider
example: my-specification
useSystemProxy:
type: boolean
description: Use the system proxy or not
default: false
method:
$ref: '#/components/schemas/HttpMethod'
headers:
type: array
items:
$ref: '#/components/schemas/HttpHeader'
body:
type: string
description: The body of the request
example: my body
provider:
$ref: '#/components/schemas/DynamicPropertyProvider'
required:
- provider
HttpHeader:
type: object
properties:
name:
type: string
description: The name of the header
example: my-header
value:
type: string
description: The value of the header
example: my-value
HttpProxy:
type: object
properties:
enabled:
type: boolean
description: Is the proxy enabled or not
default: false
useSystemProxy:
type: boolean
description: Use the system proxy or not
default: false
host:
type: string
description: The host of the proxy
example: my-proxy.com
port:
type: integer
description: The port of the proxy
example: 8080
username:
type: string
description: The username used to connect to the proxy
example: my-username
password:
type: string
description: The password used to connect to the proxy
example: my-password
type:
$ref: '#/components/schemas/HttpProxyType'
HttpProxyType:
type: string
description: The type of the proxy.
example: HTTP
enum:
- HTTP
- SOCKS4
- SOCKS5
KeyStore:
oneOf:
- $ref: '#/components/schemas/JKSKeyStore'
- $ref: '#/components/schemas/PEMKeyStore'
- $ref: '#/components/schemas/PKCS12KeyStore'
- $ref: '#/components/schemas/NoneKeyStore'
discriminator:
propertyName: type
mapping:
JKS: '#/components/schemas/JKSKeyStore'
PEM: '#/components/schemas/PEMKeyStore'
PKCS12: '#/components/schemas/PKCS12KeyStore'
NONE: '#/components/schemas/NoneKeyStore'
KeyStoreType:
type: string
description: The type of the key store.
example: JKS
enum:
- JKS
- PEM
- PKCS12
- NONE
BaseKeyStore:
type: object
properties:
type:
$ref: '#/components/schemas/KeyStoreType'
discriminator:
propertyName: type
mapping:
JKS: '#/components/schemas/JKSKeyStore'
PEM: '#/components/schemas/PEMKeyStore'
PKCS12: '#/components/schemas/PKCS12KeyStore'
NONE: '#/components/schemas/NoneKeyStore'
required:
- type
JKSKeyStore:
title: JKSKeyStore
allOf:
- $ref: '#/components/schemas/BaseKeyStore'
- properties:
path:
type: string
description: The path of the key store
example: /path/to/KeyStore.jks
content:
type: string
description: The content of the key store
password:
type: string
description: The password of the key store
PEMKeyStore:
title: PEMKeyStore
allOf:
- $ref: '#/components/schemas/BaseKeyStore'
- properties:
keyPath:
type: string
description: The path of the key store
example: /path/to/KeyStore.pem
keyContent:
type: string
description: The content of the key store
certPath:
type: string
description: The path of the key store
example: /path/to/KeyStore.pem
certContent:
type: string
description: The content of the key store
PKCS12KeyStore:
title: PKCS12KeyStore
allOf:
- $ref: '#/components/schemas/BaseKeyStore'
- properties:
path:
type: string
description: The path of the key store
example: /path/to/KeyStore.jks
content:
type: string
description: The content of the key store
password:
type: string
description: The password of the key store
NoneKeyStore:
title: NoneKeyStore
allOf:
- $ref: '#/components/schemas/BaseKeyStore'
LoggingV2:
type: object
properties:
mode:
$ref: '#/components/schemas/LoggingModeV2'
scope:
$ref: '#/components/schemas/LoggingScope'
content:
$ref: '#/components/schemas/LoggingContentV2'
condition:
type: string
description: The condition of the logging
example: '{#context.attributes[''my-attribute''] == ''my-value''}'
LoggingContentV2:
type: string
description: The content of the logging.
example: NONE
enum:
- NONE
- HEADERS
- PAYLOADS
- HEADERS_PAYLOADS
LoggingModeV2:
type: string
description: The mode of the logging.
example: NONE
enum:
- NONE
- CLIENT
- PROXY
- CLIENT_PROXY
LoggingScope:
type: string
description: The scope of the logging.
example: REQUEST
enum:
- NONE
- REQUEST
- RESPONSE
- REQUEST_RESPONSE
PathOperator:
type: object
properties:
path:
type: string
description: The path of the selector
example: /my/path
operator:
$ref: '#/components/schemas/Operator'
PlanV2:
type: object
title: PlanV2
allOf:
- $ref: '#/components/schemas/GenericPlan'
- properties:
flows:
type: array
items:
$ref: '#/components/schemas/FlowV2'
ProtocolVersion:
type: string
description: The protocol version.
example: HTTP_1_1
default: HTTP_1_1
enum:
- HTTP_1_1
- HTTP_2
Proxy:
type: object
properties:
virtualHosts:
type: array
items:
$ref: '#/components/schemas/VirtualHost'
groups:
type: array
items:
$ref: '#/components/schemas/EndpointGroupV2'
failover:
$ref: '#/components/schemas/Failover'
cors:
$ref: '#/components/schemas/Cors'
requestValidation:
$ref: '#/components/schemas/RequestValidation'
logging:
$ref: '#/components/schemas/LoggingV2'
stripContextPath:
type: boolean
default: false
preserveHost:
type: boolean
default: false
servers:
type: array
items:
type: string
ApiServicesV2:
type: object
properties:
dynamicProperty:
$ref: '#/components/schemas/DynamicPropertyService'
healthCheck:
$ref: '#/components/schemas/HealthCheckService'
EndpointGroupServicesV2:
type: object
properties:
discovery:
$ref: '#/components/schemas/EndpointDiscoveryService'
StepV2:
allOf:
- $ref: '#/components/schemas/BaseStep'
TrustStore:
oneOf:
- $ref: '#/components/schemas/JKSTrustStore'
- $ref: '#/components/schemas/PEMTrustStore'
- $ref: '#/components/schemas/PKCS12TrustStore'
- $ref: '#/components/schemas/NoneTrustStore'
discriminator:
propertyName: type
mapping:
JKS: '#/components/schemas/JKSTrustStore'
PEM: '#/components/schemas/PEMTrustStore'
PKCS12: '#/components/schemas/PKCS12TrustStore'
NONE: '#/components/schemas/NoneTrustStore'
TrustStoreType:
type: string
description: The type of the trust store.
example: JKS
enum:
- JKS
- PEM
- PKCS12
- NONE
BaseTrustStore:
type: object
properties:
type:
$ref: '#/components/schemas/TrustStoreType'
required:
- type
discriminator:
propertyName: type
mapping:
JKS: '#/components/schemas/JKSTrustStore'
PEM: '#/components/schemas/PEMTrustStore'
PKCS12: '#/components/schemas/PKCS12TrustStore'
NONE: '#/components/schemas/NoneTrustStore'
JKSTrustStore:
title: JKSTrustStore
allOf:
- $ref: '#/components/schemas/BaseTrustStore'
- properties:
path:
type: string
description: The path of the trust store
example: /path/to/truststore.jks
content:
type: string
description: The content of the trust store
password:
type: string
description: The password of the trust store
PEMTrustStore:
title: PEMTrustStore
allOf:
- $ref: '#/components/schemas/BaseTrustStore'
- properties:
path:
type: string
description: The path of the trust store
example: /path/to/truststore.pem
content:
type: string
description: The content of the trust store
PKCS12TrustStore:
title: PKCS12TrustStore
allOf:
- $ref: '#/components/schemas/BaseTrustStore'
- properties:
path:
type: string
description: The path of the trust store
example: /path/to/truststore.jks
content:
type: string
description: The content of the trust store
password:
type: string
description: The password of the trust store
NoneTrustStore:
title: NoneTrustStore
allOf:
- $ref: '#/components/schemas/BaseTrustStore'
VirtualHost:
type: object
properties:
host:
type: string
description: The host of the virtual host
path:
type: string
description: The path of the virtual host
default: /
overrideEntrypoint:
type: boolean
description: Override the entrypoint or not
default: false
ApiLog:
type: object
properties:
timestamp:
type: string
format: date-time
description: The date (as timestamp) of the log.
example: 2023-05-18 12:40:46.184000+00:00
id:
type: string
description: The internal UUID of the Log.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
requestId:
type: string
description: The id of the request.
example: 1719d8d1-8d01-48f6-99d8-d18d0178f6d4
method:
$ref: '#/components/schemas/HttpMethod'
clientIdentifier:
type: string
description: The client identifier of the request.
example: 12ca17b49af2289436f303e0166030a21e525d266e209267433801a8fd4071a0
plan:
$ref: '#/components/schemas/BasePlan'
application:
$ref: '#/components/schemas/BaseApplication'
transactionId:
type: string
description: The id of the transaction.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
status:
type: integer
description: The response's status.
example: 200
requestEnded:
type: boolean
description: The flag indicating if the request has ended.
example: true
gatewayResponseTime:
type: integer
description: The response time in ms
example: 12
uri:
type: string
description: URI of the request.
example: /my-api
endpoint:
type: string
description: The endpoint URL.
example: https://my-api-example.com
message:
type: string
description: The error message.
example: The timeout period of 1000ms has been exceeded
errorKey:
type: string
description: The error key.
example: TIMEOUT_ERROR
errorComponentName:
type: string
description: The name of the component that generated the error.
example: security
errorComponentType:
type: string
description: The type of the component that generated the error.
example: ENDPOINT
warnings:
type: array
description: The warning diagnotics
items:
$ref: '#/components/schemas/ApiLogDiagnostic'
additionalMetrics:
type: object
additionalProperties: true
description: A map of string keys to values
apiProductId:
type: string
description: The ID of the API Product associated with this log entry. Absent
when the request is not associated with any API Product.
example: f5e6a5a0-1234-4b3a-9c1e-aabbccddeeff
apiProductName:
type: string
description: The human-readable name of the API Product. Absent when no
API Product is associated or the product cannot be resolved.
example: My Partner API Product
ApiLogDiagnostic:
type: object
properties:
componentType:
type: string
description: The type of the component from where the diagnostic has been
emitted
example: POLICY
componentName:
type: string
description: The name of the component from where the diagnostic has been
emitted
example: transform-header
key:
type: string
description: The diagnostic key.
example: TRANSFORM_HEADERS_FAILURE
message:
type: string
description: The diagnostic message.
ApiAggregatedMessageLog:
type: object
properties:
requestId:
type: string
description: The id of the request.
example: 1719d8d1-8d01-48f6-99d8-d18d0178f6d4
timestamp:
type: string
format: date-time
description: The date (as timestamp) of the log.
example: 2023-05-18 12:40:46.184000+00:00
clientIdentifier:
type: string
description: The client identifier of the request.
example: 12ca17b49af2289436f303e0166030a21e525d266e209267433801a8fd4071a0
correlationId:
type: string
description: The correlation id.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
parentCorrelationId:
type: string
description: The parent correlation id.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
operation:
type: string
description: The operation.
example: subscribe
entrypoint:
$ref: '#/components/schemas/ApiMessageLogContent'
endpoint:
$ref: '#/components/schemas/ApiMessageLogContent'
ApiLogRequestContent:
type: object
description: The log request content.
properties:
method:
$ref: '#/components/schemas/HttpMethod'
uri:
type: string
description: URI of the request.
example: /my-api
headers:
type: object
description: The list of headers associated with this message.
example:
- name: X-My-Header
value:
- my-value
body:
type: string
description: The request's body.
example: my body
ApiMessageLog:
type: object
description: Metrics data for a sampled message.
properties:
gateway:
description: Gateway ID emitting this metrics
type: string
timestamp:
type: string
format: date-time
requestId:
description: Request ID after which message were emitted
type: string
apiId:
description: API UUID
type: string
apiName:
description: API Name (may change between metrics if API was redeployed
with another name)
type: string
clientIdentifier:
description: identified client if any
type: string
correlationId:
description: ID to identify that message traserving the Gateway
type: string
operation:
$ref: '#/components/schemas/MessageOperation'
connectorType:
$ref: '#/components/schemas/ConnectorType'
connectorId:
description: Plugin ID of the connector that emitted the metric
type: string
example: webhook
contentLength:
description: Message content length
type: integer
format: int64
minimum: 0
count:
description: Total successful messages count over the span of the subscription
type: integer
format: int64
minimum: 0
errorCount:
description: Total failure message count in error count
type: integer
format: int64
minimum: 0
countIncrement:
description: Rate in which message are counted
type: integer
format: int64
minimum: 0
error:
description: If the message is in error
type: boolean
gatewayLatencyMs:
description: Gateway latency to deliver this message
type: integer
format: int64
minimum: 0
custom:
description: User defined custom metrics data
type: object
additionalProperties:
type: string
additionalMetrics:
description: Plugin specific metrics (e.g. webhook entrypoint add several
to monitor callback information such status, errors, latency, time)
type: object
additionalProperties: true
MessageOperation:
description: The operation that emitted the message
type: string
enum:
- publish
- subscribe
ConnectorType:
description: Type of connector that emitted the metric
type: string
enum:
- entrypoint
- endpoint
ApiLogResponseContent:
type: object
description: The log response content.
properties:
status:
type: integer
description: The response's status.
example: 200
headers:
type: object
description: The list of headers associated with this message.
example:
- name: X-My-Header
value:
- my-value
body:
type: string
description: The response's body.
example: my body
ApiMessageLogContent:
type: object
description: The message content.
example: "{\n\t\t\t\"id\": \"0\",\n\t\t\t\"payload\": \"mock message\",\n\t\t\
\t\"headers\": {\n\t\t\t\t\"X-Mock\": [\n\t\t\t\t\t\"mocked\"\n\t\t\t\t]\n\
\t\t\t},\n\t\t\t\"metadata\": {\n\t\t\t\t\"MessageMetadata\": \"A metadata\"\
\n\t\t\t}\n\t\t}\n"
properties:
id:
type: string
description: The internal UUID of the Message.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
connectorId:
type: string
description: The id of connector for this log.
example: kafka
payload:
type: string
description: The payload of the Message.
example: This is a message
isError:
type: boolean
description: Is the Message in error.
example: false
headers:
type: object
description: The list of headers associated with this message.
example:
- name: X-My-Header
value:
- my-value
metadata:
type: object
description: The list of Message's metadata.
ApiLogHeader:
type: object
properties:
name:
type: string
description: The name of the header
example: my-header
value:
type: array
description: The values of the header
example:
- my-value
items:
type: string
ApiLogMetadata:
type: object
properties:
name:
type: string
description: The name of the metadata
example: my-metadata
value:
type: string
description: The value of the metadata
example:
- my-value
NativeApiLogsSummary:
type: object
description: Summary of native API connection logs aggregated by connection
status.
properties:
countByConnectionStatus:
type: object
description: Number of native connection lifecycle events keyed by connection
status (CONNECTED, CONNECTION_ERROR, SESSION_ERROR, INTERNAL_ERROR).
additionalProperties:
type: integer
format: int64
NativeApiLog:
type: object
description: Native API connection log entry.
properties:
timestamp:
type: string
format: date-time
description: The date (as timestamp) when the connection lifecycle event
was recorded.
example: 2026-01-01 00:00:00+00:00
apiId:
type: string
description: The id of the API.
requestId:
type: string
description: The id of the request.
transactionId:
type: string
description: The id of the transaction.
applicationId:
type: string
description: The id of the application.
planId:
type: string
description: The id of the plan.
clientIdentifier:
type: string
description: The client identifier of the request.
subscriptionId:
type: string
description: The id of the subscription.
entrypointId:
type: string
description: The id of the entrypoint serving the connection.
gateway:
type: string
description: The id of the gateway instance handling the connection.
remoteAddress:
type: string
description: The client remote address.
localAddress:
type: string
description: The gateway local address.
host:
type: string
description: The host targeted by the client.
errorKey:
type: string
description: The error key when the connection terminated with an error.
errorMessage:
type: string
description: The error message when the connection terminated with an error.
connectionStatus:
type: string
enum:
- CONNECTED
- CONNECTION_ERROR
- SESSION_ERROR
- INTERNAL_ERROR
description: The connection lifecycle status of the native API connection.
clientId:
type: string
description: The native protocol client id (e.g. Kafka client.id) reported
by the connection. Visible in detail view only.
brokerId:
type: string
description: The id of the native protocol broker the connection is targeting
(e.g. Kafka broker id). Visible in detail view only.
connectionDurationMs:
type: integer
format: int64
description: The duration of the connection in milliseconds, when the connection
has terminated.
Audit:
type: object
properties:
id:
type: string
description: The internal UUID of the audit.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
createdAt:
type: string
format: date-time
description: The date when the audit has been created.
example: 2023-05-18 12:40:46.184000+00:00
organizationId:
type: string
description: The id of the organization.
example: 1719d8d1-8d01-48f6-99d8-d18d0178f6d4
environmentId:
type: string
description: The id of the environment.
example: 1719d8d1-8d01-48f6-99d8-d18d0178f6d4
reference:
$ref: '#/components/schemas/AuditReference'
user:
$ref: '#/components/schemas/BaseUser'
event:
type: string
description: The audit event.
example: API_CREATED
properties:
description: Properties of the audits.
type: array
items:
type: object
properties:
key:
type: string
description: The key of the property.
example: API
value:
type: string
description: The value of the property. Usually an id of an entity.
example: 1719d8d1-8d01-48f6-99d8-d18d0178f6d4
name:
type: string
description: The name of the entity identified by the value.
example: My API
patch:
type: string
description: The JSON Patch of the modification.
example: '[{ "op": "add", "path": "/hello", "value": ["world"] }]'
AuditReference:
type: object
properties:
id:
type: string
description: The id of the auditable element.
example: 1719d8d1-8d01-48f6-99d8-d18d0178f6d4
type:
type: string
description: The type of the auditable element
example: API
enum:
- API
- APPLICATION
- ENVIRONMENT
- ORGANIZATION
name:
type: string
description: The name of the auditable element
example: My API
Event:
type: object
properties:
id:
type: string
description: The internal UUID of the event.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
createdAt:
type: string
format: date-time
description: The date when the event has been created.
example: 2023-05-18 12:40:46.184000+00:00
environmentIds:
type: array
items:
type: string
description: The id of the environments.
example:
- 1719d8d1-8d01-48f6-99d8-d18d0178f6d4
initiator:
$ref: '#/components/schemas/BaseUser'
type:
$ref: '#/components/schemas/EventType'
payload:
type: string
description: The event payload.
example: '{"id":"023d7a64-b5de-4e1a-bd7a-64b5dede1adb"}'
properties:
type: object
description: Properties of the event.
additionalProperties:
type: string
EventType:
type: string
description: The type of the event.
example: START_API
enum:
- ALERT_NOTIFICATION
- DEBUG_API
- DEPLOY_API_PRODUCT
- DEPLOY_CLUSTER
- DEPLOY_SHARED_POLICY_GROUP
- GATEWAY_STARTED
- GATEWAY_STOPPED
- PUBLISH_API
- PUBLISH_API_RESULT
- PUBLISH_DICTIONARY
- PUBLISH_ORGANIZATION
- PUBLISH_ORGANIZATION_LICENSE
- START_API
- START_DICTIONARY
- STOP_API
- STOP_DICTIONARY
- UNDEPLOY_API_PRODUCT
- UNDEPLOY_CLUSTER
- UNDEPLOY_SHARED_POLICY_GROUP
- UNPUBLISH_API
- UNPUBLISH_API_RESULT
- UNPUBLISH_DICTIONARY
- PUBLISH_AUTHZ_POLICY
- UNPUBLISH_AUTHZ_POLICY
- PUBLISH_AUTHZ_ENTITY
- UNPUBLISH_AUTHZ_ENTITY
- PUBLISH_AUTHZ_PDP
- UNPUBLISH_AUTHZ_PDP
AccessControl:
type: object
properties:
referenceId:
type: string
description: The id of the resource used to check the access control
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
referenceType:
type: string
description: The type of the resource used to check the access control
example:
- GROUP
- ROLE
Media:
type: object
properties:
id:
type: string
description: Media's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
hash:
type: string
description: Media's hash.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
type:
type: string
description: Media's type.
example: image/png
subType:
type: string
description: Media's sub type.
example: png
fileName:
type: string
description: Media's file name.
example: my-image.png
size:
type: integer
format: int64
description: Media's size.
example: 1000
data:
type: string
format: byte
description: Media's data.
example: binary encoded data
createdAt:
type: string
format: date-time
description: Media's creation date.
example: 2018-11-23 22:00:00+00:00
Page:
description: Documentation page. Can be of multiple formats.
type: object
properties:
id:
type: string
description: Page's uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
crossId:
type: string
description: Page's cross uuid.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
name:
type: string
description: Page's name.
example: My Page
type:
$ref: '#/components/schemas/PageType'
content:
type: string
description: Page's content.
example: My Page content
order:
type: integer
description: Page's order.
example: 1
lastContributor:
type: string
description: Page's last contributor. Id of a user.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
published:
type: boolean
description: Page's published status.
example: true
visibility:
$ref: '#/components/schemas/Visibility'
updatedAt:
type: string
format: date-time
description: Page's last update date.
example: 2018-01-01 00:00:00+00:00
contentType:
type: string
description: Page's content type.
example: application/json
source:
$ref: '#/components/schemas/PageSource'
configuration:
type: object
description: Page's configuration.
additionalProperties:
type: string
homepage:
type: boolean
description: Page's homepage status.
example: true
parentId:
type: string
description: Page's parent id.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
parentPath:
type: string
description: Page's parent path.
example: /parent
excludedAccessControls:
type: boolean
description: Flag to restrict access to user matching the restrictions.
accessControls:
type: array
description: List of access controls.
items:
$ref: '#/components/schemas/AccessControl'
attachedMedia:
type: array
description: List of attached media.
items:
$ref: '#/components/schemas/PageMedia'
metadata:
type: object
description: Page's metadata.
additionalProperties:
type: string
translations:
type: array
description: List of page translations.
items:
$ref: '#/components/schemas/Page'
contentRevision:
$ref: '#/components/schemas/Revision'
hidden:
type: boolean
description: If folder is published but not shown in Portal.
generalConditions:
type: boolean
description: If page is used as General Conditions of an active plan.
PageMedia:
type: object
properties:
name:
type: string
description: Media's name.
example: My Media
hash:
type: string
description: Media's hash.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
attachedAt:
type: string
format: date-time
description: Media's attachment date.
example: 2018-01-01 00:00:00+00:00
PageSource:
type: object
properties:
type:
type: string
description: The type of the page source (=fetcher type).
example:
- http-fetcher
- git-fetcher
- gitlab-fetcher
- github-fetcher
- bitbucket-fetcher
configuration:
type: object
description: Page source's configuration.
PageType:
type: string
description: The type of the page.
example: MARKDOWN
enum:
- ASCIIDOC
- ASYNCAPI
- MARKDOWN
- MARKDOWN_TEMPLATE
- SWAGGER
- FOLDER
- LINK
- ROOT
- SYSTEM_FOLDER
- TRANSLATION
FailoverV4:
type: object
properties:
enabled:
type: boolean
description: Is the failover enabled.
default: false
maxRetries:
type: integer
format: int32
description: The maximum number of retries.
default: 2
minimum: 0
slowCallDuration:
type: integer
format: int64
description: The duration in milliseconds to consider a request as slow.
default: 2000
minimum: 50
openStateDuration:
type: integer
format: int64
description: The duration in milliseconds to indicate how long the circuit
breaker should stay open, before it switches to half open.
default: 10000
minimum: 500
maxFailures:
type: integer
format: int32
description: The maximum number of failures allowed before the circuit breaker
can calculate the error rate.
default: 5
minimum: 1
perSubscription:
type: boolean
description: If true, a circuit breaker breaker will be dedicated for each
subscriber, else, one and only circuit breaker will be used for the API.
default: true
failureCondition:
type: string
description: An EL expression evaluated on the response to determine if
it should be considered a failure (e.g. "{#response.status >= 500}").
If null, response content is not evaluated.
forceNextEndpointOnFailure:
type: boolean
description: If true, on retry the next endpoint in the group is forced
instead of relying on the shared load balancer. This ensures retries target
different endpoints.
default: false
CreateDocumentation:
type: object
properties:
name:
type: string
description: Page's name.
example: My Page
minLength: 1
type:
type: string
description: The type of the page.
example: MARKDOWN
enum:
- MARKDOWN
- FOLDER
- SWAGGER
- ASYNCAPI
- ASCIIDOC
visibility:
$ref: '#/components/schemas/Visibility'
parentId:
type: string
description: Page's parent id.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
excludedAccessControls:
type: boolean
description: Flag to restrict access to user matching the restrictions.
accessControls:
type: array
description: List of access controls.
items:
$ref: '#/components/schemas/AccessControl'
configuration:
type: object
description: Configuration of a page
additionalProperties:
type: string
required:
- name
- type
discriminator:
propertyName: type
mapping:
FOLDER: '#/components/schemas/CreateDocumentationFolder'
MARKDOWN: '#/components/schemas/CreateDocumentationMarkdown'
SWAGGER: '#/components/schemas/CreateDocumentationSwagger'
ASYNCAPI: '#/components/schemas/CreateDocumentationAsyncApi'
ASCIIDOC: '#/components/schemas/CreateDocumentationAsciiDoc'
CreateDocumentationFolder:
title: CreateDocumentationFolder
description: Create documentation folder.
type: object
allOf:
- $ref: '#/components/schemas/CreateDocumentation'
required:
- name
- type
CreateDocumentationMarkdown:
title: CreateDocumentationMarkdown
description: Create documentation markdown page.
type: object
allOf:
- $ref: '#/components/schemas/CreateDocumentation'
- properties:
content:
type: string
description: Page's content.
example: My Page content
homepage:
type: boolean
description: Page's homepage status.
example: true
source:
$ref: '#/components/schemas/SourceConfiguration'
required:
- name
- type
CreateDocumentationSwagger:
title: CreateDocumentationSwagger
description: Create documentation Swagger.
type: object
allOf:
- $ref: '#/components/schemas/CreateDocumentation'
- properties:
content:
type: string
description: Page's content.
example: My Page content
homepage:
type: boolean
description: Page's homepage status.
example: true
source:
$ref: '#/components/schemas/SourceConfiguration'
required:
- name
- type
CreateDocumentationAsyncApi:
title: CreateDocumentationAsyncApi
description: Create documentation Async API.
type: object
allOf:
- $ref: '#/components/schemas/CreateDocumentation'
- properties:
content:
type: string
description: Page's content.
example: My Page content
homepage:
type: boolean
description: Page's homepage status.
example: true
source:
$ref: '#/components/schemas/SourceConfiguration'
required:
- name
- type
CreateDocumentationAsciiDoc:
title: CreateDocumentationAsciiDoc
description: Create documentation AsciiDoc.
type: object
allOf:
- $ref: '#/components/schemas/CreateDocumentation'
- properties:
content:
type: string
description: Page's content.
example: My Page content
homepage:
type: boolean
description: Page's homepage status.
example: true
source:
$ref: '#/components/schemas/SourceConfiguration'
required:
- name
- type
SourceConfiguration:
type: object
description: Source configuration for fetching documentation content.
properties:
type:
type: string
description: Type of the source.
example: http-fetcher
configuration:
type: object
description: Configuration for the source.
UpdateDocumentation:
type: object
properties:
type:
type: string
description: The type of documentation to update.
enum:
- FOLDER
- MARKDOWN
- SWAGGER
- ASYNCAPI
- ASCIIDOC
name:
type: string
description: Page's name.
example: My Page
minLength: 1
order:
type: integer
description: Page's order.
example: 1
default: 0
minimum: 0
visibility:
$ref: '#/components/schemas/Visibility'
excludedAccessControls:
type: boolean
description: Flag to restrict access to user matching the restrictions.
accessControls:
type: array
description: List of access controls.
items:
$ref: '#/components/schemas/AccessControl'
configuration:
type: object
description: Configuration of a page
additionalProperties:
type: string
source:
$ref: '#/components/schemas/PageSource'
required:
- type
- name
discriminator:
propertyName: type
mapping:
FOLDER: '#/components/schemas/UpdateDocumentationFolder'
MARKDOWN: '#/components/schemas/UpdateDocumentationMarkdown'
SWAGGER: '#/components/schemas/UpdateDocumentationSwagger'
ASYNCAPI: '#/components/schemas/UpdateDocumentationAsyncApi'
ASCIIDOC: '#/components/schemas/UpdateDocumentationAsciiDoc'
UpdateDocumentationFolder:
title: UpdateDocumentationFolder
description: Update documentation folder.
type: object
allOf:
- $ref: '#/components/schemas/UpdateDocumentation'
UpdateDocumentationMarkdown:
title: UpdateDocumentationMarkdown
description: Update documentation markdown page.
type: object
allOf:
- $ref: '#/components/schemas/UpdateDocumentation'
- properties:
content:
type: string
description: Page's content.
example: My Page content
homepage:
type: boolean
description: Page's homepage status.
example: true
UpdateDocumentationSwagger:
title: UpdateDocumentationSwagger
description: Update documentation Swagger.
type: object
allOf:
- $ref: '#/components/schemas/UpdateDocumentation'
- properties:
content:
type: string
description: Page's content.
example: My Page content
homepage:
type: boolean
description: Page's homepage status.
example: true
UpdateDocumentationAsyncApi:
title: UpdateDocumentationAsyncApi
description: Update documentation Async API.
type: object
allOf:
- $ref: '#/components/schemas/UpdateDocumentation'
- properties:
content:
type: string
description: Page's content.
example: My Page content
homepage:
type: boolean
description: Page's homepage status.
example: true
UpdateDocumentationAsciiDoc:
title: UpdateDocumentationAsciiDoc
description: Update documentation AsciiDoc.
type: object
allOf:
- $ref: '#/components/schemas/UpdateDocumentation'
- properties:
content:
type: string
description: Page's content.
example: My Page content
homepage:
type: boolean
description: Page's homepage status.
example: true
Revision:
type: object
properties:
id:
type: string
description: Id of the page used to fill the content attributes.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
revision:
type: integer
description: Revision number.
example: 1
Breadcrumb:
type: object
properties:
position:
type: integer
description: Distance of folder from the root
example: 1
id:
type: string
description: Id of the folder
example: folder-id
name:
type: string
description: Name of the folder
example: A lovely folder name
Metadata:
type: object
properties:
key:
type: string
description: The key of the metadata.
minLength: 1
name:
type: string
description: The name of the metadata.
format:
$ref: '#/components/schemas/MetadataFormat'
value:
type: string
description: The value of the metadata.
minLength: 1
defaultValue:
type: string
description: The default value of the metadata.
MetadataFormat:
type: string
description: The format of the metadata.
example: DATE
enum:
- STRING
- NUMERIC
- BOOLEAN
- DATE
- MAIL
- URL
CreateIntegration:
type: object
properties:
name:
type: string
description: Name of the integration
minLength: 1
maxLength: 50
description:
type: string
description: Description of the integration
minLength: 0
maxLength: 250
provider:
type: string
description: Provider of this integration (use "A2A" for A2A integrations)
wellKnownUrls:
type: array
description: A2A well-known URLs (only for A2A provider)
items:
$ref: '#/components/schemas/IntegrationWellKnownUrl'
required:
- name
- provider
UpdateIntegration:
type: object
properties:
name:
type: string
description: Updated name of the integration
minLength: 1
maxLength: 50
description:
type: string
description: Updated description of the integration
minLength: 0
maxLength: 250
groups:
type: array
description: Update integration's groups
example:
- MY_GROUP1
- MY_GROUP2
items:
type: string
wellKnownUrls:
type: array
description: A2A well-known URLs (only for A2A provider)
items:
$ref: '#/components/schemas/IntegrationWellKnownUrl'
required:
- name
ApiSpecGenRequestState:
type: object
description: API SpecGen state.
properties:
state:
$ref: '#/components/schemas/SpecGenState'
SpecGenState:
type: string
description: API SpecGen state value
example: AVAILABLE
enum:
- AVAILABLE
- UNAVAILABLE
- STARTED
- GENERATING
ApiScoringTriggerResponse:
type: object
properties:
status:
$ref: '#/components/schemas/ScoringStatus'
message:
type: string
description: Api Scoring message.
example: API Scoring triggered successfully.
ScoringStatus:
type: string
description: API Scoring status.
example: SUCCESS
enum:
- SUCCESS
- PENDING
- ERROR
ApiScoring:
type: object
properties:
createdAt:
type: string
format: date-time
description: The date when the scoring has been created.
example: 2023-05-18 12:40:46.184000+00:00
summary:
$ref: '#/components/schemas/ApiScoringSummary'
assets:
type: array
items:
$ref: '#/components/schemas/ApiScoringAsset'
ApiScoringSummary:
type: object
properties:
score:
type: number
description: The score of the API.
example: 0.91
all:
type: integer
description: The total number of violated rules for all assets.
example: 100
errors:
type: integer
description: The total number of violated rules with severity ERROR for
all assets.
example: 10
warnings:
type: integer
description: The total number of violated rules with severity WARN for all
assets.
example: 20
infos:
type: integer
description: The total number of violated rules with severity INFO for all
assets.
example: 30
hints:
type: integer
description: The total number of violated rules with severity HINT for all
assets.
example: 40
ApiScoringAsset:
type: object
properties:
name:
type: string
description: Asset name.
example: Echo-oas.json
type:
$ref: '#/components/schemas/ApiScoringAssetType'
diagnostics:
type: array
items:
$ref: '#/components/schemas/ApiScoringDiagnostic'
errors:
type: array
items:
$ref: '#/components/schemas/ApiScoringError'
ApiScoringAssetType:
type: string
description: The type of the asset.
example: SWAGGER
enum:
- ASYNCAPI
- GRAVITEE_DEFINITION
- SWAGGER
ApiScoringDiagnostic:
type: object
properties:
severity:
$ref: '#/components/schemas/ApiScoringSeverity'
range:
type: object
properties:
start:
$ref: '#/components/schemas/ApiScoringPosition'
end:
$ref: '#/components/schemas/ApiScoringPosition'
rule:
type: string
description: The rule that has been violated.
example: operation-operationId
message:
type: string
description: A string that contains a human-readable message describing
the issue found.
example: Operation must have 'operationId'.
path:
type: string
description: A string that indicates the location within the analyzed document
where the rule was triggered. It shows the "path" in the document structure
to the issue.
example: paths./my-api.get
ApiScoringError:
type: object
properties:
code:
type: string
description: code of the api scoring validation error
example: undefined-function
path:
type: array
description: Path to the specific place in document where problem occurred
items:
type: string
ApiScoringSeverity:
type: string
description: An enum representing the severity level of the rule violation.
example: WARN
enum:
- ERROR
- HINT
- INFO
- WARN
ApiScoringPosition:
type: object
properties:
line:
type: integer
description: An integer that represents the line number within the line
where the issue starts or ends. The value is zero indexed.
example: 17
character:
type: integer
description: An integer that represents the character position within the
line where the issue starts or ends. The value is zero indexed.
example: 12
AsyncJob:
type: object
properties:
id:
type: string
description: Id of the job.
example: b21cbef5-02b6-462e-9ee8-694c89c3dee5
sourceId:
type: string
description: Resource id related to this job.
example: 660bf428-4f06-451f-8144-10bbb581db65
environmentId:
type: string
description: The environment id
example: DEFAULT
initiatorId:
type: string
description: User id who triggered this job.
example: 660bf428-4f06-451f-8144-10bbb581db65
type:
type: string
description: Resource id related to this job.
example: FEDERATED_APIS_INGESTION
enum:
- FEDERATED_APIS_INGESTION
- SCORING_REQUEST
- AM_USER_SYNC
status:
$ref: '#/components/schemas/AsyncJobStatus'
errorMessage:
type: string
description: A message detailing why the job failed.
createdAt:
type: string
format: date-time
description: The date when the job has been created.
example: 2023-05-18 12:40:46.184000+00:00
updatedAt:
type: string
format: date-time
description: The date when the job has been updated.
example: 2023-05-18 12:40:46.184000+00:00
AsyncJobStatus:
type: string
description: Status of the job.
example: SUCCESS
enum:
- SUCCESS
- PENDING
- ERROR
- TIMEOUT
AnalyticTimeRange:
type: object
description: A Time range
properties:
from:
type: integer
format: int64
description: The timestamp starting the time range
example: 1621339200000
to:
type: integer
format: int64
description: The timestamp ending the time range
example: 1621425600000
interval:
type: integer
format: int64
description: The interval in milliseconds splitting the data
example: 120000
AnalyticsType:
type: string
description: The type of the analytics
example: STATS
enum:
- STATS
- COUNT
- HISTOGRAM
- GROUP_BY
GenericAnalytics:
type: object
description: Generic Analytics response
properties:
analyticsType:
$ref: '#/components/schemas/AnalyticsType'
required:
- analyticsType
discriminator:
propertyName: analyticsType
mapping:
STATS: '#/components/schemas/StatsAnalytics'
COUNT: '#/components/schemas/CountAnalytics'
HISTOGRAM: '#/components/schemas/HistogramAnalytics'
GROUP_BY: '#/components/schemas/GroupByAnalytics'
StatsAnalytics:
allOf:
- $ref: '#/components/schemas/GenericAnalytics'
- type: object
properties:
avg:
type: number
format: float
description: Average value of the metric.
min:
type: number
format: float
description: Minimum value of the metric.
max:
type: number
format: float
description: Maximum value of the metric.
sum:
type: number
format: float
description: Sum of all metric values.
count:
type: number
format: float
description: Total number of data points.
rps:
type: number
format: float
description: Requests per second.
rpm:
type: number
format: float
description: Requests per minute.
rph:
type: number
format: float
description: Requests per hour.
CountAnalytics:
allOf:
- $ref: '#/components/schemas/GenericAnalytics'
- type: object
properties:
count:
type: integer
format: int64
HistogramAnalytics:
allOf:
- $ref: '#/components/schemas/GenericAnalytics'
- type: object
properties:
timestamp:
type: object
title: HistogramTimestamp
properties:
from:
type: integer
format: int64
to:
type: integer
format: int64
interval:
type: integer
format: int64
values:
type: array
items:
type: object
properties:
buckets:
type: array
items:
type: object
properties:
name:
type: string
data:
type: array
items:
type: number
format: double
field:
type: string
name:
type: string
metadata:
type: object
additionalProperties:
type: object
additionalProperties:
type: string
GroupByAnalytics:
allOf:
- $ref: '#/components/schemas/GenericAnalytics'
- type: object
properties:
values:
type: object
additionalProperties:
type: integer
format: int64
metadata:
type: object
additionalProperties:
type: object
additionalProperties:
type: string
HealthCheckLog:
type: object
description: A healh check log
properties:
id:
type: string
description: The id of the log
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
timestamp:
type: string
format: date-time
description: The date of the log
example: 2023-05-18 12:40:46.184000+00:00
endpointName:
type: string
description: The name of the endpoint
example: default
gatewayId:
type: string
description: The id of the gateway that called the health check
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
responseTime:
type: integer
format: int64
description: The response time in ms
example: 12
success:
type: boolean
description: The success of the health check
example: true
steps:
type: array
items:
$ref: '#/components/schemas/HealthCheckLogStep'
HealthCheckLogStep:
type: object
description: A healh check log step
properties:
name:
type: string
description: The step name
example: default-step
success:
type: boolean
description: The status of the step
example: true
message:
type: string
description: The failure message when step failed
example: Assertions failed
request:
$ref: '#/components/schemas/HealthCheckLogRequest'
response:
$ref: '#/components/schemas/HealthCheckLogResponse'
HealthCheckLogRequest:
type: object
description: A health check request
properties:
uri:
type: string
description: The uri called
example: https://api.gravitee.io/
method:
type: string
description: The http method
example: GET
headers:
type: object
description: The request headers
additionalProperties:
type: string
HealthCheckLogResponse:
type: object
description: A health check response
properties:
status:
type: integer
description: The response status
example: 200/
body:
type: string
description: The response body
example: OK
headers:
type: object
description: The response headers
additionalProperties:
type: string
ExposedEntrypoint:
type: object
properties:
value:
type: string
description: The url or host of the entrypoint depending on the API type
example: https://my-api.domain.com/echo
MigrationStateType:
type: string
description: '* MIGRATED: API is migrated
* MIGRATABLE: DRY_RUN and can works
* CAN_BE_FORCED: if you force, we upgrade
* IMPOSSIBLE: we don’t know howto upgrade
'
enum:
- MIGRATED
- MIGRATABLE
- CAN_BE_FORCED
- IMPOSSIBLE
FeedbackRequestId:
description: newt AI feedback request id.
type: object
properties:
chatId:
type: string
userMessageId:
type: string
agentMessageId:
type: string
ApiProduct:
type: object
title: ApiProduct
description: API Product representation
properties:
id:
type: string
description: The API Product ID
example: api-product-123
environmentId:
type: string
description: The environment ID
example: DEFAULT
name:
type: string
description: The API Product name
example: My API Product
description:
type: string
description: The API Product description
example: A bundle of public APIs
version:
type: string
description: The API Product version
example: 1.0.0
apiIds:
type: array
description: List of API IDs included in the product
items:
type: string
example:
- api-1
- api-2
createdAt:
type: string
format: date-time
description: API Product creation date
example: '2025-01-01T10:15:30Z'
updatedAt:
type: string
format: date-time
description: API Product last update date
example: '2025-01-01T10:15:30Z'
primaryOwner:
$ref: '#/components/schemas/PrimaryOwner'
description: The primary owner of the API Product
tags:
type: array
description: The list of sharding tags associated with this API Product.
items:
type: string
example:
- internal
- external
ApiProductInfo:
type: object
title: ApiProductInfo
description: Info of an API Product that includes the given API — id and name
only.
required:
- id
- name
properties:
id:
type: string
description: The API Product ID
example: api-product-123
name:
type: string
description: The API Product name
example: My API Product
parameters:
orgIdParam:
name: orgId
in: path
required: true
description: Id of an organization.
schema:
type: string
default: DEFAULT
envIdParam:
name: envId
in: path
required: true
description: Id or Hrid (Human readable Id) of an environment.
schema:
type: string
default: DEFAULT
apiIdParam:
name: apiId
in: path
required: true
description: Id of an API.
schema:
type: string
requestIdParam:
name: requestId
in: path
required: true
description: Id of a request.
schema:
type: string
categoryIdOrKeyParam:
name: categoryIdOrKey
in: path
required: true
description: Id or Key of a category.
schema:
type: string
groupIdParam:
name: groupId
in: path
required: true
description: Id of a group.
schema:
type: string
pageIdParam:
name: pageId
in: path
required: true
description: Id of a documentation page.
schema:
type: string
planIdParam:
name: planId
in: path
required: true
description: Id of a plan.
schema:
type: string
subscriptionIdParam:
name: subscriptionId
in: path
required: true
description: Id of a subscription.
schema:
type: string
apiKeyIdParam:
name: apiKeyId
in: path
required: true
description: Id of an API Key.
schema:
type: string
endpointIdParam:
name: endpointId
in: path
required: true
description: Id of an endpoint.
schema:
type: string
entrypointIdParam:
name: entrypointId
in: path
required: true
description: Id of an entrypoint.
schema:
type: string
policyIdParam:
name: policyId
in: path
required: true
description: Id of a policy.
schema:
type: string
integrationIdParam:
name: integrationId
in: path
required: true
description: Id of an integration.
schema:
type: string
apiSortByParam:
name: sortBy
in: query
required: false
description: 'Possibility to sort APIs results by field.
Can be ascending or descending with minus ''-'' prefix.
By default, no sort is applied.'
schema:
type: string
example: name
enum:
- name
- -name
- api_type
- -api_type
- status
- -status
- paths
- -paths
- tags_asc
- -tags_desc
- categories_asc
- -categories_desc
- owner
- -owner
- visibility
- -visibility
apiMetadataSortByParam:
name: sortBy
in: query
required: false
description: 'Possibility to sort API Metadata results by field.
Can be ascending or descending with minus ''-'' prefix.
By default, ''key'' is applied.'
schema:
type: string
example: key
enum:
- key
- -key
- name
- -name
- format
- -format
- value
- -value
pageParam:
name: page
in: query
required: false
description: The page number for pagination.
schema:
type: integer
default: 1
perPageParam:
name: perPage
in: query
required: false
description: 'The number of items per page for pagination.
'
schema:
type: integer
default: 10
messageLogsConnectorType:
name: connectorType
in: query
description: Connector type to filter on. If unset, no filtering is applied.
schema:
$ref: '#/components/schemas/ConnectorType'
messageLogsConnectorId:
name: connectorId
in: query
description: Connector ID (plugin ID) to filter on. If unset, no filtering is
applied.
schema:
type: string
example: webhook
messageLogsOperation:
name: operation
in: query
description: Operation to filter on. If unset, no filtering is applied.
schema:
$ref: '#/components/schemas/MessageOperation'
apisSearchExpandsParam:
name: expands
in: query
description: Expansion of data to return in APIs.
schema:
type: array
items:
type: string
enum:
- deploymentState
apisGetExpandsParam:
name: expands
in: query
description: Expansion of data to return in APIs.
schema:
type: array
items:
type: string
enum:
- deploymentState
- primaryOwner
- metadata
apiManageOnlyParam:
name: manageOnly
in: query
description: By default only APIs that the user can manage are returned. If
set to false, all APIs that the user can view are returned.
schema:
type: boolean
default: true
apiMetadataSourceParam:
name: source
in: query
description: Determines source of API Metadata (GLOBAL or API).
schema:
type: array
items:
type: string
enum:
- GLOBAL
- API
from:
name: from
in: query
required: false
description: 'The timestamp from which the logs will be returned.
'
schema:
type: integer
format: int64
to:
name: to
in: query
required: false
description: 'The timestamp to which the logs will be returned.
'
schema:
type: integer
format: int64
applicationIds:
name: applicationIds
description: List of application ids to filter on.
in: query
explode: false
schema:
type: array
items:
type: string
auditEvents:
name: events
description: List of Audit event name to filter on.
in: query
explode: false
schema:
type: array
items:
type: string
eventTypes:
name: types
description: List of event types to filter on.
in: query
explode: false
schema:
type: array
items:
type: string
parentId:
name: parentId
in: query
required: false
description: Id of the parent folder or 'ROOT' for the top folder.
examples:
root:
value: ROOT
summary: Hard-coded value for top level folder
parentId:
value: 919a8df8-6e53-11ee-b962-0242ac120002
summary: ID of the parent folder
schema:
type: string
planIds:
name: planIds
description: List of plan ids to filter on.
in: query
explode: false
schema:
type: array
items:
type: string
methods:
name: methods
description: List of HTTP request methods to filter on.
in: query
explode: false
schema:
type: array
items:
$ref: '#/components/schemas/HttpMethod'
statuses:
name: statuses
description: List of http statuses to filter on.
in: query
explode: false
schema:
type: array
items:
type: integer
errorKeys:
name: errorKeys
description: Return only connection logs whose error key matches any of the
supplied values. For Native Kafka APIs with connection logging enabled and
debug disabled, this filter is AND-composed with the default failed-connections-only
filter.
in: query
explode: false
schema:
type: array
items:
type: string
eventIdParam:
name: eventId
in: path
required: true
description: Id of an API Event.
schema:
type: string
healthField:
name: field
in: query
required: false
description: 'The field to group response time and availability.
'
schema:
type: string
default: endpoint
enum:
- endpoint
- gateway
responses:
ApisResponse:
description: Page of apis
content:
application/json:
schema:
title: ApisResponse
properties:
data:
description: List of Apis.
type: array
items:
$ref: '#/components/schemas/Api'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
IngestedApisResponse:
description: Page of Ingested APIs
content:
application/json:
schema:
title: IngestedApisResponse
properties:
data:
description: List of Ingested APIs .
type: array
items:
$ref: '#/components/schemas/IngestedApi'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
DeletedIngestedApisResponse:
description: Result of deleting ingested APIs operation
content:
application/json:
schema:
title: DeletedIngestedApisResponse
properties:
deleted:
description: 'Number of successfully deleted APIs '
type: number
skipped:
description: Number of skipped APIs due to some criteria (e.g. being
PUBLISHED)
type: number
errors:
description: Number of errors encountered during deletion process
type: number
GroupsResponse:
description: Page of Groups
content:
application/json:
schema:
title: GroupsResponse
properties:
data:
description: List of groups.
type: array
items:
$ref: '#/components/schemas/Group'
links:
$ref: '#/components/schemas/Links'
metadata:
$ref: '#/components/schemas/ResponseMetadata'
pagination:
$ref: '#/components/schemas/Pagination'
ImageResponse:
description: An image
content:
image/*:
schema:
type: string
format: binary
MetadataResponse:
description: Page of metadata
content:
application/json:
schema:
title: MetadataResponse
properties:
data:
description: List of metadata.
type: array
items:
$ref: '#/components/schemas/Metadata'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
IntegrationsResponse:
description: Page of integrations
content:
application/json:
schema:
title: IntegrationsResponse
properties:
data:
description: List of Integrations.
type: array
items:
$ref: '#/components/schemas/Integration'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
PlansResponse:
description: Page of API plans
content:
application/json:
schema:
title: PlansResponse
properties:
data:
description: List of API plans.
type: array
items:
$ref: '#/components/schemas/Plan'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
SubscribersResponse:
description: Page of API subscribers
content:
application/json:
schema:
title: SubscribersResponse
properties:
data:
description: List of API subscribers.
type: array
items:
$ref: '#/components/schemas/BaseApplication'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
SubscriptionsResponse:
description: Page of API subscriptions
content:
application/json:
schema:
title: SubscriptionsResponse
properties:
data:
description: List of API subscriptions.
type: array
items:
$ref: '#/components/schemas/Subscription'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
SubscriptionApiKeysResponse:
description: Page of subscription API Keys
content:
application/json:
schema:
title: SubscriptionApiKeysResponse
properties:
data:
description: List of subscription API Keys.
type: array
items:
$ref: '#/components/schemas/ApiKey'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
SchemaFormResponse:
description: Schema form of a plugin
content:
application/json:
schema:
type: object
Error:
description: Generic error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
VerifyApiPathsResponse:
description: Result of the API paths verification
content:
application/json:
schema:
title: VerifyApiPathsResponse
properties:
ok:
type: boolean
description: Indicates whether the paths are valid.
reason:
type: string
description: An optional reason giving details about the result.
VerifyApiHostsResponse:
description: Result of the API hosts verification
content:
application/json:
schema:
title: VerifyApiHostsResponse
properties:
ok:
type: boolean
description: Indicates whether the hosts are valid.
reason:
type: string
description: An optional reason giving details about the result.
ExposedEntrypointResponse:
description: List of exposed entrypoints
content:
application/json:
schema:
title: ExposedEntrypointResponse
type: array
items:
$ref: '#/components/schemas/ExposedEntrypoint'
ApiAnalyticsResponse:
description: Successful analytics response
content:
application/json:
schema:
title: ApiAnalyticsResponse
oneOf:
- $ref: '#/components/schemas/StatsAnalytics'
- $ref: '#/components/schemas/CountAnalytics'
- $ref: '#/components/schemas/HistogramAnalytics'
- $ref: '#/components/schemas/GroupByAnalytics'
discriminator:
propertyName: analyticsType
mapping:
STATS: '#/components/schemas/StatsAnalytics'
COUNT: '#/components/schemas/CountAnalytics'
HISTOGRAM: '#/components/schemas/HistogramAnalytics'
GROUP_BY: '#/components/schemas/GroupByAnalytics'
ApiAnalyticsRequestsCountResponse:
description: Analytics for requests count by entrypoint
content:
application/json:
schema:
title: ApiAnalyticsRequestsCountResponse
description: API Analytics for requests count by entrypoint.
properties:
total:
type: integer
format: int64
description: The total count of requests
example: 100
countsByEntrypoint:
type: object
additionalProperties:
description: A map of metrics by entrypoint
type: number
ApiAnalyticsAverageMessagesPerRequestResponse:
description: Analytics for average messages per request by entrypoint
content:
application/json:
schema:
title: ApiAnalyticsAverageMessagesPerRequestResponse
description: API Analytics for average messages per request by entrypoint.
properties:
average:
type: number
format: double
description: The rounded global average of messages per request
example: 1000
averagesByEntrypoint:
type: object
additionalProperties:
description: A map of rounded average messages request by entrypoint
type: number
ApiAnalyticsAverageConnectionDurationResponse:
description: Analytics for average connection duration by entrypoint
content:
application/json:
schema:
title: ApiAnalyticsAverageConnectionDurationResponse
description: API Analytics for average connection duration by entrypoint.
properties:
average:
type: number
format: double
description: The rounded global average of connection duration
example: 1000
averagesByEntrypoint:
type: object
additionalProperties:
description: A map of rounded average connection duration by entrypoint
type: number
ApiAnalyticsOverPeriodResponse:
description: Analytics for number over period
content:
application/json:
schema:
title: ApiAnalyticsOverPeriodResponse
description: API Analytics integer data point on a period.
properties:
timeRange:
$ref: '#/components/schemas/AnalyticTimeRange'
data:
type: array
description: Response time average (in milliseconds) over time
items:
type: integer
format: int64
minimum: 0
exclusiveMinimum: true
ApiAnalyticsResponseStatusRangesResponse:
description: Analytics for status codes by entrypoint
content:
application/json:
schema:
title: ApiAnalyticsResponseStatusRangesResponse
description: API Analytics for status codes by entrypoint.
properties:
ranges:
type: object
description: Global status ranges
additionalProperties:
description: A map of response status range and counts
type: number
example:
100.0-200.0:
value: 5
200.0-300.0:
value: 357
300.0-400.0:
value: 0
400.0-500.0:
value: 0
500.0-600.0:
value: 0
rangesByEntrypoint:
type: object
description: Status ranges by entrypoint
additionalProperties:
description: A map of response status range and counts
type: object
additionalProperties:
description: Count of status code
type: number
example:
http-proxy:
value:
100.0-200.0:
value: 5
200.0-300.0:
value: 357
300.0-400.0:
value: 0
400.0-500.0:
value: 0
500.0-600.0:
value: 0
ApiAnalyticsResponseStatusOvertimeResponse:
description: Analytics for status codes over time
content:
application/json:
schema:
title: ApiAnalyticsResponseStatusOvertimeResponse
description: API Analytics for status codes over time.
properties:
timeRange:
$ref: '#/components/schemas/AnalyticTimeRange'
data:
type: object
description: Status count overt time
additionalProperties:
description: A map of response status and counts
type: array
items:
type: integer
format: int64
ApiMetricsDetailResponse:
description: API metric for a particular request
content:
application/json:
schema:
title: ApiMetricsDetailResponse
description: API metrics detail for a request ID.
properties:
timestamp:
type: string
format: date-time
description: The date (as timestamp) of the metric.
example: 2023-05-18 12:40:46.184000+00:00
apiId:
type: string
description: The id of the api.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
requestId:
type: string
description: The id of the request.
example: 1719d8d1-8d01-48f6-99d8-d18d0178f6d4
transactionId:
type: string
description: The id of the transaction.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
host:
type: string
description: The host used for the request
example: mycompany.example.com
plan:
$ref: '#/components/schemas/BasePlan'
application:
$ref: '#/components/schemas/BaseApplication'
gateway:
type: string
description: The id of the gateway.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
gatewayHostname:
type: string
description: The hostname of the gateway instance.
example: gateway-1.example.com
gatewayIp:
type: string
description: The IP address of the gateway instance.
example: 192.168.1.100
uri:
type: string
description: URI of the request.
example: /my-api
status:
type: integer
description: The response status
example: 200
requestContentLength:
type: integer
description: The request content length
example: 42
responseContentLength:
type: integer
description: The response content length
example: 42
remoteAddress:
type: string
description: the remote address
example: null
gatewayLatency:
type: integer
description: The gateway latency
example: 42
gatewayResponseTime:
type: integer
description: The gateway response time
example: 42
endpointResponseTime:
type: integer
description: The endpoint response time
example: 42
method:
$ref: '#/components/schemas/HttpMethod'
endpoint:
type: string
description: The endpoint URL.
example: https://my-api-example.com
message:
type: string
description: The error message.
example: The timeout period of 1000ms has been exceeded
errorKey:
type: string
description: The error key.
example: TIMEOUT_ERROR
errorComponentName:
type: string
description: The name of the component that generated the error.
example: security
errorComponentType:
type: string
description: The type of the component that generated the error.
example: ENDPOINT
warnings:
type: array
description: The warning diagnotics
items:
$ref: '#/components/schemas/ApiLogDiagnostic'
additionalMetrics:
type: object
additionalProperties: true
description: A map of string keys to values
ApiLogsResponse:
description: Page of API Logs
content:
application/json:
schema:
title: ApiLogsResponse
properties:
data:
description: List of API logs.
type: array
items:
$ref: '#/components/schemas/ApiLog'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
ApiMessageLogsResponse:
description: Page of Message metrics
content:
application/json:
schema:
title: ApiMessageLogsResponse
properties:
data:
description: List of Message metrics.
type: array
items:
$ref: '#/components/schemas/ApiMessageLog'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
ApiLogResponse:
description: API log for a particular request
content:
application/json:
schema:
title: ApiLogResponse
description: API log for a request.
properties:
timestamp:
type: string
format: date-time
description: The date (as timestamp) of the log.
example: 2023-05-18 12:40:46.184000+00:00
apiId:
type: string
description: The id of the api.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
requestId:
type: string
description: The id of the request.
example: 1719d8d1-8d01-48f6-99d8-d18d0178f6d4
clientIdentifier:
type: string
description: The client identifier of the request.
example: 12ca17b49af2289436f303e0166030a21e525d266e209267433801a8fd4071a0
transactionId:
type: string
description: The id of the transaction.
example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
requestEnded:
type: boolean
description: The flag indicating if the request has ended.
example: true
entrypointRequest:
$ref: '#/components/schemas/ApiLogRequestContent'
entrypointResponse:
$ref: '#/components/schemas/ApiLogResponseContent'
endpointRequest:
$ref: '#/components/schemas/ApiLogRequestContent'
endpointResponse:
$ref: '#/components/schemas/ApiLogResponseContent'
NativeApiLogsSummaryResponse:
description: Summary of native API connection logs aggregated by connection
status.
content:
application/json:
schema:
$ref: '#/components/schemas/NativeApiLogsSummary'
NativeApiLogsResponse:
description: Page of native API connection logs.
content:
application/json:
schema:
title: NativeApiLogsResponse
properties:
data:
type: array
items:
$ref: '#/components/schemas/NativeApiLog'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
NativeApiLogResponse:
description: Native API connection log for a particular request.
content:
application/json:
schema:
$ref: '#/components/schemas/NativeApiLog'
ApiAggregatedMessageLogsResponse:
description: Page of API Messages Logs
content:
application/json:
schema:
title: ApiAggregatedMessageLogsResponse
properties:
data:
description: List of API Messages logs.
type: array
items:
$ref: '#/components/schemas/ApiAggregatedMessageLog'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
ApiHealthAverageResponseTimeResponse:
description: Average response time of an API Health-Check
content:
application/json:
schema:
title: ApiHealthAverageResponseTimeResponse
description: Average response time of an API Health-Check.
properties:
global:
type: integer
format: int64
description: Average response time of the API Health-Check for all
endpoint combined
group:
type: object
description: Average response time by endpoint or by gateway
additionalProperties:
description: Average response time
type: integer
format: int64
example:
default: 30
ApiHealthAverageResponseTimeOvertimeResponse:
description: Average response time overtime of an API Health-Check
content:
application/json:
schema:
title: ApiHealthAverageResponseTimeOvertimeResponse
description: Average response time of an API Health-Check.
properties:
timeRange:
$ref: '#/components/schemas/AnalyticTimeRange'
data:
type: array
description: Average response time buckets
items:
type: integer
format: int64
ApiHealthAvailabilityResponse:
description: Availability of an API
content:
application/json:
schema:
title: ApiHealthAvailabilityResponse
description: Availability of an API.
properties:
global:
type: number
format: float
minimum: 0
maximum: 1
multipleOf: 0.0001
description: Availability of the API for all endpoint combined
group:
type: object
description: Availability by endpoint or by gateway
additionalProperties:
description: Average response time
type: number
format: float
minimum: 0
maximum: 1
multipleOf: 0.0001
example:
default: 0.7504
ApiHealthLogsResponse:
description: Page of HealthCheck logs
content:
application/json:
schema:
title: ApiHealthLogsResponse
properties:
data:
description: List of health check logs.
type: array
items:
$ref: '#/components/schemas/HealthCheckLog'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
AuditsResponse:
description: Page of Audit
content:
application/json:
schema:
title: AuditsResponse
properties:
data:
description: List of audits.
type: array
items:
$ref: '#/components/schemas/Audit'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
AuditEventsResponse:
description: Audit events response
content:
application/json:
schema:
title: AuditEventsResponse
properties:
data:
description: List of Audit events name.
type: array
items:
type: string
EventsResponse:
description: Page of Event
content:
application/json:
schema:
title: EventsResponse
properties:
data:
description: List of events.
type: array
items:
$ref: '#/components/schemas/Event'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
EventResponse:
description: Single Event
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
ApiDocumentationPagesResponse:
description: API documentation pages
content:
application/json:
schema:
title: ApiDocumentationPagesResponse
properties:
pages:
type: array
items:
$ref: '#/components/schemas/Page'
breadcrumb:
type: array
description: Breadcrumb to the root folder. Only returned when parentId
is specified.
items:
$ref: '#/components/schemas/Breadcrumb'
CategoryApisResponse:
description: Page of APIs within a Category
content:
application/json:
schema:
title: CategoryApisResponse
properties:
data:
description: List of APIs within a Category.
type: array
items:
$ref: '#/components/schemas/CategoryApi'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
AsyncJobsResponse:
description: Page of async jobs
content:
application/json:
schema:
title: AsyncJobsResponse
properties:
data:
description: List of Async Jobs.
type: array
items:
$ref: '#/components/schemas/AsyncJob'
pagination:
$ref: '#/components/schemas/Pagination'
links:
$ref: '#/components/schemas/Links'
MigrationReportResponses:
description: Migration report
content:
application/json:
schema:
title: MigrationReportResponses
properties:
state:
$ref: '#/components/schemas/MigrationStateType'
issues:
description: List of issues.
type: array
items:
type: object
properties:
message:
type: string
state:
$ref: '#/components/schemas/MigrationStateType'
GenerateExpressionLanguageResponse:
description: Response an expression language generation
content:
application/json:
schema:
title: GenerateExpressionLanguageResponse
properties:
message:
description: Expression language generated.
type: string
feedbackRequestId:
$ref: '#/components/schemas/FeedbackRequestId'
securitySchemes:
bearerAuth:
type: http
scheme: bearer