Solo.io OAUTH Credentials API

OAuth credential management endpoints

OpenAPI Specification

solo-io-oauth-credentials-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Portal Backend OAUTH Credentials API
  description: API for the gateway developer portal backend server
  version: 1.0.0
servers:
- url: /v1
  description: API v1 base path
tags:
- name: oauth-credentials
  description: OAuth credential management endpoints
paths:
  /apps/{appID}/oauth-credentials:
    get:
      summary: Get app OAuth credential
      description: Returns the OAuth credential for an application (without the client secret)
      operationId: GetAppOAuthCredential
      tags:
      - oauth-credentials
      security:
      - bearerAuth: []
      - identityToken: []
      - accessToken: []
      parameters:
      - name: appID
        in: path
        description: Application ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OAuth credential (without secret)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthCredential'
        '401':
          description: Authentication required
        '404':
          description: App or credential not found
        '500':
          description: Internal server error
    post:
      summary: Create app OAuth credential
      description: Creates a new OAuth credential for an application. The client secret is only returned once at creation time.
      operationId: CreateAppOAuthCredential
      tags:
      - oauth-credentials
      security:
      - bearerAuth: []
      - identityToken: []
      - accessToken: []
      parameters:
      - name: appID
        in: path
        description: Application ID
        required: true
        schema:
          type: string
      responses:
        '201':
          description: OAuth credential created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthCredentialWithSecret'
        '401':
          description: Authentication required
        '404':
          description: App not found
        '409':
          description: Credential already exists (one per app)
        '500':
          description: Internal server error
  /oauth-credentials/{credentialID}:
    delete:
      summary: Delete OAuth credential
      description: Deletes an OAuth credential by ID
      operationId: DeleteOAuthCredential
      tags:
      - oauth-credentials
      security:
      - bearerAuth: []
      - identityToken: []
      - accessToken: []
      parameters:
      - name: credentialID
        in: path
        description: OAuth Credential ID
        required: true
        schema:
          type: string
      responses:
        '204':
          description: OAuth credential deleted
        '401':
          description: Authentication required
        '500':
          description: Internal server error
components:
  schemas:
    OAuthCredential:
      type: object
      description: OAuth credential information (without the client secret)
      required:
      - id
      - idpClientId
      - idpClientName
      properties:
        id:
          type: string
          description: Unique OAuth credential identifier
        idpClientId:
          type: string
          description: OAuth client ID
        idpClientName:
          type: string
          description: OAuth client display name
    OAuthCredentialWithSecret:
      type: object
      description: OAuth credential with the client secret (only returned at creation time)
      required:
      - id
      - idpClientId
      - idpClientSecret
      - idpClientName
      properties:
        id:
          type: string
          description: Unique OAuth credential identifier
        idpClientId:
          type: string
          description: OAuth client ID
        idpClientSecret:
          type: string
          description: OAuth client secret (only returned at creation time)
        idpClientName:
          type: string
          description: OAuth client display name
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token passed in the Authorization header
    identityToken:
      type: apiKey
      in: cookie
      name: id_token
      description: id_token cookie set by the identity provider after OIDC login
    accessToken:
      type: apiKey
      in: cookie
      name: access_token
      description: access_token cookie set by the identity provider after OIDC login