naftiko: 1.0.0-alpha2 info: label: Sumo Logic API — oauthManagement description: 'Sumo Logic API — oauthManagement. 9 operations. Lead operation: List The OAuth Clients.. Self-contained Naftiko capability covering one Sumo Logic business surface.' tags: - Sumo Logic - oauthManagement created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SUMO_LOGIC_API_KEY: SUMO_LOGIC_API_KEY capability: consumes: - type: http namespace: sumo-logic-oauthmanagement baseUri: https://api.au.sumologic.com/api description: Sumo Logic API — oauthManagement business capability. Self-contained, no shared references. resources: - name: v1-oauth-clients path: /v1/oauth/clients operations: - name: listoauthclients method: GET description: List The OAuth Clients. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Limit the number of OAuth clients returned in the response. The number of OAuth clients returned may be less than the `limit`. - name: token in: query type: string description: Continuation token to get the next page of results. A page object with the next continuation token is returned in the response body. Subsequent GET requests sh - name: runAsId in: query type: string description: Identifier of the service account that the OAuth Client runs as. - name: createoauthclient method: POST description: Create A New OAuth Client. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-oauth-clients-clientId path: /v1/oauth/clients/{clientId} operations: - name: getoauthclientbyid method: GET description: Get An OAuth Client. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clientId in: path type: string description: Identifier of an OAuth client to return. required: true - name: updateoauthclient method: PUT description: Update An OAuth Client. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clientId in: path type: string description: The id of an OAuth client to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteoauthclient method: DELETE description: Delete An OAuth Client. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clientId in: path type: string description: The Id of the OAuth client to delete. required: true - name: v1-oauth-clients-clientId-rotate path: /v1/oauth/clients/{clientId}/rotate operations: - name: rotateoauthsecret method: PUT description: Rotate The Oauth Client Secret outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clientId in: path type: string description: The ID of the oauth client to rotate the secret for. required: true - name: v1-oauth-consents path: /v1/oauth/consents operations: - name: listoauthconsents method: GET description: List OAuth Consents. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Limit the number of consents returned in the response. - name: token in: query type: string description: Continuation token to get the next page of results. - name: authorizedUser in: query type: string description: Filter consents by the identifier of the user who authorized the consent. - name: clientId in: query type: string description: Filter consents by the clientId of a registered OAuth client. - name: v1-oauth-consents-consentId path: /v1/oauth/consents/{consentId} operations: - name: deleteoauthconsent method: DELETE description: Delete An OAuth Consent. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: consentId in: path type: string description: The ID of the OAuth consent to delete. required: true - name: v1-oauth-scopes path: /v1/oauth/scopes operations: - name: listoauthscopes method: GET description: Get All Scopes. outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: basic username: '{{env.SUMO_LOGIC_USER}}' password: '{{env.SUMO_LOGIC_PASS}}' exposes: - type: rest namespace: sumo-logic-oauthmanagement-rest port: 8080 description: REST adapter for Sumo Logic API — oauthManagement. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/oauth/clients name: v1-oauth-clients description: REST surface for v1-oauth-clients. operations: - method: GET name: listoauthclients description: List The OAuth Clients. call: sumo-logic-oauthmanagement.listoauthclients with: limit: rest.limit token: rest.token runAsId: rest.runAsId outputParameters: - type: object mapping: $. - method: POST name: createoauthclient description: Create A New OAuth Client. call: sumo-logic-oauthmanagement.createoauthclient with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/oauth/clients/{clientid} name: v1-oauth-clients-clientid description: REST surface for v1-oauth-clients-clientId. operations: - method: GET name: getoauthclientbyid description: Get An OAuth Client. call: sumo-logic-oauthmanagement.getoauthclientbyid with: clientId: rest.clientId outputParameters: - type: object mapping: $. - method: PUT name: updateoauthclient description: Update An OAuth Client. call: sumo-logic-oauthmanagement.updateoauthclient with: clientId: rest.clientId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteoauthclient description: Delete An OAuth Client. call: sumo-logic-oauthmanagement.deleteoauthclient with: clientId: rest.clientId outputParameters: - type: object mapping: $. - path: /v1/v1/oauth/clients/{clientid}/rotate name: v1-oauth-clients-clientid-rotate description: REST surface for v1-oauth-clients-clientId-rotate. operations: - method: PUT name: rotateoauthsecret description: Rotate The Oauth Client Secret call: sumo-logic-oauthmanagement.rotateoauthsecret with: clientId: rest.clientId outputParameters: - type: object mapping: $. - path: /v1/v1/oauth/consents name: v1-oauth-consents description: REST surface for v1-oauth-consents. operations: - method: GET name: listoauthconsents description: List OAuth Consents. call: sumo-logic-oauthmanagement.listoauthconsents with: limit: rest.limit token: rest.token authorizedUser: rest.authorizedUser clientId: rest.clientId outputParameters: - type: object mapping: $. - path: /v1/v1/oauth/consents/{consentid} name: v1-oauth-consents-consentid description: REST surface for v1-oauth-consents-consentId. operations: - method: DELETE name: deleteoauthconsent description: Delete An OAuth Consent. call: sumo-logic-oauthmanagement.deleteoauthconsent with: consentId: rest.consentId outputParameters: - type: object mapping: $. - path: /v1/v1/oauth/scopes name: v1-oauth-scopes description: REST surface for v1-oauth-scopes. operations: - method: GET name: listoauthscopes description: Get All Scopes. call: sumo-logic-oauthmanagement.listoauthscopes outputParameters: - type: object mapping: $. - type: mcp namespace: sumo-logic-oauthmanagement-mcp port: 9090 transport: http description: MCP adapter for Sumo Logic API — oauthManagement. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-oauth-clients description: List The OAuth Clients. hints: readOnly: true destructive: false idempotent: true call: sumo-logic-oauthmanagement.listoauthclients with: limit: tools.limit token: tools.token runAsId: tools.runAsId outputParameters: - type: object mapping: $. - name: create-new-oauth-client description: Create A New OAuth Client. hints: readOnly: false destructive: false idempotent: false call: sumo-logic-oauthmanagement.createoauthclient with: body: tools.body outputParameters: - type: object mapping: $. - name: get-oauth-client description: Get An OAuth Client. hints: readOnly: true destructive: false idempotent: true call: sumo-logic-oauthmanagement.getoauthclientbyid with: clientId: tools.clientId outputParameters: - type: object mapping: $. - name: update-oauth-client description: Update An OAuth Client. hints: readOnly: false destructive: false idempotent: true call: sumo-logic-oauthmanagement.updateoauthclient with: clientId: tools.clientId body: tools.body outputParameters: - type: object mapping: $. - name: delete-oauth-client description: Delete An OAuth Client. hints: readOnly: false destructive: true idempotent: true call: sumo-logic-oauthmanagement.deleteoauthclient with: clientId: tools.clientId outputParameters: - type: object mapping: $. - name: rotate-oauth-client-secret description: Rotate The Oauth Client Secret hints: readOnly: false destructive: false idempotent: true call: sumo-logic-oauthmanagement.rotateoauthsecret with: clientId: tools.clientId outputParameters: - type: object mapping: $. - name: list-oauth-consents description: List OAuth Consents. hints: readOnly: true destructive: false idempotent: true call: sumo-logic-oauthmanagement.listoauthconsents with: limit: tools.limit token: tools.token authorizedUser: tools.authorizedUser clientId: tools.clientId outputParameters: - type: object mapping: $. - name: delete-oauth-consent description: Delete An OAuth Consent. hints: readOnly: false destructive: true idempotent: true call: sumo-logic-oauthmanagement.deleteoauthconsent with: consentId: tools.consentId outputParameters: - type: object mapping: $. - name: get-all-scopes description: Get All Scopes. hints: readOnly: true destructive: false idempotent: true call: sumo-logic-oauthmanagement.listoauthscopes outputParameters: - type: object mapping: $.