OpenAPI Specification
openapi: 3.2.0
info:
contact: {}
description: Config API supports CRUD operations on config objects.
title: Config REST Application Agent Credentials MCP Servers API
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: '1'
servers:
- url: https://eu.api.indykite.com/configs/v1
- url: https://us.api.indykite.com/configs/v1
security:
- BearerToken: []
tags:
- name: MCP Servers
description: MCP Servers configuration
x-displayName: MCP Servers
paths:
/mcp-servers:
get:
operationId: listMCPServer
description: List all MCP Server configurations in a project
parameters:
- description: Project ID in GID format
in: query
name: project_id
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.listConfigResponse-httpproxy_readMCPServerResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
security:
- BearerToken: []
summary: List MCP Servers
tags:
- MCP Servers
post:
operationId: createMCPServer
description: Create a new MCP Server configuration
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.createMCPServerRequest'
description: MCP Server configuration
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.createConfigResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
security:
- BearerToken: []
summary: Create MCP Server
tags:
- MCP Servers
/mcp-servers/{id}:
delete:
operationId: deleteMCPServer
description: Delete an MCP Server configuration
parameters:
- description: MCP Server ID in GID format
in: path
name: id
required: true
schema:
type: string
- description: ETag for optimistic concurrency control
in: query
name: etag
schema:
type: string
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'412':
description: Precondition Failed
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
security:
- BearerToken: []
summary: Delete MCP Server
tags:
- MCP Servers
get:
operationId: getMCPServer
description: Read an MCP Server configuration by ID or name
parameters:
- description: MCP Server ID in GID format or name
in: path
name: id
required: true
schema:
type: string
- description: Project ID in GID format (required when using name)
in: query
name: project_id
schema:
type: string
- description: Version number to read
in: query
name: version
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.readMCPServerResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
security:
- BearerToken: []
summary: Read MCP Server
tags:
- MCP Servers
put:
operationId: updateMCPServer
description: Update an existing MCP Server configuration
parameters:
- description: MCP Server ID in GID format
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.updateMCPServerRequest'
description: MCP Server configuration updates
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.updateConfigResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'412':
description: Precondition Failed
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
security:
- BearerToken: []
summary: Update MCP Server
tags:
- MCP Servers
components:
schemas:
httpproxy.updateConfigResponse:
properties:
create_time:
description: CreateTime specify when configuration was created.
type: string
created_by:
description: CreatedBy specify who created configuration.
type: string
id:
description: ID of configuration to update.
type: string
update_time:
description: UpdateTime specify when configuration was last time updated.
type: string
updated_by:
description: UpdatedBy specify who last time updated configuration.
type: string
type: object
restapi.DetailedError:
properties:
errors:
items:
type: string
type: array
message:
type: string
type: object
restapi.ErrorResponse:
properties:
message:
example: Internal Server Error
type: string
type: object
httpproxy.readMCPServerResponse:
properties:
app_agent_id:
description: AppAgentID is the ID of the app agent in GID format
type: string
create_time:
description: CreateTime specify when configuration was created.
type: string
created_by:
description: CreatedBy specify who created configuration.
type: string
description:
description: Description is optional description of configuration.
type: string
display_name:
description: DisplayName is optional human readable name of configuration. Is equal to Name if not set.
type: string
enabled:
description: Enabled indicates if the MCP server is enabled
type: boolean
id:
description: ID is globally unique identifier of configuration.
type: string
name:
description: Name is URL friendly identifier of configuration.
type: string
organization_id:
description: 'OrganizationID is globally unique identifier of organization, formerly known as customer,
under which configuration was created.'
type: string
project_id:
description: 'ProjectID is globally unique identifier of project, formerly known as application space,
under which configuration was created.
Might be empty, if configuration is created directly under organization.'
type: string
scopes_supported:
description: ScopesSupported is the list of OAuth scopes supported by the MCP server
items:
type: string
type: array
token_introspect_id:
description: TokenIntrospectID is the ID of the token introspect in GID format
type: string
update_time:
description: UpdateTime specify when configuration was last time updated.
type: string
updated_by:
description: UpdatedBy specify who last time updated configuration.
type: string
type: object
httpproxy.listConfigResponse-httpproxy_readMCPServerResponse:
properties:
data:
items:
$ref: '#/components/schemas/httpproxy.readMCPServerResponse'
type: array
type: object
httpproxy.createConfigResponse:
properties:
create_time:
description: CreateTime specify when configuration was created.
type: string
created_by:
description: CreatedBy specify who created configuration.
type: string
id:
description: ID is globally unique identifier of created configuration.
type: string
update_time:
description: UpdateTime specify when configuration was last time updated.
type: string
updated_by:
description: UpdatedBy specify who last time updated configuration.
type: string
type: object
httpproxy.updateMCPServerRequest:
properties:
app_agent_id:
description: AppAgentID is the ID of the app agent in GID format
type: string
description:
description: 'Description is optional description of configuration. When kept null, it is not changed.
But when set to empty string, it will be removed.'
maxLength: 65000
type: string
display_name:
description: 'DisplayName is optional human readable name of configuration. When kept null, it is not changed.
But when set to empty string, it will be removed.'
maxLength: 254
type: string
enabled:
description: Enabled indicates if the MCP server is enabled
type: boolean
scopes_supported:
description: ScopesSupported is the list of OAuth scopes supported by the MCP server
items:
type: string
minItems: 1
type: array
token_introspect_id:
description: TokenIntrospectID is the ID of the token introspect in GID format
type: string
required:
- app_agent_id
- enabled
- scopes_supported
- token_introspect_id
type: object
httpproxy.createMCPServerRequest:
properties:
app_agent_id:
description: AppAgentID is the ID of the app agent in GID format
type: string
description:
description: Description is optional description of configuration.
maxLength: 65000
minLength: 2
type: string
display_name:
description: DisplayName is optional human readable name of configuration.
maxLength: 254
minLength: 2
type: string
enabled:
description: Enabled indicates if the MCP server is enabled
type: boolean
name:
description: 'Name is URL friendly identifier of configuration, must be unique in scope of parent entity.
Also is immutable and cannot be changed later.'
type: string
project_id:
description: 'ProjectID is identifier of Project, formerly known as Application space,
where to place this new configuration object. Must be in GID format.'
type: string
scopes_supported:
description: ScopesSupported is the list of OAuth scopes supported by the MCP server
items:
type: string
minItems: 1
type: array
token_introspect_id:
description: TokenIntrospectID is the ID of the token introspect in GID format
type: string
required:
- app_agent_id
- enabled
- name
- project_id
- scopes_supported
- token_introspect_id
type: object
securitySchemes:
BearerToken:
type: http
scheme: bearer
bearerFormat: JWT
description: Bearer token generated from Service Account credentials.
x-original-swagger-version: '2.0'