naftiko: 1.0.0-alpha2 info: label: Coveo Schema Service API — Sources description: 'Coveo Schema Service API — Sources. 8 operations. Lead operation: Validates a Slack OAuth Token. Self-contained Naftiko capability covering one Coveo business surface.' tags: - Coveo - Schema Service - Sources created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: COVEO_API_KEY: COVEO_API_KEY capability: consumes: - type: http namespace: schema-service-sources baseUri: https://platform.cloud.coveo.com description: Coveo Schema Service API — Sources business capability. Self-contained, no shared references. authentication: type: bearer token: '{{env.COVEO_API_KEY}}' resources: - name: rest-organizations-organizationId-schema-sources-SLACK-validateToken path: /rest/organizations/{organizationId}/schema/sources/SLACK/validateToken operations: - name: validateslacktoken method: POST description: Validates a Slack OAuth Token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accessTokenGuid in: query type: string description: The OAuth token Guid linked with the token to validate. - name: accessToken in: query type: string description: The OAuth token to validate. - name: organizationId in: path type: string description: The organization ID required: true - name: rest-organizations-organizationId-schema-sources-sourceType-defaultObjectsToGet path: /rest/organizations/{organizationId}/schema/sources/{sourceType}/defaultObjectsToGet operations: - name: getdefaultobjectstoget method: GET description: Retrieves the Default Objects for a Source of Type Specified. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sourceType in: path type: string description: The type of the source required: true - name: organizationId in: path type: string description: The organization ID required: true - name: rest-organizations-organizationId-schema-sources-sourceType-entities path: /rest/organizations/{organizationId}/schema/sources/{sourceType}/entities operations: - name: getschemaentities method: GET description: Retrieves the List of Entities Present in a Source, in Alphabetical Order of Display Names. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accessTokenGuid in: query type: string description: The source's access token Guid (if authentified through access token) - name: entityIds in: query type: string description: IDs of the entities to retrieve (comma-separated list) - name: limit in: query type: string description: The number of entities to retrieve - name: offset in: query type: string description: Starting index of the first entity to retrieve - name: query in: query type: string description: A query used to match specific entities - name: username in: query type: string description: The source's username (if authentified through OAuth). - name: passwordGuid in: query type: string description: The source's password Guid (if authentified through Basic Auth) - name: clientId in: query type: string description: The source's client id(if authentified through OAuth). - name: clientSecretGuid in: query type: string description: The source's client secret Guid (if authentified through OAuth). - name: oauthRefreshTokenGuid in: query type: string description: The source's refresh token Guid (if authentified through OAuth). - name: instanceUrl in: query type: string description: The source's instance Url. required: true - name: sourceType in: path type: string description: The type of the source required: true - name: organizationId in: path type: string description: The organization ID required: true - name: rest-organizations-organizationId-schema-sources-sourceType-entities-entityId path: /rest/organizations/{organizationId}/schema/sources/{sourceType}/entities/{entityId} operations: - name: getschemaentity method: GET description: Retrieves the Entity Specified with Its Fields. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: The record count filter - name: username in: query type: string description: The source's username (if authentified through OAuth). - name: passwordGuid in: query type: string description: The source's password Guid (if authentified through Basic Auth) - name: clientId in: query type: string description: The source's client id(if authentified through OAuth). - name: clientSecretGuid in: query type: string description: The source's client secret Guid (if authentified through OAuth). - name: oauthRefreshTokenGuid in: query type: string description: The source's refresh token Guid (if authentified through OAuth). - name: instanceUrl in: query type: string description: The source's instance Url. required: true - name: entityId in: path type: string description: The id of the entity required: true - name: sourceType in: path type: string description: The type of the source required: true - name: organizationId in: path type: string description: The organization ID required: true - name: rest-organizations-organizationId-schema-sources-sourceType-entities-entityId-fi path: /rest/organizations/{organizationId}/schema/sources/{sourceType}/entities/{entityId}/fields operations: - name: getschemaentityfields method: GET description: Retrieves the Specified Entity, with Its Fields in Alphabetical Order of Display Names. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: username in: query type: string description: The source's username (if authentified through OAuth). - name: passwordGuid in: query type: string description: The source's password Guid (if authentified through Basic Auth) - name: clientId in: query type: string description: The source's client id(if authentified through OAuth). - name: clientSecretGuid in: query type: string description: The source's client secret Guid (if authentified through OAuth). - name: oauthRefreshTokenGuid in: query type: string description: The source's refresh token Guid (if authentified through OAuth). - name: instanceUrl in: query type: string description: The source's instance Url. required: true - name: entityId in: path type: string description: The name of the entity required: true - name: sourceType in: path type: string description: The type of the source required: true - name: organizationId in: path type: string description: The organization ID required: true - name: rest-organizations-organizationId-schema-sources-sourceType-translate-generic path: /rest/organizations/{organizationId}/schema/sources/{sourceType}/translate/generic operations: - name: translatetogeneric method: POST description: Computes the Generic Objects to Get from a Specific Objects to Get. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: specificOTG in: body type: string description: Specific objects to get required: true - name: sourceType in: path type: string description: The type of the source required: true - name: organizationId in: path type: string description: The organization ID required: true - name: rest-organizations-organizationId-schema-sources-sourceType-translate-specific path: /rest/organizations/{organizationId}/schema/sources/{sourceType}/translate/specific operations: - name: translatetospecific method: POST description: Computes the Specific Objects to Get from a Generic Objects to Get. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: genericOTG in: body type: string description: Generic objects to get required: true - name: sourceType in: path type: string description: The type of the source required: true - name: organizationId in: path type: string description: The organization ID required: true - name: rest-organizations-organizationId-schema-sources-sourceType-translate-specificWi path: /rest/organizations/{organizationId}/schema/sources/{sourceType}/translate/specificWithMappings operations: - name: translatetospecificwithmappings method: POST description: Computes the Specific Objects to Get from a Generic Objects to Get with a List of Mapping Description outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accessTokenGuid in: query type: string description: The source's access token Guid (if authentified through access token) - name: username in: query type: string description: The source's username (if authentified through OAuth). - name: passwordGuid in: query type: string description: The source's password Guid (if authentified through Basic Auth) - name: clientId in: query type: string description: The source's client id(if authentified through OAuth). - name: clientSecretGuid in: query type: string description: The source's client secret Guid (if authentified through OAuth). - name: oauthRefreshTokenGuid in: query type: string description: The source's refresh token Guid (if authentified through OAuth). - name: instanceUrl in: query type: string description: The source's instance Url. required: true - name: sourceType in: path type: string description: The type of the source required: true - name: organizationId in: path type: string description: The organization ID required: true exposes: - type: rest namespace: schema-service-sources-rest port: 8080 description: REST adapter for Coveo Schema Service API — Sources. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organizations/{organizationid}/schema/sources/slack/validatetoken name: rest-organizations-organizationid-schema-sources-slack-validatetoken description: REST surface for rest-organizations-organizationId-schema-sources-SLACK-validateToken. operations: - method: POST name: validateslacktoken description: Validates a Slack OAuth Token call: schema-service-sources.validateslacktoken with: accessTokenGuid: rest.accessTokenGuid accessToken: rest.accessToken organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/schema/sources/{sourcetype}/defaultobjectstoget name: rest-organizations-organizationid-schema-sources-sourcetype-defaultobjectstoget description: REST surface for rest-organizations-organizationId-schema-sources-sourceType-defaultObjectsToGet. operations: - method: GET name: getdefaultobjectstoget description: Retrieves the Default Objects for a Source of Type Specified. call: schema-service-sources.getdefaultobjectstoget with: sourceType: rest.sourceType organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/schema/sources/{sourcetype}/entities name: rest-organizations-organizationid-schema-sources-sourcetype-entities description: REST surface for rest-organizations-organizationId-schema-sources-sourceType-entities. operations: - method: GET name: getschemaentities description: Retrieves the List of Entities Present in a Source, in Alphabetical Order of Display Names. call: schema-service-sources.getschemaentities with: accessTokenGuid: rest.accessTokenGuid entityIds: rest.entityIds limit: rest.limit offset: rest.offset query: rest.query username: rest.username passwordGuid: rest.passwordGuid clientId: rest.clientId clientSecretGuid: rest.clientSecretGuid oauthRefreshTokenGuid: rest.oauthRefreshTokenGuid instanceUrl: rest.instanceUrl sourceType: rest.sourceType organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/schema/sources/{sourcetype}/entities/{entityid} name: rest-organizations-organizationid-schema-sources-sourcetype-entities-entityid description: REST surface for rest-organizations-organizationId-schema-sources-sourceType-entities-entityId. operations: - method: GET name: getschemaentity description: Retrieves the Entity Specified with Its Fields. call: schema-service-sources.getschemaentity with: filter: rest.filter username: rest.username passwordGuid: rest.passwordGuid clientId: rest.clientId clientSecretGuid: rest.clientSecretGuid oauthRefreshTokenGuid: rest.oauthRefreshTokenGuid instanceUrl: rest.instanceUrl entityId: rest.entityId sourceType: rest.sourceType organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/schema/sources/{sourcetype}/entities/{entityid}/fields name: rest-organizations-organizationid-schema-sources-sourcetype-entities-entityid-fi description: REST surface for rest-organizations-organizationId-schema-sources-sourceType-entities-entityId-fi. operations: - method: GET name: getschemaentityfields description: Retrieves the Specified Entity, with Its Fields in Alphabetical Order of Display Names. call: schema-service-sources.getschemaentityfields with: username: rest.username passwordGuid: rest.passwordGuid clientId: rest.clientId clientSecretGuid: rest.clientSecretGuid oauthRefreshTokenGuid: rest.oauthRefreshTokenGuid instanceUrl: rest.instanceUrl entityId: rest.entityId sourceType: rest.sourceType organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/schema/sources/{sourcetype}/translate/generic name: rest-organizations-organizationid-schema-sources-sourcetype-translate-generic description: REST surface for rest-organizations-organizationId-schema-sources-sourceType-translate-generic. operations: - method: POST name: translatetogeneric description: Computes the Generic Objects to Get from a Specific Objects to Get. call: schema-service-sources.translatetogeneric with: specificOTG: rest.specificOTG sourceType: rest.sourceType organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/schema/sources/{sourcetype}/translate/specific name: rest-organizations-organizationid-schema-sources-sourcetype-translate-specific description: REST surface for rest-organizations-organizationId-schema-sources-sourceType-translate-specific. operations: - method: POST name: translatetospecific description: Computes the Specific Objects to Get from a Generic Objects to Get. call: schema-service-sources.translatetospecific with: genericOTG: rest.genericOTG sourceType: rest.sourceType organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/schema/sources/{sourcetype}/translate/specificwithmappings name: rest-organizations-organizationid-schema-sources-sourcetype-translate-specificwi description: REST surface for rest-organizations-organizationId-schema-sources-sourceType-translate-specificWi. operations: - method: POST name: translatetospecificwithmappings description: Computes the Specific Objects to Get from a Generic Objects to Get with a List of Mapping Description call: schema-service-sources.translatetospecificwithmappings with: accessTokenGuid: rest.accessTokenGuid username: rest.username passwordGuid: rest.passwordGuid clientId: rest.clientId clientSecretGuid: rest.clientSecretGuid oauthRefreshTokenGuid: rest.oauthRefreshTokenGuid instanceUrl: rest.instanceUrl sourceType: rest.sourceType organizationId: rest.organizationId outputParameters: - type: object mapping: $. - type: mcp namespace: schema-service-sources-mcp port: 9090 transport: http description: MCP adapter for Coveo Schema Service API — Sources. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: validates-slack-oauth-token description: Validates a Slack OAuth Token hints: readOnly: true destructive: false idempotent: false call: schema-service-sources.validateslacktoken with: accessTokenGuid: tools.accessTokenGuid accessToken: tools.accessToken organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: retrieves-default-objects-source-type description: Retrieves the Default Objects for a Source of Type Specified. hints: readOnly: true destructive: false idempotent: true call: schema-service-sources.getdefaultobjectstoget with: sourceType: tools.sourceType organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: retrieves-list-entities-present-source description: Retrieves the List of Entities Present in a Source, in Alphabetical Order of Display Names. hints: readOnly: true destructive: false idempotent: true call: schema-service-sources.getschemaentities with: accessTokenGuid: tools.accessTokenGuid entityIds: tools.entityIds limit: tools.limit offset: tools.offset query: tools.query username: tools.username passwordGuid: tools.passwordGuid clientId: tools.clientId clientSecretGuid: tools.clientSecretGuid oauthRefreshTokenGuid: tools.oauthRefreshTokenGuid instanceUrl: tools.instanceUrl sourceType: tools.sourceType organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: retrieves-entity-specified-its-fields description: Retrieves the Entity Specified with Its Fields. hints: readOnly: true destructive: false idempotent: true call: schema-service-sources.getschemaentity with: filter: tools.filter username: tools.username passwordGuid: tools.passwordGuid clientId: tools.clientId clientSecretGuid: tools.clientSecretGuid oauthRefreshTokenGuid: tools.oauthRefreshTokenGuid instanceUrl: tools.instanceUrl entityId: tools.entityId sourceType: tools.sourceType organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: retrieves-specified-entity-its-fields description: Retrieves the Specified Entity, with Its Fields in Alphabetical Order of Display Names. hints: readOnly: true destructive: false idempotent: true call: schema-service-sources.getschemaentityfields with: username: tools.username passwordGuid: tools.passwordGuid clientId: tools.clientId clientSecretGuid: tools.clientSecretGuid oauthRefreshTokenGuid: tools.oauthRefreshTokenGuid instanceUrl: tools.instanceUrl entityId: tools.entityId sourceType: tools.sourceType organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: computes-generic-objects-get-specific description: Computes the Generic Objects to Get from a Specific Objects to Get. hints: readOnly: true destructive: false idempotent: false call: schema-service-sources.translatetogeneric with: specificOTG: tools.specificOTG sourceType: tools.sourceType organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: computes-specific-objects-get-generic description: Computes the Specific Objects to Get from a Generic Objects to Get. hints: readOnly: true destructive: false idempotent: false call: schema-service-sources.translatetospecific with: genericOTG: tools.genericOTG sourceType: tools.sourceType organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: computes-specific-objects-get-generic-2 description: Computes the Specific Objects to Get from a Generic Objects to Get with a List of Mapping Description hints: readOnly: true destructive: false idempotent: false call: schema-service-sources.translatetospecificwithmappings with: accessTokenGuid: tools.accessTokenGuid username: tools.username passwordGuid: tools.passwordGuid clientId: tools.clientId clientSecretGuid: tools.clientSecretGuid oauthRefreshTokenGuid: tools.oauthRefreshTokenGuid instanceUrl: tools.instanceUrl sourceType: tools.sourceType organizationId: tools.organizationId outputParameters: - type: object mapping: $.