---
title: Auth
full: true
_openapi:
  toc:
    - depth: 2
      title: '`POST /v1/auth/login` — verify credentials.'
      url: '#post-v1authlogin--verify-credentials'
    - depth: 2
      title: '`POST /v1/auth/password` — change an existing user''s password.'
      url: '#post-v1authpassword--change-an-existing-users-password'
    - depth: 2
      title: '`POST /v1/auth/signup` — create a new account.'
      url: '#post-v1authsignup--create-a-new-account'
  structuredData:
    headings:
      - content: '`POST /v1/auth/login` — verify credentials.'
        id: post-v1authlogin--verify-credentials
      - content: '`POST /v1/auth/password` — change an existing user''s password.'
        id: post-v1authpassword--change-an-existing-users-password
      - content: '`POST /v1/auth/signup` — create a new account.'
        id: post-v1authsignup--create-a-new-account
    contents:
      - content: |-
          The caller must demonstrate knowledge of the current password by
          including it in the request. tl-server does not issue per-user
          session tokens (see `docs/concept/authorization.md`); the
          current-password check is what proves account ownership here.
        heading: post-v1authpassword--change-an-existing-users-password
---

{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}

<APIPage document={"../../docs/openapi.yaml"} webhooks={[]} operations={[{"path":"/v1/auth/login","method":"post"},{"path":"/v1/auth/password","method":"post"},{"path":"/v1/auth/signup","method":"post"}]} showTitle showDescription />