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

# Forgot password

> **/auth/forgotpassword**

<Note>
  This endpoint requires authentication. Include your Bearer token in the Authorization header.
</Note>

## Description

**/auth/forgotpassword**

**Description:**\
The /auth/forgotpassword endpoint allows users to initiate the process of resetting their password by providing their email address. An optional redirect URL can also be provided to redirect users after initiating the password reset process.

**Method:**\
`POST`

**Request Payload:**

| Parameter                  | Type   | Description                                                                  |
| -------------------------- | ------ | ---------------------------------------------------------------------------- |
| email                      | string | The email address of the user.                                               |
| redirect\_url *(Optional)* | string | The URL to redirect the user to after initiating the password reset process. |

**Response**

Returns JWT token on success, should be used as bearer authorization token when calling `/resetpassword`

> See examples below

## Code Examples

<CodeGroup>
  ```javascript Node.js theme={null}
  const response = await fetch('https://api.royalti.io/auth/forgotpassword', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${token}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      "email": "sample-email",
      "redirect_url": "sample-redirect_url"
    })
  });

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
    'https://api.royalti.io/auth/forgotpassword',
    headers={
      'Authorization': f'Bearer {token}'
    },
    json={"email":"sample-email","redirect_url":"sample-redirect_url"}
  )

  data = response.json()
  print(data)
  ```

  ```bash cURL theme={null}
  curl -X POST https://api.royalti.io/auth/forgotpassword \
    -H "Authorization: Bearer YOUR_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"email":"sample-email","redirect_url":"sample-redirect_url"}'

  ```
</CodeGroup>


## OpenAPI

````yaml post /auth/forgotpassword
openapi: 3.0.0
info:
  title: Royalti.io API
  description: "# Royalti API\r\n\r\nThis is the Royalti music royalty management platform API server.\r\n\r\n## Overview\r\n\r\nThe Royalti API provides comprehensive music royalty management services including:\r\n- Music publishing and writer management\r\n- Royalty processing and analytics\r\n- DDEX integration for music industry standards\r\n- File processing and pattern recognition\r\n- Payment processing and distribution\r\n\r\n## Authentication\r\n\r\nThe API uses JWT-based authentication with multiple protection levels:\r\n- Public endpoints for basic operations\r\n- Protected endpoints requiring valid JWT tokens\r\n- Admin endpoints for administrative functions\r\n\r\n## Features\r\n\r\n- Multi-dimensional royalty analytics\r\n- CWR (Collective Works Registration) support\r\n- DDEX integration for music metadata\r\n- Advanced file processing with pattern recognition\r\n- Real-time data processing with queue system"
  version: 2.6.0
  contact:
    name: Royalti.io Support
    email: support@royalti.io
    url: https://royalti.io
  license:
    name: Proprietary
    url: https://royalti.io/terms
servers:
  - url: https://api.royalti.io
    description: Production server
  - url: https://api-dev.royalti.io
    description: Development server
  - url: http://localhost:8084
    description: Local development
security:
  - bearerAuth: []
tags:
  - name: Accounting
    description: Accounting and financial transaction operations
  - name: DDEX
    description: DDEX operations (ERN/MEAD, messages, delivery, providers)
  - name: Label
    description: Label management operations
  - name: Internal Webhooks
    description: Internal system webhooks for royalty processing and downloads
  - name: Payment Webhooks
    description: Payment processor webhook endpoints
  - name: Billing Webhooks
    description: Stripe billing and subscription webhooks
  - name: Infrastructure Webhooks
    description: Cloudflare domain and SSL webhooks
  - name: Distribution Webhooks
    description: Digital distribution platform webhooks (FUGA)
paths:
  /auth/forgotpassword:
    post:
      tags:
        - Auth
      summary: Forgot password
      description: >-
        **/auth/forgotpassword**


        **Description:**  

        The /auth/forgotpassword endpoint allows users to initiate the process
        of resetting their password by providing their email address. An
        optional redirect URL can also be provided to redirect users after
        initiating the password reset process.


        **Method:**  

        `POST`


        **Request Payload:**


        | Parameter | Type | Description |

        | --- | --- | --- |

        | email | string | The email address of the user. |

        | redirect_url _(Optional)_ | string | The URL to redirect the user to
        after initiating the password reset process. |


        **Response**


        Returns JWT token on success, should be used as bearer authorization
        token when calling `/resetpassword`


        > See examples below
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  format: email
                  description: The email address of the user
                redirect_url:
                  type: string
                  description: >-
                    The URL to redirect the user to after initiating the
                    password reset process
              required:
                - email
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  access_token:
                    type: string
              example:
                message: Successful, Password reset code sent to users email
                access_token: >-
                  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA5NDExZGQ5LTQxNzYtNGRhMC1hZDA2LTk1MjdhNTIzZmE1ZSIsImVtYWlsIjoibW9sdW5vcmljaGllQGdtYWlsLmNvbSIsInJvbGUiOiJhcnRpc3QiLCJpYXQiOjE2Njk2OTM2MTEsImV4cCI6MTY2OTcxNTIxMX0.KmJDppTUIfaSy5SzwKcW8fjiJKY9dx9kYaX-0c4jcn8
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details:
              type: array
              items:
                type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT Authorization header using the Bearer scheme. Format: "Bearer
        {token}"

````