---
title: "Username/Password Login"
method: POST
path: "/user/login/"
tags: ["Users"]
---

# Username/Password Login

`POST /user/login/`

## Request

- Base URL: `http://api.cannoli.app/api/v1`
- URL: `http://api.cannoli.app/api/v1/user/login/`
- Auth: none declared

## Request body

- LoginUser
  - `username` string, required
  - `password` string, required

## Response `201`

Created

- LoginResponse
  - `user` User, required
    - `id` integer
    - `username` string: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
    - `first_name` string
    - `last_name` string
    - `email` string, email
    - `figma_email` string, email
    - `avatar` string, uri, nullable
    - `default_font` integer, nullable
    - `is_pro_user` string
    - `is_team_user` string
    - `can_create_more_files` string
    - `is_vip` string
    - `teams` Team[], required
      - `id` integer
      - `name` string, required
      - `organization` string
      - `owner` string
      - `permission` string
      - `logo` string, uri, nullable
      - `can_add_more_members` string
      - `projects` Project[]
        - `id` integer
        - `name` string, required
        - `team_id` string
        - `team_name` string
        - `created_at` string, date-time
        - `last_updated_at` string, date-time
    - `team_subscriptions` Subscription[], required
      - `id` integer
      - `seats` integer
      - `tier` 'F' | 'P' | 'T'
      - `status` 'A' | 'O' | 'P' | 'C'
      - `current_period_start` string, date-time, nullable
      - `current_period_end` string, date-time, nullable
      - `team` integer, nullable
      - `user` integer, nullable
    - `subscriptions` Subscription, required
      - `id` integer
      - `seats` integer
      - `tier` 'F' | 'P' | 'T'
      - `status` 'A' | 'O' | 'P' | 'C'
      - `current_period_start` string, date-time, nullable
      - `current_period_end` string, date-time, nullable
      - `team` integer, nullable
      - `user` integer, nullable
    - `trial_end_date` string, date-time
    - `trial_start_date` string, date-time
    - `has_valid_trial` string
    - `trial_days_left` string
    - `is_elegible_for_trial` string
  - `token` string, required

---

[API](https://skmtc.dev/cannoli/apis/cannoli-backend-api.md) - [All operations](https://skmtc.dev/cannoli/apis/cannoli-backend-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cannoli/apis/cannoli-backend-api/revisions/d27aef14fd7a?raw)
