---
title: "Signin User"
method: GET
path: "/api/v1/auth"
tags: ["Authentication"]
---

# Signin User

`GET /api/v1/auth`

## Request

- Base URL: `https://mockupper.damdafa.com/mockupper`
- URL: `https://mockupper.damdafa.com/mockupper/api/v1/auth`
- Auth: HTTP bearer

Sign in user and get user information.

This is an authentication endpoint. Returns user profile from Firestore.
Provider is determined from X-Provider-Id header (firebase, google, apple).
Automatically determines the Firebase service (yzfoto/avukatim) from the token.

## Query parameters

- `serverAuthCode` string, nullable
- `firebaseUserId` string, required
- `name` string, nullable
- `familyName` string, nullable
- `email` string, nullable

## Headers

- `X-Provider-Id` 'firebase' | 'google' | 'apple'
- `X-Device-Id` string, nullable

## Response `200`

Successful Response

- UserWrapperResponse: Wrapper response containing user data. Maintains consistency with Flask API structure while leveraging FastAPI's automatic validation and documentation.
  - `user` UserResponse, required: User information response schema.
    - `providerId` 'firebase' | 'google' | 'apple', required
    - `uid` string, required: Firebase user ID
    - `email` string, nullable: User email address
    - `emailVerified` boolean, nullable: Indicates if the user's email is verified
    - `displayName` string, nullable: User display name
    - `name` string, nullable: User's name
    - `familyName` string, nullable: User's last name
    - `profilePhoto` string, nullable: Profile photo URL
    - `avatar` string, nullable: Avatar seed or string identifier
    - `fcmToken` string, nullable: FCM token for push notifications
    - `phoneNumber` string, nullable: User's phone number
    - `credits` object, nullable: User credits balance
    - `settings` unknown
    - `privacy` unknown
    - `notifications` unknown
    - `verification` unknown
    - `gender` 'male' | 'female': Gender values.
    - `subscriptions` UserSubscriptionSchema[]: User's subscriptions
      - `isActive` boolean, required
      - `expiresAt` union
        - integer
        - number
        - string
        - string, date-time
      - `productId` string, required
      - `transactionId` string, nullable
      - `createdAt` union
        - integer
        - number
        - string
        - string, date-time
      - `updatedAt` union
        - integer
        - number
        - string
        - string, date-time
    - `activeSubscriptions` string[], nullable: List of active subscription product IDs (computed field, not stored in DB)
    - `isPremium` boolean, nullable: Indicates if the user has any active subscriptions (computed field, not stored in DB)
    - `hasTriggeredSalesNotification` boolean, nullable: Whether the user has triggered a sales notification on first launch
    - `createdAt` string, nullable: Timestamp when the user was created
    - `updatedAt` string, nullable: Timestamp when the user was last updated

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/damdafa/apis/mockupper-api.md) · [All operations](https://skmtc.dev/damdafa/apis/mockupper-api/llms.txt) · [OpenAPI document](https://skmtc.dev/damdafa/apis/mockupper-api/revisions/5713d43bfed1?raw)
