---
title: "Social login via OAuth provider"
method: POST
path: "/api/v1/auth/login/{provider}"
tags: ["Auth"]
---

# Social login via OAuth provider

`POST /api/v1/auth/login/{provider}`

## Request

- Base URL: `https://api.flexiple.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.flexiple.com/api/v1/auth/login/{provider}`
- Auth: none declared

## Request body

- object
  - `code` string, required
  - `code_verifier` string
  - `signup_intent` 'client' | 'talent'

## Response `200`

Login successful

- object
  - `data` AccountUserWithDetail, required
    - `id` integer, required
    - `email` string, required
    - `role` 'client' | 'talent' | 'admin', required
    - `first_name` string, nullable, required
    - `last_name` string, nullable, required
    - `full_name` string, required
    - `deleted` boolean, required
    - `onboarding_step` 'registered' | 'intent_selected' | 'details_submitted' | 'completed', required
    - `dismissed_hints` string[], required
    - `confirmed` boolean, required
    - `unconfirmed_email` string, nullable, required
    - `password_set` boolean, required
    - `token` string
    - `client_account` ClientAccount
      - `id` integer, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `booked_call_for` string
      - `client_type` 'services' | 'product', required
      - `time_zone` string, required
      - `company_id` integer
      - `company_name` string
      - `company` NewCompanyWithDetail
        - `id` integer, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
        - `name` string, required
        - `primary_domain` string, nullable, required
        - `description` string, nullable, required
        - `slug` string, required
        - `website` string, required
        - `logo_url` string
        - `location` Location
          - `id` integer, required
          - `osm_id` integer, nullable, required
          - `osm_type` string, nullable, required
          - `city` string, nullable, required
          - `state` string, nullable, required
          - `country` string, nullable, required
          - `country_code` string, nullable, required
          - `formatted` string, required
          - `location_type` 'country' | 'state' | 'city', required
        - `industries` string[], required
        - `company_types` string[], required
        - `business_models` string[], required
        - `about` string
        - `team_members` object[], required
          - `name` string, required
          - `designation` string, required
          - `linkedin_url` string, nullable
        - `one_liner` string
        - `other_info` string
        - `team_size` string
        - `client_account_id` integer
        - `investors` string[], required
        - `funding_rounds_list` object[], required
          - `date` string, nullable
          - `type` string, nullable
          - `amount` number, nullable
          - `currency` string, nullable
          - `investors` string[], required
    - `booked_call_for` string
    - `cal_booking_uid` string
    - `client_user_role` 'admin' | 'member', required
    - `approval_status` 'pending' | 'invited' | 'approved' | 'rejected', required
    - `new_user` boolean
    - `signup_source` string
    - `phone_number` object
      - `number` string, required
      - `country_code` string, required
    - `talent_profile` TalentProfile
      - `id` string, required
      - `first_name` string, nullable, required
      - `last_name` string, nullable, required
      - `profile_type` string, required
      - `deleted` boolean, required
      - `expected_ctc` object
        - `amount` number, required
        - `currency` string, required
        - `display_scale` number, required
        - `display_unit` string, required
        - `formatted_amount` number, required
        - `formatted` string, required
      - `gender` 'male' | 'female' | 'null', nullable, required
      - `unlocked` boolean, required
      - `linkedin_url` string
      - `months_of_experience` integer, nullable, required
      - `notice_period_days` string
      - `current_ctc` object
        - `amount` number, required
        - `currency` string, required
        - `display_scale` number, required
        - `display_unit` string, required
        - `formatted_amount` number, required
        - `formatted` string, required
      - `overridden_fields` string[], required
      - `original_values` object
        - `current_ctc` object, nullable
          - `amount` number, required
          - `currency` string, required
          - `display_scale` number, required
          - `display_unit` string, required
          - `formatted_amount` number, required
          - `formatted` string, required
        - `notice_period_exact` number, nullable
      - `location` Location, required
        - `id` integer, required
        - `osm_id` integer, nullable, required
        - `osm_type` string, nullable, required
        - `city` string, nullable, required
        - `state` string, nullable, required
        - `country` string, nullable, required
        - `country_code` string, nullable, required
        - `formatted` string, required
        - `location_type` 'country' | 'state' | 'city', required
      - `resume_parsing` boolean, required
      - `active` boolean
  - `meta` object, nullable

---

[API](https://skmtc.dev/flexiple/apis/flexiple-platform-api-v1.md) - [All operations](https://skmtc.dev/flexiple/apis/flexiple-platform-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/flexiple/apis/flexiple-platform-api-v1/revisions/27e7987859f2?raw)
