> ## 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 username(email) and password



## OpenAPI

````yaml https://api.probedev.com/frontend/api/v1/openapi.json?include-base-path=true&v=2025-07-30 post /frontend/api/v1/auth/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/sign-in:
    post:
      tags:
        - Auth
      summary: Authenticate user by username(email) and password
      operationId: routes/auth.PostSignIn
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthPostSignInRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FormDataAuthPostSignInRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthPostSignInResponse'
components:
  schemas:
    AuthPostSignInRequest:
      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
        password:
          format: password
          maxLength: 72
          minLength: 6
          type: string
        ret-url:
          description: Login return URL
          format: url
          type:
            - 'null'
            - string
      required:
        - email
      type: object
    FormDataAuthPostSignInRequest:
      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
        password:
          format: password
          maxLength: 72
          minLength: 6
          type: string
        ret-url:
          description: Login return URL
          format: url
          type:
            - 'null'
            - string
      required:
        - email
      type: object
    AuthPostSignInResponse:
      properties:
        api-token:
          examples:
            - xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
          type: string
        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
    AuthJWTToken:
      properties:
        expire:
          examples:
            - '2024-11-01T16:39:02Z'
          format: date-time
          type: string
        token:
          examples:
            - >-
              xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy.zzzzzzzzzzzzzzzzzzz-zzzzzzzzzzzzzzzzzzzzzzz
          type: string
      type: object
    AuthOAuthProviderToken:
      properties:
        provider:
          description: OAuth provider name
          type: string
        token:
          description: Token
          type: string
      required:
        - provider
        - token
      type: object
    UsercommonStatus:
      enum:
        - anonymous
        - pending
        - active
        - suspended
      type: string

````