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

# Upsert auth provider

> Create or update an auth provider for the app



## OpenAPI

````yaml /swagger.json post /v1/apps/{app_id}/auth_providers
openapi: 3.0.1
info:
  title: Scute API
  version: v1
  description: API for managing users in Scute applications
servers:
  - url: https://{defaultHost}
    variables:
      defaultHost:
        default: api.scute.io
  - url: http://localhost:3333
    description: Development server
security:
  - apiSecret: []
    userAccess: []
paths:
  /v1/apps/{app_id}/auth_providers:
    parameters:
      - name: app_id
        in: path
        required: true
        description: App ID
        schema:
          type: string
    post:
      tags:
        - Auth Providers
      summary: Upsert auth provider
      description: Create or update an auth provider for the app
      operationId: upsertAuthProvider
      parameters: []
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  auth_provider:
                    $ref: '#/components/schemas/AuthProvider'
        '422':
          description: validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
      security:
        - apiSecret: []
components:
  schemas:
    AuthProvider:
      type: object
      properties:
        id:
          type: string
          description: Auth provider ID
        slug:
          type: string
          description: Provider identifier (e.g., google, slack)
        client_id:
          type: string
          description: OAuth client ID
        client_secret:
          type: string
          description: OAuth client secret
        enabled:
          type: boolean
          description: Whether the provider is enabled
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
      required:
        - id
        - slug
  securitySchemes:
    apiSecret:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: API Secret token
    userAccess:
      type: apiKey
      name: X-Authorization
      in: header
      description: User Access token

````