naftiko: 1.0.0-alpha2 info: label: Choreo Developer Portal API description: 'Choreo Developer Portal API. 4 operations. Lead operation: Choreo List published APIs. Self-contained Naftiko capability covering one Choreo business surface.' tags: - Choreo created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CHOREO_API_KEY: CHOREO_API_KEY capability: consumes: - type: http namespace: developer-portal-general baseUri: https://devportal.choreo.dev/api/v1 description: Choreo Developer Portal API business capability. Self-contained, no shared references. resources: - name: apis path: /apis operations: - name: listpublishedapis method: GET description: Choreo List published APIs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: Search query to filter APIs by name or description. - name: tag in: query type: string description: Filter APIs by tag. - name: type in: query type: string description: Filter APIs by type. - name: limit in: query type: integer description: Maximum number of results. - name: offset in: query type: integer description: Number of results to skip. - name: apis-apiId path: /apis/{apiId} operations: - name: getpublishedapi method: GET description: Choreo Get a published API outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: API identifier. required: true - name: apis-apiId-definition path: /apis/{apiId}/definition operations: - name: getapidefinition method: GET description: Choreo Get API definition outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: API identifier. required: true - name: apis-apiId-documents path: /apis/{apiId}/documents operations: - name: listapidocuments method: GET description: Choreo List API documents outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: API identifier. required: true authentication: type: bearer token: '{{env.CHOREO_API_KEY}}' exposes: - type: rest namespace: developer-portal-general-rest port: 8080 description: REST adapter for Choreo Developer Portal API. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/apis name: apis description: REST surface for apis. operations: - method: GET name: listpublishedapis description: Choreo List published APIs call: developer-portal-general.listpublishedapis with: query: rest.query tag: rest.tag type: rest.type limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid} name: apis-apiid description: REST surface for apis-apiId. operations: - method: GET name: getpublishedapi description: Choreo Get a published API call: developer-portal-general.getpublishedapi with: apiId: rest.apiId outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/definition name: apis-apiid-definition description: REST surface for apis-apiId-definition. operations: - method: GET name: getapidefinition description: Choreo Get API definition call: developer-portal-general.getapidefinition with: apiId: rest.apiId outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/documents name: apis-apiid-documents description: REST surface for apis-apiId-documents. operations: - method: GET name: listapidocuments description: Choreo List API documents call: developer-portal-general.listapidocuments with: apiId: rest.apiId outputParameters: - type: object mapping: $. - type: mcp namespace: developer-portal-general-mcp port: 9090 transport: http description: MCP adapter for Choreo Developer Portal API. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: choreo-list-published-apis description: Choreo List published APIs hints: readOnly: true destructive: false idempotent: true call: developer-portal-general.listpublishedapis with: query: tools.query tag: tools.tag type: tools.type limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: choreo-get-published-api description: Choreo Get a published API hints: readOnly: true destructive: false idempotent: true call: developer-portal-general.getpublishedapi with: apiId: tools.apiId outputParameters: - type: object mapping: $. - name: choreo-get-api-definition description: Choreo Get API definition hints: readOnly: true destructive: false idempotent: true call: developer-portal-general.getapidefinition with: apiId: tools.apiId outputParameters: - type: object mapping: $. - name: choreo-list-api-documents description: Choreo List API documents hints: readOnly: true destructive: false idempotent: true call: developer-portal-general.listapidocuments with: apiId: tools.apiId outputParameters: - type: object mapping: $.