> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rownd.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create an OpenID Connect client

> Platform API for creating an OIDC client for an application



## OpenAPI

````yaml POST /applications/{app}/oidc-clients
openapi: 3.1.0
info:
  title: Rownd API
  version: 1.0.0
servers:
  - url: https://api.rownd.io
    description: Rownd production environment
  - url: https://api.us-east-2.dev.rownd.io
    description: Rownd development environment
security:
  - hubAccessTokenForRowndApi: []
tags:
  - name: applications
  - name: application_creds
  - name: application_schemas
paths:
  /applications/{app}/oidc-clients:
    parameters:
      - $ref: '#/components/parameters/AppID'
      - $ref: '#/components/parameters/PageSizeMax1000'
      - $ref: '#/components/parameters/After'
      - $ref: '#/components/parameters/Sort'
    post:
      tags:
        - oidc
      description: Platform API for creating an OIDC client for an application
      operationId: application_oidc_client_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OIDCClientCreateRequest'
      responses:
        '200':
          description: OIDC client created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OIDCClient'
      security:
        - appKey: []
          appSecret: []
        - hubAccessTokenForRowndApi: []
components:
  parameters:
    AppID:
      name: app
      in: path
      schema:
        type: string
      required: true
      description: Rownd application ID
    PageSizeMax1000:
      name: page_size
      in: query
      schema:
        type: integer
      description: Number of resources to return per query. Max is 1000.
    After:
      name: after
      in: query
      schema:
        type: string
      description: >
        ID of the last resource in the previous page. If provided, the next page
        of results is

        returned beginning with this resource ID.
    Sort:
      name: sort
      in: query
      schema:
        type: string
        enum:
          - asc
          - desc
      description: Which direction to sort the results
  schemas:
    OIDCClientCreateRequest:
      required:
        - name
      properties:
        name:
          type: string
          description: Name of the OIDC client
          example: Example OIDC Provider
        description:
          type: string
          description: Description of the OIDC client
          example: Example OIDC Provider
        config:
          $ref: '#/components/schemas/OIDCClientConfigurationConfig'
    OIDCClient:
      properties:
        id:
          type: string
          description: Unique identifier for the OIDC client
          example: oidc_client_ck9c1glf0100001l2f7z8z9z9
        app_id:
          type: string
          description: Application identifier associated with the OIDC client
          example: app_ckl8bcf1g000001l2f7z8z9z9
        name:
          type: string
          description: Name of the OIDC client
          example: Example OIDC Provider
        description:
          type: string
          description: Description of the OIDC client
          example: Example OIDC Provider
        config:
          $ref: '#/components/schemas/OIDCClientConfigurationConfig'
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
        credentials:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationCredential'
          description: Credentials associated with the OIDC client
    OIDCClientConfigurationConfig:
      additionalProperties: true
      properties:
        allowed_origins:
          type: array
          items:
            type: string
          description: Allowed origins for the OIDC client
          example:
            - https://example.com
        redirect_uris:
          type: array
          items:
            type: string
          description: Redirect URIs supported by the OIDC client
          example:
            - https://example.com/callback
        post_logout_uris:
          type: array
          items:
            type: string
          description: Post logout URIs for the OIDC client
          example:
            - https://example.com/logout
        logo_uri:
          type: string
          description: URI of the logo for the OIDC client
          example: >-
            https://storage.rownd.io/logo-oidc-client-app_1234_oidcc_5667-filename.png
          x-rownd-modifiers:
            - name: rewriteAssetUrl
              phase: response
        logo_dark_mode_uri:
          type: string
          description: URI of the logo for the OIDC client in dark mode
          example: >-
            https://storage.rownd.io/logo-oidc-client-app_1234_oidcc_5667-filename.png
          x-rownd-modifiers:
            - name: rewriteAssetUrl
              phase: response
        allowed_scopes:
          type: array
          items:
            type: string
          description: Scopes supported by the OIDC client
          example:
            - openid
            - profile
            - email
        hub_title:
          type: string
          description: Title of the hub
          example: Sign in to My App with Another App
        hub_dark_mode:
          type: string
          enum:
            - enabled
            - disabled
            - auto
          description: Dark mode setting for the hub
          example: enabled
        hub_show_logos:
          type: boolean
          description: Whether to show the logos in the hub
          example: true
        is_pkce_supported:
          type: boolean
          description: Whether PKCE is supported for the OIDC client
          example: true
    CreatedAt:
      type: string
      format: date-time
      readOnly: true
      description: The ISO 8601 date-time that the resource was created
    UpdatedAt:
      type: string
      format: date-time
      readOnly: true
      description: The ISO 8601 date-time that the resource was updated
    ApplicationCredential:
      required:
        - name
      properties:
        name:
          type: string
          description: Name of the application credential
          example: Production API Key
        client_id:
          type: string
          readOnly: true
          description: Unique identifier for the credential
        secret:
          type: string
          readOnly: true
          description: Secret key used for authentication
        expires:
          type: string
          format: date-time
          description: Expiration date and time of the credential
          example: '2024-12-31T23:59:59Z'
        application:
          type: string
          readOnly: true
          description: ID of the application this credential belongs to
          example: app_k3y1qwerty12345
        app_variant_id:
          type: string
          description: ID of the application variant
          example: variant_fgy1qw367fty121lm
        oidc_client_configuration_id:
          type: string
          description: ID of the OIDC client configuration
          example: oidcc_k3y1qwerty12345
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
  securitySchemes:
    hubAccessTokenForRowndApi:
      type: http
      scheme: bearer
      description: >
        Bearer authentication header of the form `Bearer <token>` where
        `<token>` is your Rownd JWT
    appKey:
      type: apiKey
      in: header
      name: x-rownd-app-key
      description: >-
        The publishable key of your application credentials. ([more
        details](/configuration/app-credentials#appkey))
    appSecret:
      type: apiKey
      in: header
      name: x-rownd-app-secret
      description: >-
        The private secret of your application credentials. ([more
        details](/configuration/app-credentials#appsecret))

````