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

# Authenticate user by oauth provider token



## OpenAPI

````yaml https://api.probedev.com/frontend/api/v1/openapi.json?include-base-path=true&v=2025-07-30 post /frontend/api/v1/auth/oauth-sign-in
openapi: 3.1.0
info:
  title: 'Probe.dev API Version: v1'
  description: Probe.dev API.
  version: v1.0
servers:
  - url: https://{host}
    variables:
      host:
        enum:
          - api.probe.dev
        default: api.probedev.com
        description: Server Hostname
security: []
tags:
  - name: Media
  - name: Auth
  - name: User
  - name: Billing
  - name: Statistics
paths:
  /frontend/api/v1/auth/oauth-sign-in:
    post:
      tags:
        - Auth
      summary: Authenticate user by oauth provider token
      operationId: routes/auth.PostOAuthSignIn
      parameters:
        - name: oauth-provider-name
          in: cookie
          schema:
            type: string
        - name: oauth-email
          in: cookie
          schema:
            type: string
        - name: oauth-provider-token
          in: cookie
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthPostOAuthSignInRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FormDataAuthPostOAuthSignInRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthPostOAuthSignInResponse'
components:
  schemas:
    AuthPostOAuthSignInRequest:
      properties:
        check-auth:
          type: boolean
        current-user:
          description: Currently logged in user email
          format: email
          type:
            - 'null'
            - string
        email:
          format: email
          maxLength: 255
          minLength: 5
          type: string
        logout-other:
          default: false
          description: Invalidate other sessions
          type: boolean
        long-term-token:
          default: true
          description: Expire JWT token in 2 weeks if true and in 3 hours if false
          type: boolean
        oauth-provider-token:
          $ref: '#/components/schemas/AuthOAuthProviderToken'
          description: Token for connected OAuth account
        ret-url:
          description: Login return URL
          format: url
          type:
            - 'null'
            - string
      type: object
    FormDataAuthPostOAuthSignInRequest:
      properties:
        current-user:
          description: Currently logged in user email
          format: email
          type:
            - 'null'
            - string
        email:
          format: email
          maxLength: 255
          minLength: 5
          type: string
        logout-other:
          default: false
          description: Invalidate other sessions
          type: boolean
        long-term-token:
          default: true
          description: Expire JWT token in 2 weeks if true and in 3 hours if false
          type: boolean
        oauth-token:
          $ref: '#/components/schemas/FormDataAuthOAuthProviderToken'
          description: Token for connected OAuth account
        ret-url:
          description: Login return URL
          format: url
          type:
            - 'null'
            - string
      type: object
    AuthPostOAuthSignInResponse:
      properties:
        api-token:
          examples:
            - xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
          type: string
        check-auth-result:
          $ref: '#/components/schemas/AuthPostOAuthSignInCheckAuthResult'
        current-user:
          type:
            - 'null'
            - string
        email:
          type: string
        jwt-token:
          $ref: '#/components/schemas/AuthJWTToken'
        oauth-provider-tokens:
          items:
            $ref: '#/components/schemas/AuthOAuthProviderToken'
          type: array
        ret-url:
          type:
            - 'null'
            - string
        status:
          $ref: '#/components/schemas/UsercommonStatus'
        user-id:
          minimum: 0
          type: integer
      type: object
    AuthOAuthProviderToken:
      properties:
        provider:
          description: OAuth provider name
          type: string
        token:
          description: Token
          type: string
      required:
        - provider
        - token
      type: object
    FormDataAuthOAuthProviderToken:
      properties:
        provider:
          description: OAuth provider name
          type: string
        token:
          description: Token
          type: string
      required:
        - provider
        - token
      type: object
    AuthPostOAuthSignInCheckAuthResult:
      properties:
        message:
          type: string
        ok:
          type: boolean
      type: object
    AuthJWTToken:
      properties:
        expire:
          examples:
            - '2024-11-01T16:39:02Z'
          format: date-time
          type: string
        token:
          examples:
            - >-
              xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy.zzzzzzzzzzzzzzzzzzz-zzzzzzzzzzzzzzzzzzzzzzz
          type: string
      type: object
    UsercommonStatus:
      enum:
        - anonymous
        - pending
        - active
        - suspended
      type: string

````