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

# Create Open Id Connection

> Registers a relationship between a title and an Open ID Connect provider.

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| ValueAlreadyExists | 1031 |




## OpenAPI

````yaml /services/playfab/api-references/rest/admin/admin.openapi.json post /Admin/CreateOpenIdConnection
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Admin API
  description: >-
    APIs for managing title configurations, uploaded Game Server code
    executables, and user data
  termsOfService: https://playfab.com/terms/
  contact:
    url: https://community.playfab.com/index.html
  license:
    name: Apache 2.0
    url: https://github.com/PlayFab/API_Specs/blob/master/LICENSE
servers:
  - url: https://{titleId}.playfabapi.com
    description: PlayFab title endpoint
    variables:
      titleId:
        default: your_title_id
        description: Your PlayFab title ID (hex).
security: []
tags:
  - name: Account Management
    description: Account Management APIs
  - name: Authentication
    description: Authentication APIs
  - name: Characters
    description: Characters APIs
  - name: Content
    description: Content Service APIs
  - name: Custom Server Management
    description: Custom Server Management APIs
  - name: Matchmaking
    description: Matchmaking APIs
  - name: Player Data Management
    description: Player Data Management APIs
  - name: Player Item Management
    description: Player Item Management APIs
  - name: PlayStream
    description: PlayStream Management APIs
  - name: ScheduledTask
    description: Task management APIs
  - name: Segments
    description: Segment management APIs
  - name: Server-Side Cloud Script
    description: Server-Side Cloud Script APIs
  - name: Shared Group Data
    description: Shared Group Data APIs
  - name: Title-Wide Data Management
    description: Title-Wide Data Management APIs
  - name: Xbox Store
    description: Xbox Store APIs
paths:
  /Admin/CreateOpenIdConnection:
    post:
      tags:
        - Authentication
      summary: Create Open Id Connection
      description: >
        Registers a relationship between a title and an Open ID Connect
        provider.


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | ValueAlreadyExists | 1031 |
      operationId: CreateOpenIdConnection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOpenIdConnectionRequest'
      responses:
        '200':
          $ref: '#/components/responses/EmptyResponse'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SecretKey: []
components:
  schemas:
    CreateOpenIdConnectionRequest:
      type: object
      properties:
        ClientId:
          description: The client ID given by the ID provider.
          type: string
        ClientSecret:
          description: The client secret given by the ID provider.
          type: string
        ConnectionId:
          description: A name for the connection that identifies it within the title.
          type: string
        IgnoreNonce:
          description: Ignore 'nonce' claim in identity tokens.
          type: boolean
        IssuerDiscoveryUrl:
          description: >-
            The discovery document URL to read issuer information from. This
            must be the absolute URL to the JSON OpenId Configuration document
            and must be accessible from the internet. If you don't know it, try
            your issuer URL followed by "/.well-known/openid-configuration". For
            example, if the issuer is https://example.com, try
            https://example.com/.well-known/openid-configuration
          type: string
        IssuerInformation:
          allOf:
            - $ref: '#/components/schemas/OpenIdIssuerInformation'
          description: Manually specified information for an OpenID Connect issuer.
        IssuerOverride:
          description: Override the issuer name for user indexing and lookup.
          type: string
      required:
        - ConnectionId
        - ClientId
        - ClientSecret
      example:
        ConnectionId: oidconnection1
        ClientId: example_id_1
        ClientSecret: example_secret_1
        IssuerInformation:
          Issuer: https://issuer.example.com/
          AuthorizationUrl: https://issuer.example.com/authorize
          TokenUrl: https://issuer.example.com/oauth2/token
          JsonWebKeySet:
            keys:
              - ...
        IssuerOverride: https://issueroverride.example.com/
        IgnoreNonce: true
    OpenIdIssuerInformation:
      type: object
      properties:
        AuthorizationUrl:
          description: Authorization endpoint URL to direct users to for signin.
          type: string
        Issuer:
          description: >-
            The URL of the issuer of the tokens. This must match the exact URL
            of the issuer field in tokens.
          type: string
        JsonWebKeySet:
          description: JSON Web Key Set for validating the signature of tokens.
          type: object
        TokenUrl:
          description: Token endpoint URL for code verification.
          type: string
      required:
        - Issuer
        - AuthorizationUrl
        - TokenUrl
        - JsonWebKeySet
    EmptyResponse:
      type: object
      properties: {}
    ApiErrorWrapper:
      description: The basic wrapper around every failed API response
      type: object
      properties:
        code:
          description: Numerical HTTP code
          type: integer
        status:
          description: String HTTP code
          type: string
        error:
          description: Playfab error code
          type: string
        errorCode:
          description: Numerical PlayFab error code
          type: integer
        errorMessage:
          description: Description for the PlayFab errorCode
          type: string
        errorDetails:
          description: Detailed description of individual issues with the request object
          type: object
      required:
        - code
        - errorCode
  responses:
    EmptyResponse:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: integer
                description: >-
                  The Http status code. If X-ReportErrorAsSuccess header is set
                  to true, this will report the actual http error code.
              status:
                type: string
                description: The Http status code as a string.
              data:
                $ref: '#/components/schemas/EmptyResponse'
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  securitySchemes:
    SecretKey:
      type: apiKey
      in: header
      name: X-SecretKey
      description: >-
        This API requires a title secret key, available to title admins, from
        PlayFab Game Manager.

````

## Related topics

- [Create OpenId Connection](/services/playfab/api-references/rest/admin/authentication/create-openid-connection.md)
- [List Open Id Connection](/api-reference/authentication/list-open-id-connection.md)
- [Update Open Id Connection](/api-reference/authentication/update-open-id-connection.md)
- [Delete Open Id Connection](/api-reference/authentication/delete-open-id-connection.md)
- [List OpenId Connection](/services/playfab/api-references/rest/admin/authentication/list-openid-connection.md)
