Descope Keys API

The Keys API from Descope — 2 operation(s) for keys.

OpenAPI Specification

descope-keys-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Descope Apps Keys API
  description: Descope API
  contact:
    name: Descope
    url: https://descope.com
    email: support@descope.com
  version: 0.0.1
servers:
- url: https://api.descope.com
  description: Descope Production
- url: '{customUrl}'
  description: Custom server URL
  variables:
    customUrl:
      default: https://api.descope.com
      description: Your Descope API base URL
security:
- Descope Project ID: []
  Descope Project ID:Refresh JWT: []
  Descope Project ID:Session JWT: []
  Descope Project ID and Management Key: []
  Descope Project ID:Access Key: []
tags:
- name: Keys
paths:
  /v1/keys/{projectId}:
    get:
      tags:
      - Keys
      summary: Token Validation Key (V1)
      description: '### Get public key for session token validation (V1)


        This API endpoint will return the public key needed to handle the session token JWT validation.

        `projectId` is provided as a GET parameter, so this endpoint can be executed with a browser.'
      operationId: GetKeys
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: certs
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sessionv1.JWKSResponse'
      x-publishYaml: sessionGetKeys
      x-order: 1
      security: []
      x-meta:
        title: Token Validation Key (V1) | Session Get Keys
        description: Get public key for session token validation (V1)
        keywords: api, session get keys
  /v2/keys/{projectId}:
    get:
      tags:
      - Keys
      summary: Token Validation Key (V2)
      description: '### Get public key for session token validation (V2)


        This API endpoint will return the public key needed to handle the session token JWT validation.

        `projectId` is provided as a GET parameter, so this endpoint can be executed with a browser.


        This endpoint differentiates from [Token Validation Key (V1)](/api/session/get-keys)

        as the data is returned in JSON format rather than an array.'
      operationId: GetKeysV2
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: certs
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sessionv1.JWKSResponseV2'
      x-publishYaml: sessionGetKeys
      x-order: 1
      security: []
      x-meta:
        title: Token Validation Key (V2) | Session Get Keys
        description: Get public key for session token validation (V2)
        keywords: api, session get keys
components:
  schemas:
    sessionv1.JWKSResponse:
      type: object
      properties:
        alg:
          type: string
        e:
          type: string
        kid:
          type: string
        kty:
          type: string
        n:
          type: string
        use:
          type: string
    sessionv1.JWKSResponseV2:
      type: object
      properties:
        keys:
          type: array
          items:
            $ref: '#/components/schemas/sessionv1.JWKSResponse'
  securitySchemes:
    Descope Project ID:
      type: http
      scheme: bearer
      bearerFormat: Project ID
      description: Project ID as bearer token.
    Descope Project ID:Refresh JWT:
      type: http
      scheme: bearer
      bearerFormat: Project ID:Refresh JWT
      description: Project ID:Refresh JWT as bearer token.
    Descope Project ID:Access Key:
      type: http
      scheme: bearer
      bearerFormat: ProjectId:AccessKey
      description: Project ID:Access Key as bearer token.
    Descope Project ID:Session JWT:
      type: http
      scheme: bearer
      bearerFormat: Project ID:Session JWT
      description: Project ID:Session JWT as bearer token.
    Descope Project ID and Management Key:
      type: http
      description: Project ID:Management Key as bearer token.
      scheme: bearer
      bearerFormat: ProjectId:ManagementKey
externalDocs:
  description: Descope Server
  url: https://docs.descope.com