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

# Set the client credentials of a connector provider

> Store the client credentials of an app registered by hand for the discovered provider ``provider_id``.

The credentials are stored for one sign-in service the provider's server lists: ``issuer`` when
given (400 when the server does not list it), else the one the provider's manual client is already
stored for while the server still lists it; with neither, a 400 ``connector-client-issuer-required``
naming the listed ones — the secret is never sent to a sign-in service nobody chose. Only a
discovered provider that names no env client takes stored credentials.



## OpenAPI

````yaml /openapi.json put /api/connectors/providers/{provider_id}/client
openapi: 3.1.0
info:
  description: >-
    The operator HTTP surface served under /api/*. The platform's core routes.
    Plugin routes are published by each plugin.
  title: tai42-skeleton API
  version: 23.0.0
servers: []
security: []
paths:
  /api/connectors/providers/{provider_id}/client:
    put:
      tags:
        - connectors
      summary: Set the client credentials of a connector provider
      description: >-
        Store the client credentials of an app registered by hand for the
        discovered provider ``provider_id``.


        The credentials are stored for one sign-in service the provider's server
        lists: ``issuer`` when

        given (400 when the server does not list it), else the one the
        provider's manual client is already

        stored for while the server still lists it; with neither, a 400
        ``connector-client-issuer-required``

        naming the listed ones — the secret is never sent to a sign-in service
        nobody chose. Only a

        discovered provider that names no env client takes stored credentials.
      operationId: put_api_connectors_providers_provider_id_client
      parameters:
        - in: path
          name: provider_id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetConnectorClientRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/ProviderMutationResponse'
                required:
                  - data
                type: object
          description: Success.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Malformed request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or invalid api key.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Resource not found.
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error.
      security:
        - ApiKeyAuth: []
components:
  schemas:
    SetConnectorClientRequest:
      description: >-
        Store the client credentials of an app registered by hand for a
        discovered provider.
      properties:
        client_id:
          minLength: 1
          title: Client Id
          type: string
        client_secret:
          anyOf:
            - format: password
              type: string
              writeOnly: true
            - type: 'null'
          default: null
          title: Client Secret
        issuer:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Issuer
        token_endpoint_auth_method:
          anyOf:
            - enum:
                - client_secret_post
                - client_secret_basic
                - none
              type: string
            - type: 'null'
          default: null
          title: Token Endpoint Auth Method
      required:
        - client_id
      title: SetConnectorClientRequest
      type: object
    ProviderMutationResponse:
      description: >-
        The provider's catalog entry after a change, and the fleet report of the
        manifest write it made.
      properties:
        fanout:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          default: null
          title: Fanout
        provider:
          $ref: '#/components/schemas/ProviderCatalogEntry'
      required:
        - provider
      title: ProviderMutationResponse
      type: object
    Error:
      properties:
        code:
          description: >-
            Stable machine-readable reason a client keys a dedicated error state
            on, present on refusals that opt in (e.g. a 501 not-configured
            refusal). Optional: absent when the error carries only a
            human-readable message.
          type: string
        error:
          type: string
      required:
        - error
      type: object
    ProviderCatalogEntry:
      description: Wire view of one provider offered in the connector catalog.
      properties:
        category:
          title: Category
          type: string
        client_source:
          anyOf:
            - enum:
                - env
                - manual
                - dynamic
                - unset
              type: string
            - type: 'null'
          default: null
          title: Client Source
        config_fields:
          items:
            $ref: '#/components/schemas/ConfigFieldSpec'
          title: Config Fields
          type: array
        description:
          default: ''
          title: Description
          type: string
        display_name:
          title: Display Name
          type: string
        icon_url:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Icon Url
        id:
          title: Id
          type: string
        kind:
          enum:
            - oauth
            - none
          title: Kind
          type: string
        origin:
          enum:
            - system
            - community
          title: Origin
          type: string
        removable:
          default: false
          title: Removable
          type: boolean
        sub_services:
          items:
            $ref: '#/components/schemas/SubServiceView'
          title: Sub Services
          type: array
      required:
        - id
        - display_name
        - kind
        - origin
        - category
        - sub_services
      title: ProviderCatalogEntry
      type: object
    ConfigFieldSpec:
      description: >-
        One client-supplied static config value for a no-auth provider.


        ``target`` picks the injection channel and MUST match the server
        transport

        (``env`` for stdio, ``header`` for http/websocket). ``secret`` flags a
        value

        masked in the UI and never logged; ``required`` gates connect-time
        validation.
      properties:
        key:
          title: Key
          type: string
        label:
          minLength: 1
          title: Label
          type: string
        required:
          default: true
          title: Required
          type: boolean
        secret:
          default: false
          title: Secret
          type: boolean
        target:
          enum:
            - env
            - header
          title: Target
          type: string
      required:
        - key
        - label
        - target
      title: ConfigFieldSpec
      type: object
    SubServiceView:
      description: Wire view of one sub-service offered by a provider in the catalog.
      properties:
        description:
          default: ''
          title: Description
          type: string
        display_name:
          title: Display Name
          type: string
        id:
          title: Id
          type: string
        scopes:
          items:
            type: string
          title: Scopes
          type: array
      required:
        - id
        - display_name
      title: SubServiceView
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.