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'