naftiko: 1.0.0-alpha2 info: label: Segment Public API — Catalog description: 'Segment Public API — Catalog. 4 operations. Lead operation: List catalog destinations. Self-contained Naftiko capability covering one Segment business surface.' tags: - Segment - Catalog created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SEGMENT_API_KEY: SEGMENT_API_KEY capability: consumes: - type: http namespace: public-catalog baseUri: https://api.segmentapis.com description: Segment Public API — Catalog business capability. Self-contained, no shared references. resources: - name: catalog-destinations path: /catalog/destinations operations: - name: listcatalogdestinations method: GET description: List catalog destinations outputRawFormat: json outputParameters: - name: result type: object value: $. - name: catalog-destinations-destinationMetadataId path: /catalog/destinations/{destinationMetadataId} operations: - name: getcatalogdestination method: GET description: Get catalog destination outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: destinationMetadataId in: path type: string description: The ID of the destination metadata. required: true - name: catalog-sources path: /catalog/sources operations: - name: listcatalogsources method: GET description: List catalog sources outputRawFormat: json outputParameters: - name: result type: object value: $. - name: catalog-sources-sourceMetadataId path: /catalog/sources/{sourceMetadataId} operations: - name: getcatalogsource method: GET description: Get catalog source outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sourceMetadataId in: path type: string description: The ID of the source metadata. required: true authentication: type: bearer token: '{{env.SEGMENT_API_KEY}}' exposes: - type: rest namespace: public-catalog-rest port: 8080 description: REST adapter for Segment Public API — Catalog. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/catalog/destinations name: catalog-destinations description: REST surface for catalog-destinations. operations: - method: GET name: listcatalogdestinations description: List catalog destinations call: public-catalog.listcatalogdestinations outputParameters: - type: object mapping: $. - path: /v1/catalog/destinations/{destinationmetadataid} name: catalog-destinations-destinationmetadataid description: REST surface for catalog-destinations-destinationMetadataId. operations: - method: GET name: getcatalogdestination description: Get catalog destination call: public-catalog.getcatalogdestination with: destinationMetadataId: rest.destinationMetadataId outputParameters: - type: object mapping: $. - path: /v1/catalog/sources name: catalog-sources description: REST surface for catalog-sources. operations: - method: GET name: listcatalogsources description: List catalog sources call: public-catalog.listcatalogsources outputParameters: - type: object mapping: $. - path: /v1/catalog/sources/{sourcemetadataid} name: catalog-sources-sourcemetadataid description: REST surface for catalog-sources-sourceMetadataId. operations: - method: GET name: getcatalogsource description: Get catalog source call: public-catalog.getcatalogsource with: sourceMetadataId: rest.sourceMetadataId outputParameters: - type: object mapping: $. - type: mcp namespace: public-catalog-mcp port: 9090 transport: http description: MCP adapter for Segment Public API — Catalog. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-catalog-destinations description: List catalog destinations hints: readOnly: true destructive: false idempotent: true call: public-catalog.listcatalogdestinations outputParameters: - type: object mapping: $. - name: get-catalog-destination description: Get catalog destination hints: readOnly: true destructive: false idempotent: true call: public-catalog.getcatalogdestination with: destinationMetadataId: tools.destinationMetadataId outputParameters: - type: object mapping: $. - name: list-catalog-sources description: List catalog sources hints: readOnly: true destructive: false idempotent: true call: public-catalog.listcatalogsources outputParameters: - type: object mapping: $. - name: get-catalog-source description: Get catalog source hints: readOnly: true destructive: false idempotent: true call: public-catalog.getcatalogsource with: sourceMetadataId: tools.sourceMetadataId outputParameters: - type: object mapping: $.