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

# Login For Access Token

> Authenticate a user and issue a JWT access token based on valid credentials.

### Parameters:
- `form_data` (OAuth2PasswordRequestForm): The form data containing the username and password.

### Returns:
- `OAuth2Token`: An object containing the access token and token type for the authenticated user.



## OpenAPI

````yaml https://api.loyalty.dog/openapi.json post /v2/token
openapi: 3.1.0
info:
  title: LoyaltyDog
  description: >-

    Welcome to the LoyaltyDog API! This API provides access to our loyalty
    program features, allowing you to integrate with various platforms and
    manage your loyalty data.


    Want to query LoyaltyDog via an AI assistant (Claude, Cursor, Windsurf)? See
    the [MCP Integration guide](https://loyaltydog.ai/playground#mcp).
        
  termsOfService: https://loyalty.dog/loyalty-program-terms-service
  contact:
    name: LoyaltyDog Support
    url: https://loyalty.dog/contact-us
    email: support@loyalty.dog
  version: 1.0.1
servers:
  - url: https://api.loyalty.dog
    description: Production
security:
  - bearerAuth: []
paths:
  /v2/token:
    post:
      tags:
        - Token
      summary: Login For Access Token
      description: >-
        Authenticate a user and issue a JWT access token based on valid
        credentials.


        ### Parameters:

        - `form_data` (OAuth2PasswordRequestForm): The form data containing the
        username and password.


        ### Returns:

        - `OAuth2Token`: An object containing the access token and token type
        for the authenticated user.
      operationId: login_for_access_token_v2_token_post
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_login_for_access_token_v2_token_post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuth2Token'
        '401':
          description: Invalid authentication credentials.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security: []
components:
  schemas:
    Body_login_for_access_token_v2_token_post:
      properties:
        grant_type:
          anyOf:
            - type: string
              pattern: ^password$
            - type: 'null'
          title: Grant Type
        username:
          type: string
          title: Username
        password:
          type: string
          format: password
          title: Password
        scope:
          type: string
          title: Scope
          default: ''
        client_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Client Id
        client_secret:
          anyOf:
            - type: string
            - type: 'null'
          format: password
          title: Client Secret
      type: object
      required:
        - username
        - password
      title: Body_login_for_access_token_v2_token_post
    OAuth2Token:
      properties:
        accessToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Accesstoken
        tokenType:
          type: string
          title: Tokentype
          default: bearer
        mfaPending:
          type: boolean
          title: Mfapending
          default: false
        pendingToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Pendingtoken
      type: object
      title: OAuth2Token
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token obtained from POST /v2/token.

````