## Endpoints by Category

### Ads

| Method | Path             | Description                                                   |
| ------ | ---------------- | ------------------------------------------------------------- |
| POST   | `/api/ads/user`  | Create or update an AdsUser record for the authenticated user |
| POST   | `/api/ads/user/` | Create or update an AdsUser record for the authenticated user |

### App_version_update

| Method | Path                       | Description         |
| ------ | -------------------------- | ------------------- |
| POST   | `/api/app_version_update`  | Get Version Updates |
| POST   | `/api/app_version_update/` | Get Version Updates |

                                                              |

### C

| Method | Path           | Description   |
| ------ | -------------- | ------------- |
| POST   | `/api/c/check` | Check Captcha |

### Challenge

| Method | Path                      | Description                  |
| ------ | ------------------------- | ---------------------------- |
| GET    | `/api/challenge/progress` | Get User Challenges Progress |

### Clip

| Method | Path                                   | Description               |
| ------ | -------------------------------------- | ------------------------- |
| GET    | `/api/clip/{clip_id}`                  | Get Clip 2                |
| GET    | `/api/clip/{clip_id}/`                 | Get Clip 2                |
| GET    | `/api/clip/{clip_id}/active-listeners` | Get Clip Active Listeners |

### Clips

| Method | Path                                       | Description                                                                                       |
| ------ | ------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| GET    | `/api/clips/{clip_id}/mux`                 | Download and mux video and audio for a clip, returning the muxed file.                            |
| GET    | `/api/clips/{clip_id}/mux/`                | Download and mux video and audio for a clip, returning the muxed file.                            |
| POST   | `/api/clips/{clip_id}/set_remix_type`      | Set the remix type for a clip.                                                                    |
| POST   | `/api/clips/{clip_id}/set_remix_type/`     | Set the remix type for a clip.                                                                    |
| POST   | `/api/clips/{clip_id}/toggle_remixes`      | Toggle whether remixes are allowed for a clip.                                                    |
| POST   | `/api/clips/{clip_id}/toggle_remixes/`     | Toggle whether remixes are allowed for a clip.                                                    |
| POST   | `/api/clips/{clip_id}/toggle_show_remixes` | Toggle whether remixes are shown for a user's own clip.                                           |
| POST   | `/api/clips/adjust-speed`                  | Adjust the speed of a clip.                                                                       |
| POST   | `/api/clips/adjust-speed/`                 | Adjust the speed of a clip.                                                                       |
| GET    | `/api/clips/aligned_clip_siblings`         | Find all clips owned by the current user that have matching ClipAlignment data to the given clip. |
| GET    | `/api/clips/aligned_clips`                 | Get Aligned Clips                                                                                 |
| POST   | `/api/clips/autoplay`                      | Autoplay                                                                                          |
| POST   | `/api/clips/autoplay/`                     | Autoplay                                                                                          |
| GET    | `/api/clips/children`                      | find child clips for the given clip ID                                                            |
| GET    | `/api/clips/children/`                     | find child clips for the given clip ID                                                            |
| GET    | `/api/clips/clip_prompts/`                 | Get Clip Prompts                                                                                  |
| POST   | `/api/clips/delete`                        | Handle the deletion of clips specified by their IDs.                                              |
| POST   | `/api/clips/delete/`                       | Handle the deletion of clips specified by their IDs.                                              |
| GET    | `/api/clips/direct_children`               | Get immediate children of the given clip ID with pagination.                                      |
| GET    | `/api/clips/direct_children_by_user`       | Get immediate children of the given clip ID grouped by user with pagination.                      |
| GET    | `/api/clips/direct_children_by_user/`      | Get immediate children of the given clip ID grouped by user with pagination.                      |
| GET    | `/api/clips/direct_children_count`         | Get count of immediate children for the given clip ID.                                            |
| GET    | `/api/clips/direct_children_count/`        | Get count of immediate children for the given clip ID.                                            |
| GET    | `/api/clips/direct_children/`              | Get immediate children of the given clip ID with pagination.                                      |
| GET    | `/api/clips/get_similar`                   | find similar public songs to the given clip ids.                                                  |
| GET    | `/api/clips/get_similar/`                  | find similar public songs to the given clip ids.                                                  |
| GET    | `/api/clips/get_songs_by_ids`              | Retrieve Songs By Ids                                                                             |
| GET    | `/api/clips/parent`                        | Get the parent clip for a given clip ID using the ClipParent table.                               |
| GET    | `/api/clips/parent/`                       | Get the parent clip for a given clip ID using the ClipParent table.                               |
| GET    | `/api/clips/preview_clips/{styles}`        | Get Preview Clips For Styles                                                                      |
| POST   | `/api/clips/set_all_remix_permissions`     | Set remix permissions for all public clips owned by the requesting user.                          |
| POST   | `/api/clips/set_all_remix_permissions/`    | Set remix permissions for all public clips owned by the requesting user.                          |
| GET    | `/api/clips/trashed_v2`                    | Get Trashed Clips V2                                                                              |
| GET    | `/api/clips/trashed_v2/`                   | Get Trashed Clips V2                                                                              |
| POST   | `/api/clips/update_similar`                | Update Similar                                                                                    |
| POST   | `/api/clips/update_similar/`               | Update Similar                                                                                    |
| GET    | `/api/clips/user_remixes_for_clip`         | Get all remixes by a specific user for a given clip.                                              |
| GET    | `/api/clips/user_remixes_for_clip/`        | Get all remixes by a specific user for a given clip.                                              |

### Contests

| Method | Path                                                        | Description              |
| ------ | ----------------------------------------------------------- | ------------------------ |
| GET    | `/api/contests/`                                            | Get All Contests         |
| GET    | `/api/contests/contest_clips`                               | Get Contest Clips        |
| GET    | `/api/contests/contest_clips/`                              | Get Contest Clips        |
| DELETE | `/api/contests/contest/{contest_id}`                        | Remove Contest           |
| DELETE | `/api/contests/contest/{contest_id}/`                       | Remove Contest           |
| POST   | `/api/contests/create_contest`                              | Create Contest           |
| POST   | `/api/contests/create_contest/`                             | Create Contest           |
| GET    | `/api/contests/is_contest_clip/{clip_id}`                   | Is Contest Clip          |
| GET    | `/api/contests/is_contest_clip/{clip_id}/`                  | Is Contest Clip          |
| GET    | `/api/contests/random_contest_clips/{contest_id}`           | Get Random Contest Clips |
| GET    | `/api/contests/random_contest_clips/{contest_id}/`          | Get Random Contest Clips |
| POST   | `/api/contests/submit_contest_clip/{clip_id}/{contest_id}`  | Submit Contest Clip      |
| POST   | `/api/contests/submit_contest_clip/{clip_id}/{contest_id}/` | Submit Contest Clip      |
| GET    | `/api/contests/top_k_contest_clips/{contest_id}/{k}`        | Get Top K Contest Clips  |
| GET    | `/api/contests/top_k_contest_clips/{contest_id}/{k}/`       | Get Top K Contest Clips  |
| GET    | `/api/contests/votes`                                       | Get All Votes            |
| GET    | `/api/contests/votes/`                                      | Get All Votes            |
| POST   | `/api/contests/votes/place_vote`                            | Place Vote               |
| POST   | `/api/contests/votes/place_vote/`                           | Place Vote               |

### Count_reacted_beta_gens

| Method | Path                            | Description                                                                             |
| ------ | ------------------------------- | --------------------------------------------------------------------------------------- |
| GET    | `/api/count_reacted_beta_gens`  | Count the number of completed clips created by the current user that are marked as beta |
| GET    | `/api/count_reacted_beta_gens/` | Count the number of completed clips created by the current user that are marked as beta |

### Discover

| Method | Path                                     | Description                                         |
| ------ | ---------------------------------------- | --------------------------------------------------- |
| POST   | `/api/discover`                          | Get homepage sections with timeout                  |
| POST   | `/api/discover/`                         | Get homepage sections with timeout                  |
| GET    | `/api/discover/sections/{section_name}`  | api get request for 'Discover' section of Homepage  |
| GET    | `/api/discover/sections/{section_name}/` | api get request for 'Discover' section of Homepage  |
| GET    | `/api/discover/shortcuts_songs`          | api get request for 'Discover' section of shortcuts |

### Edit

| Method | Path                                 | Description       |
| ------ | ------------------------------------ | ----------------- |
| GET    | `/api/edit/action/{action_clip_id}`  | Get Action Status |
| GET    | `/api/edit/action/{action_clip_id}/` | Get Action Status |
| POST   | `/api/edit/crop/{clip_id}`           | Crop Clip         |
| POST   | `/api/edit/crop/{clip_id}/`          | Crop Clip         |
| POST   | `/api/edit/fade/{clip_id}`           | Fade Clip         |
| POST   | `/api/edit/fade/{clip_id}/`          | Fade Clip         |
| POST   | `/api/edit/speed/{clip_id}`          | Change Clip Speed |
| POST   | `/api/edit/speed/{clip_id}/`         | Change Clip Speed |
| POST   | `/api/edit/stems/{clip_id}`          | Stem Clip         |
| POST   | `/api/edit/stems/{clip_id}/`         | Stem Clip         |

### Feed

| Method | Path            | Description |
| ------ | --------------- | ----------- |
| GET    | `/api/feed`     | Get Feed    |
| GET    | `/api/feed/`    | Get Feed    |
| GET    | `/api/feed/v2`  | Get Feed V2 |
| GET    | `/api/feed/v2/` | Get Feed V2 |
| POST   | `/api/feed/v3`  | Get Feed V3 |

### Feedback

| Method | Path             | Description |
| ------ | ---------------- | ----------- |
| POST   | `/api/feedback`  | Write       |
| POST   | `/api/feedback/` | Write       |

### Gen

| Method | Path                                        | Description                                                                |
| ------ | ------------------------------------------- | -------------------------------------------------------------------------- |
| GET    | `/api/gen/{clip_id}/aligned_lyrics`         | Get Aligned Lyrics                                                         |
| GET    | `/api/gen/{clip_id}/aligned_lyrics/`        | Get Aligned Lyrics                                                         |
| POST   | `/api/gen/{clip_id}/aligned_lyrics/v2`      | Regenerate Aligned Lyrics                                                  |
| POST   | `/api/gen/{clip_id}/aligned_lyrics/v2/`     | Regenerate Aligned Lyrics                                                  |
| POST   | `/api/gen/{clip_id}/aligned_lyrics/v3`      | Do Aligned Lyrics V3                                                       |
| POST   | `/api/gen/{clip_id}/aligned_lyrics/v3/`     | Do Aligned Lyrics V3                                                       |
| POST   | `/api/gen/{clip_id}/comment`                | Add a comment to a clip.                                                   |
| POST   | `/api/gen/{clip_id}/comment/`               | Add a comment to a clip.                                                   |
| GET    | `/api/gen/{clip_id}/comments`               | Get comments for a clip.                                                   |
| GET    | `/api/gen/{clip_id}/comments/`              | Get comments for a clip.                                                   |
| GET    | `/api/gen/{clip_id}/comments/count`         | Get the count of comments for a clip.                                      |
| GET    | `/api/gen/{clip_id}/comments/count/`        | Get the count of comments for a clip.                                      |
| POST   | `/api/gen/{clip_id}/convert_opus`           | Generate Opus File                                                         |
| POST   | `/api/gen/{clip_id}/convert_opus/`          | Generate Opus File                                                         |
| POST   | `/api/gen/{clip_id}/convert_wav`            | Generate Wav File                                                          |
| POST   | `/api/gen/{clip_id}/convert_wav/`           | Generate Wav File                                                          |
| GET    | `/api/gen/{clip_id}/downbeats`              | Get Cached Value                                                           |
| GET    | `/api/gen/{clip_id}/downbeats/`             | Get Cached Value                                                           |
| GET    | `/api/gen/{clip_id}/instruments`            | Get Cached Value                                                           |
| GET    | `/api/gen/{clip_id}/instruments/`           | Get Cached Value                                                           |
| GET    | `/api/gen/{clip_id}/key`                    | Get Cached Value                                                           |
| GET    | `/api/gen/{clip_id}/key/`                   | Get Cached Value                                                           |
| GET    | `/api/gen/{clip_id}/midi`                   | Get Cached Value                                                           |
| GET    | `/api/gen/{clip_id}/midi/`                  | Get Cached Value                                                           |
| GET    | `/api/gen/{clip_id}/opus_file`              | Get Clip Opus File                                                         |
| GET    | `/api/gen/{clip_id}/opus_file/`             | Get Clip Opus File                                                         |
| GET    | `/api/gen/{clip_id}/time-sync-comments`     | Get time-synchronized comments for a clip.                                 |
| GET    | `/api/gen/{clip_id}/time-sync-comments/`    | Get time-synchronized comments for a clip.                                 |
| POST   | `/api/gen/{clip_id}/toggle_comments`        | Set allow_comments on a GeneratedClip. User must own clip.                 |
| POST   | `/api/gen/{clip_id}/toggle_comments/`       | Set allow_comments on a GeneratedClip. User must own clip.                 |
| GET    | `/api/gen/{clip_id}/wav_file`               | Get Clip Wav File                                                          |
| GET    | `/api/gen/{clip_id}/wav_file/`              | Get Clip Wav File                                                          |
| POST   | `/api/gen/{gen_id}/increment_action_count`  | Increment action count                                                     |
| POST   | `/api/gen/{gen_id}/increment_action_count/` | Increment action count                                                     |
| POST   | `/api/gen/{gen_id}/increment_play_count`    | Increment play count on UserReaction (and associated Generatedclip).       |
| POST   | `/api/gen/{gen_id}/increment_play_count/`   | Increment play count on UserReaction (and associated Generatedclip).       |
| POST   | `/api/gen/{gen_id}/increment_play_count/v2` | Increment Play Count With Spec                                             |
| POST   | `/api/gen/{gen_id}/increment_skip_count`    | Increment skip count on UserReaction (and associated Generatedclip).       |
| POST   | `/api/gen/{gen_id}/increment_skip_count/`   | Increment skip count on UserReaction (and associated Generatedclip).       |
| POST   | `/api/gen/{gen_id}/like`                    | Like Gen                                                                   |
| POST   | `/api/gen/{gen_id}/like/`                   | Like Gen                                                                   |
| POST   | `/api/gen/{gen_id}/set_artist_clip_id`      | Set artist_clip_id in the metadata of a GeneratedClip. User must own clip. |
| POST   | `/api/gen/{gen_id}/set_artist_clip_id/`     | Set artist_clip_id in the metadata of a GeneratedClip. User must own clip. |
| POST   | `/api/gen/{gen_id}/set_clip_prompt`         | Set the metadata of a GeneratedClip. User must own clip.                   |
| POST   | `/api/gen/{gen_id}/set_clip_prompt/`        | Set the metadata of a GeneratedClip. User must own clip.                   |
| POST   | `/api/gen/{gen_id}/set_configurations`      | Set configurations in the metadata of a GeneratedClip. User must own clip. |
| POST   | `/api/gen/{gen_id}/set_configurations/`     | Set configurations in the metadata of a GeneratedClip. User must own clip. |
| POST   | `/api/gen/{gen_id}/set_cover_clip_id`       | Set cover_clip_id in the metadata of a GeneratedClip. User must own clip.  |
| POST   | `/api/gen/{gen_id}/set_cover_clip_id/`      | Set cover_clip_id in the metadata of a GeneratedClip. User must own clip.  |
| POST   | `/api/gen/{gen_id}/set_display_tags`        | Set the displayed tags of a GeneratedClip. User must own clip.             |
| POST   | `/api/gen/{gen_id}/set_metadata`            | Set the metadata of a GeneratedClip. User must own clip.                   |
| POST   | `/api/gen/{gen_id}/set_metadata/`           | Set the metadata of a GeneratedClip. User must own clip.                   |
| POST   | `/api/gen/{gen_id}/set_video_cover`         | Set video cover in the metadata of a GeneratedClip. User must own clip.    |
| POST   | `/api/gen/{gen_id}/set_visibility`          | Set is_public visibility on a GeneratedClip. User must own clip.           |
| POST   | `/api/gen/{gen_id}/set_visibility/`         | Set is_public visibility on a GeneratedClip. User must own clip.           |
| POST   | `/api/gen/{gen_id}/share_asset`             | Generate a sharable asset for a song.                                      |
| POST   | `/api/gen/{gen_id}/share_asset/`            | Generate a sharable asset for a song.                                      |
| GET    | `/api/gen/{gen_id}/share_asset/{asset_id}`  | Get the status of a share asset.                                           |
| GET    | `/api/gen/{gen_id}/share_asset/{asset_id}/` | Get the status of a share asset.                                           |
| POST   | `/api/gen/{gen_id}/update_feedback_state`   | Update feedback state on UserReaction.                                     |
| POST   | `/api/gen/{gen_id}/update_feedback_state/`  | Update feedback state on UserReaction.                                     |
| POST   | `/api/gen/{gen_id}/update_flag_state`       | Update flag state on UserReaction (and associated Generatedclip).          |
| POST   | `/api/gen/{gen_id}/update_flag_state/`      | Update flag state on UserReaction (and associated Generatedclip).          |
| POST   | `/api/gen/{gen_id}/update_reaction_type`    | Update reaction type on UserReaction (and associated GeneratedClip).       |
| POST   | `/api/gen/{gen_id}/update_reaction_type/`   | Update reaction type on UserReaction (and associated GeneratedClip).       |
| POST   | `/api/gen/bulk_increment_play_counts/v2`    | Bulk Increment Play Counts With Spec                                       |
| POST   | `/api/gen/increment_action_counts`          | Increment action count for multiple clips                                  |
| POST   | `/api/gen/increment_action_counts/`         | Increment action count for multiple clips                                  |
| POST   | `/api/gen/prompt_image`                     | Prompt Image                                                               |
| POST   | `/api/gen/prompt_image/`                    | Prompt Image                                                               |
| POST   | `/api/gen/trash`                            | Move or remove a generated clip from trash.                                |
| POST   | `/api/gen/trash/`                           | Move or remove a generated clip from trash.                                |

### Generate

| Method | Path                                                 | Description                                          |
| ------ | ---------------------------------------------------- | ---------------------------------------------------- |
| POST   | `/api/generate/{clip_id}/describe`                   | Describe Upload                                      |
| POST   | `/api/generate/{clip_id}/describe/`                  | Describe Upload                                      |
| POST   | `/api/generate/check-lyrics-copyright-infringement`  | Check Lyrics Copyright Infringement                  |
| POST   | `/api/generate/check-lyrics-copyright-infringement/` | Check Lyrics Copyright Infringement                  |
| GET    | `/api/generate/clip/{clip_id}`                       | Get Clip                                             |
| GET    | `/api/generate/clip/{clip_id}/`                      | Get Clip                                             |
| POST   | `/api/generate/concat`                               | Concat Generations                                   |
| POST   | `/api/generate/concat/`                              | Concat Generations                                   |
| POST   | `/api/generate/concat/v2`                            | Concat Generations V2                                |
| POST   | `/api/generate/concat/v2/`                           | Concat Generations V2                                |
| POST   | `/api/generate/downsample-tags`                      | Downsample Prompt                                    |
| POST   | `/api/generate/downsample-tags/`                     | Downsample Prompt                                    |
| GET    | `/api/generate/existing-lyrics-by-id/{lyrics_id}`    | Get Existing Lyrics By Id                            |
| GET    | `/api/generate/existing-lyrics-by-id/{lyrics_id}/`   | Get Existing Lyrics By Id                            |
| GET    | `/api/generate/get_recommend_styles`                 | Get Recommend Styles                                 |
| GET    | `/api/generate/get_recommend_styles/`                | Get Recommend Styles                                 |
| POST   | `/api/generate/lyrics`                               | Run Lyrics Generation                                |
| POST   | `/api/generate/lyrics-infill`                        | Run Lyrics Infill                                    |
| POST   | `/api/generate/lyrics-infill/`                       | Run Lyrics Infill                                    |
| POST   | `/api/generate/lyrics-infill/redo`                   | Run Lyrics Infill Redo                               |
| POST   | `/api/generate/lyrics-infill/redo/`                  | Run Lyrics Infill Redo                               |
| POST   | `/api/generate/lyrics-infill/undo`                   | Run Lyrics Infill Undo                               |
| POST   | `/api/generate/lyrics-infill/undo/`                  | Run Lyrics Infill Undo                               |
| POST   | `/api/generate/lyrics-pair`                          | Run Lyrics Pair Generation                           |
| POST   | `/api/generate/lyrics-pair/`                         | Run Lyrics Pair Generation                           |
| POST   | `/api/generate/lyrics-pair/rate`                     | Rate Lyrics Pair                                     |
| POST   | `/api/generate/lyrics-pair/rate/`                    | Rate Lyrics Pair                                     |
| POST   | `/api/generate/lyrics/`                              | Run Lyrics Generation                                |
| GET    | `/api/generate/lyrics/{lyrics_id}`                   | Get Lyrics Generation                                |
| GET    | `/api/generate/lyrics/{lyrics_id}/`                  | Get Lyrics Generation                                |
| GET    | `/api/generate/matrix`                               | Get Advanced Gen Params                              |
| POST   | `/api/generate/merge`                                | Merge Generations                                    |
| POST   | `/api/generate/merge/`                               | Merge Generations                                    |
| GET    | `/api/generate/requests`                             | Get Gen Requests                                     |
| GET    | `/api/generate/requests/`                            | Get Gen Requests                                     |
| POST   | `/api/generate/upsample`                             | Run Upsample                                         |
| POST   | `/api/generate/upsample-tags`                        | Upsample Tags                                        |
| POST   | `/api/generate/upsample-tags/`                       | Upsample Tags                                        |
| POST   | `/api/generate/upsample/`                            | Run Upsample                                         |
| POST   | `/api/generate/v2`                                   | The entrypoint for older web clients and also mobile |
| POST   | `/api/generate/v2-web`                               | The entrypoint for newer web clients                 |
| POST   | `/api/generate/v2-web/`                              | The entrypoint for newer web clients                 |
| POST   | `/api/generate/v2/`                                  | The entrypoint for older web clients and also mobile |

### Invite

| Method | Path                                       | Description                                                                               |
| ------ | ------------------------------------------ | ----------------------------------------------------------------------------------------- |
| POST   | `/api/invite`                              | Create an InviteHistory record for an invited user and their inviter.                     |
| POST   | `/api/invite/`                             | Create an InviteHistory record for an invited user and their inviter.                     |
| POST   | `/api/invite/ios/promo_code`               | Redeem the promo code for the request user.                                               |
| GET    | `/api/invite/ios/promo_code_status`        | Get the number of redemptions left of the user's promo code.                              |
| GET    | `/api/invite/ios/promo_code_status/`       | Get the number of redemptions left of the user's promo code.                              |
| POST   | `/api/invite/ios/promo_code/`              | Redeem the promo code for the request user.                                               |
| GET    | `/api/invite/ios/promo_code/{promo_code}`  | Get the inviter handle and avatar image URL from the promo code                           |
| GET    | `/api/invite/ios/promo_code/{promo_code}/` | Get the inviter handle and avatar image URL from the promo code                           |
| POST   | `/api/invite/ios/waitlist`                 | Return True if the user is already on the waitlist or has just been added to the waitlist |
| POST   | `/api/invite/ios/waitlist/`                | Return True if the user is already on the waitlist or has just been added to the waitlist |
| GET    | `/api/invite/summary`                      | Get Summary                                                                               |
| GET    | `/api/invite/summary/`                     | Get Summary                                                                               |

### Ip-address

| Method | Path              | Description    |
| ------ | ----------------- | -------------- |
| GET    | `/api/ip-address` | Get Ip Address |

### List_beta_gens

| Method | Path                   | Description                                                                          |
| ------ | ---------------------- | ------------------------------------------------------------------------------------ |
| POST   | `/api/list_beta_gens`  | Fetch and return a list of clips created by the current user that are marked as beta |
| POST   | `/api/list_beta_gens/` | Fetch and return a list of clips created by the current user that are marked as beta |

### Mobile

| Method | Path                       | Description                                      |
| ------ | -------------------------- | ------------------------------------------------ |
| GET    | `/api/mobile/v1/discover`  | Get the discover (homepage) sections for mobile. |
| GET    | `/api/mobile/v1/discover/` | Get the discover (homepage) sections for mobile. |

### Music_player

| Method | Path                              | Description          |
| ------ | --------------------------------- | -------------------- |
| POST   | `/api/music_player/playbar_state` | Upsert Playbar State |

### Notification

| Method | Path                          | Description                                    |
| ------ | ----------------------------- | ---------------------------------------------- |
| GET    | `/api/notification`           | fetch the notifications.                       |
| GET    | `/api/notification/`          | fetch the notifications.                       |
| POST   | `/api/notification/read`      | Mark notifications as read.                    |
| POST   | `/api/notification/read/`     | Mark notifications as read.                    |
| POST   | `/api/notification/suppress`  | Mark notifications as not showing up any more. |
| POST   | `/api/notification/suppress/` | Mark notifications as not showing up any more. |
| GET    | `/api/notification/v2`        | fetch the notifications.                       |
| GET    | `/api/notification/v2/`       | fetch the notifications.                       |
| POST   | `/api/notification/v2/read`   | Mark notifications as read.                    |
| POST   | `/api/notification/v2/read/`  | Mark notifications as read.                    |

### Oembed

| Method | Path                          | Description            |
| ------ | ----------------------------- | ---------------------- |
| GET    | `/api/oembed`                 | Get Oembed             |
| GET    | `/api/oembed/enable-for-clip` | Enable Oembed For Clip |

### Orpheus

| Method | Path                          | Description                |
| ------ | ----------------------------- | -------------------------- |
| POST   | `/api/orpheus/stream-chat`    | Orpheus backend entrypoint |
| POST   | `/api/orpheus/stream-chat/`   | Orpheus backend entrypoint |
| POST   | `/api/orpheus/stream-lyrics`  | Orpheus backend entrypoint |
| POST   | `/api/orpheus/stream-lyrics/` | Orpheus backend entrypoint |

### Persona

| Method | Path                                               | Description                                |
| ------ | -------------------------------------------------- | ------------------------------------------ |
| GET    | `/api/persona/{persona_id}/love_status`            | Get Persona Love Status                    |
| GET    | `/api/persona/{persona_id}/love_status/`           | Get Persona Love Status                    |
| GET    | `/api/persona/{persona_id}/metadata`               | Get Persona Metadata                       |
| GET    | `/api/persona/{persona_id}/metadata/`              | Get Persona Metadata                       |
| POST   | `/api/persona/{persona_id}/toggle_love`            | Toggle love status on UserPersonaReaction. |
| POST   | `/api/persona/{persona_id}/toggle_love/`           | Toggle love status on UserPersonaReaction. |
| POST   | `/api/persona/create`                              | Create Persona                             |
| POST   | `/api/persona/create/`                             | Create Persona                             |
| PUT    | `/api/persona/edit-persona/{persona_id}`           | Edit Persona                               |
| PUT    | `/api/persona/edit-persona/{persona_id}/`          | Edit Persona                               |
| POST   | `/api/persona/follow/{persona_id}`                 | Follow/unfollow a persona.                 |
| POST   | `/api/persona/follow/{persona_id}/`                | Follow/unfollow a persona.                 |
| GET    | `/api/persona/get-followed-personas`               | Get Followed Personas                      |
| GET    | `/api/persona/get-followed-personas/`              | Get Followed Personas                      |
| GET    | `/api/persona/get-loved-personas`                  | Get Loved Personas                         |
| GET    | `/api/persona/get-loved-personas/`                 | Get Loved Personas                         |
| GET    | `/api/persona/get-persona-paginated/{persona_id}`  | Get Persona Paginated                      |
| GET    | `/api/persona/get-persona-paginated/{persona_id}/` | Get Persona Paginated                      |
| GET    | `/api/persona/get-persona/{persona_id}`            | Get Persona                                |
| GET    | `/api/persona/get-persona/{persona_id}/`           | Get Persona                                |
| GET    | `/api/persona/get-personas`                        | Get Personas By User                       |
| GET    | `/api/persona/get-personas/`                       | Get Personas By User                       |
| GET    | `/api/persona/get-suno-personas`                   | Get Suno Personas                          |
| GET    | `/api/persona/get-suno-personas/`                  | Get Suno Personas                          |
| GET    | `/api/persona/get-trashed-personas`                | Get Trashed Personas                       |
| GET    | `/api/persona/get-trashed-personas/`               | Get Trashed Personas                       |
| PUT    | `/api/persona/set_visibility/{persona_id}`         | Set Persona Visibility                     |
| PUT    | `/api/persona/set_visibility/{persona_id}/`        | Set Persona Visibility                     |
| PUT    | `/api/persona/trash-persona/{persona_id}`          | Trash Persona                              |
| PUT    | `/api/persona/trash-persona/{persona_id}/`         | Trash Persona                              |

### Playlist

| Method | Path                                      | Description                                                                                                   |
| ------ | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| GET    | `/api/playlist/{playlist_id}`             | Get a playlist by ID.                                                                                         |
| GET    | `/api/playlist/{playlist_id}/`            | Get a playlist by ID.                                                                                         |
| GET    | `/api/playlist/{playlist_id}/embedding`   | Calculate vector for a playlist based on top 3 clips and store it in PlaylistAnalytics table                  |
| GET    | `/api/playlist/{playlist_id}/embedding/`  | Calculate vector for a playlist based on top 3 clips and store it in PlaylistAnalytics table                  |
| POST   | `/api/playlist/{playlist_id}/regenerate`  | This api is very dangerous and should be used with caution. It will regenerate all the clips in the playlist. |
| POST   | `/api/playlist/{playlist_id}/regenerate/` | This api is very dangerous and should be used with caution. It will regenerate all the clips in the playlist. |
| POST   | `/api/playlist/create`                    | Create Playlist                                                                                               |
| POST   | `/api/playlist/create/`                   | Create Playlist                                                                                               |
| GET    | `/api/playlist/liked_playlist`            | Get User Liked Playlists                                                                                      |
| GET    | `/api/playlist/liked_playlist/`           | Get User Liked Playlists                                                                                      |
| GET    | `/api/playlist/me`                        | Get user's library of owned playlists.                                                                        |
| GET    | `/api/playlist/me/`                       | Get user's library of owned playlists.                                                                        |
| GET    | `/api/playlist/me/clip_status`            | Get User Playlists And Target Clip Status                                                                     |
| POST   | `/api/playlist/set_metadata`              | Set Playlist Metadata                                                                                         |
| POST   | `/api/playlist/set_metadata/`             | Set Playlist Metadata                                                                                         |
| POST   | `/api/playlist/trash`                     | Trash Playlist                                                                                                |
| POST   | `/api/playlist/trash/`                    | Trash Playlist                                                                                                |
| POST   | `/api/playlist/update_clips`              | Update Playlist Clips                                                                                         |
| POST   | `/api/playlist/update_clips/`             | Update Playlist Clips                                                                                         |

### Playlist_reaction

| Method | Path                                                         | Description                                                                |
| ------ | ------------------------------------------------------------ | -------------------------------------------------------------------------- |
| POST   | `/api/playlist_reaction/{playlist_id}/increment_play_count`  | Increment play count on UserPlaylistReaction (and associated Playlist).    |
| POST   | `/api/playlist_reaction/{playlist_id}/increment_play_count/` | Increment play count on UserPlaylistReaction (and associated Playlist).    |
| POST   | `/api/playlist_reaction/{playlist_id}/set_visibility`        | Set is_public visibility on a Playlist. User must own playlist.            |
| POST   | `/api/playlist_reaction/{playlist_id}/set_visibility/`       | Set is_public visibility on a Playlist. User must own playlist.            |
| POST   | `/api/playlist_reaction/{playlist_id}/update_flag_state`     | Update flag state on UserReaction (and associated Playlisteratedplaylist). |
| POST   | `/api/playlist_reaction/{playlist_id}/update_flag_state/`    | Update flag state on UserReaction (and associated Playlisteratedplaylist). |
| POST   | `/api/playlist_reaction/{playlist_id}/update_reaction_type`  | Update reaction type on UserPlaylistReaction (and associated Playlist).    |
| POST   | `/api/playlist_reaction/{playlist_id}/update_reaction_type/` | Update reaction type on UserPlaylistReaction (and associated Playlist).    |

### Preferences

| Method | Path                                        | Description                   |
| ------ | ------------------------------------------- | ----------------------------- |
| POST   | `/api/preferences/bulk-upsert-tasks`        | Bulk Upsert Label Maker Tasks |
| DELETE | `/api/preferences/clear-tasks/{project_id}` | Clear Label Maker Tasks       |
| GET    | `/api/preferences/projects`                 | List Label Maker Projects     |
| POST   | `/api/preferences/skip-task/{task_id}`      | Skip Label Maker Task         |
| POST   | `/api/preferences/submit`                   | Submit User Annotation        |
| POST   | `/api/preferences/submit/`                  | Submit User Annotation        |
| GET    | `/api/preferences/summary`                  | Get User Preference Summary   |
| GET    | `/api/preferences/tasks`                    | Get Next Label Maker Task     |
| GET    | `/api/preferences/tasks/`                   | Get Next Label Maker Task     |
| POST   | `/api/preferences/upsert-project`           | Upsert Label Maker Project    |

### Prober

| Method | Path                          | Description     |
| ------ | ----------------------------- | --------------- |
| GET    | `/api/prober/cache-check`     | Cache Check     |
| GET    | `/api/prober/db-check`        | Db Check        |
| GET    | `/api/prober/migration-check` | Migration Check |

### Profiles

| Method | Path                                                  | Description                                                 |
| ------ | ----------------------------------------------------- | ----------------------------------------------------------- |
| PATCH  | `/api/profiles`                                       | Patch Artist Profile                                        |
| PATCH  | `/api/profiles/`                                      | Patch Artist Profile                                        |
| GET    | `/api/profiles/{handle}`                              | Get Artist Profile                                          |
| GET    | `/api/profiles/{handle}/`                             | Get Artist Profile                                          |
| GET    | `/api/profiles/{handle}/followers`                    | Get Profiles Followers By Handle                            |
| GET    | `/api/profiles/{handle}/followers/`                   | Get Profiles Followers By Handle                            |
| GET    | `/api/profiles/{handle}/following`                    | Get Profiles Following By Handle                            |
| GET    | `/api/profiles/{handle}/following/`                   | Get Profiles Following By Handle                            |
| GET    | `/api/profiles/{handle}/info`                         | Get artist profile information from DynamoDB.               |
| GET    | `/api/profiles/{handle}/listen-history`               | Get the user's listen history.                              |
| GET    | `/api/profiles/{handle}/listen-history/`              | Get the user's listen history.                              |
| GET    | `/api/profiles/{handle}/recent_clips`                 | Get Artist Recent Clips                                     |
| GET    | `/api/profiles/{handle}/recent_clips/`                | Get Artist Recent Clips                                     |
| GET    | `/api/profiles/{handle}/remixes-inspired`             | Get remixes inspired by a user's public clips.              |
| GET    | `/api/profiles/{handle}/remixes-inspired-count`       | Get the count of remixes inspired by a user's public clips. |
| GET    | `/api/profiles/{handle}/remixes-inspired-count/`      | Get the count of remixes inspired by a user's public clips. |
| GET    | `/api/profiles/{handle}/remixes-inspired/`            | Get remixes inspired by a user's public clips.              |
| GET    | `/api/profiles/{user_id}/create-tags`                 | Get Common Create Tags                                      |
| POST   | `/api/profiles/block`                                 | Block User                                                  |
| GET    | `/api/profiles/blocked_users`                         | List Blocked Users                                          |
| POST   | `/api/profiles/callback/backfill-creator-common-tags` | Backfill Creator Common Tags                                |
| GET    | `/api/profiles/check-handle-availability/{handle}`    | Check Display Name Availability                             |
| POST   | `/api/profiles/flag`                                  | Flag Artist Profile                                         |
| POST   | `/api/profiles/flag/`                                 | Flag Artist Profile                                         |
| POST   | `/api/profiles/follow`                                | Follow Artist Profile                                       |
| POST   | `/api/profiles/follow/`                               | Follow Artist Profile                                       |
| GET    | `/api/profiles/followers`                             | Get Profiles Followers                                      |
| GET    | `/api/profiles/followers/`                            | Get Profiles Followers                                      |
| GET    | `/api/profiles/following`                             | Get Profiles Following                                      |
| GET    | `/api/profiles/following/`                            | Get Profiles Following                                      |
| PUT    | `/api/profiles/info`                                  | Update artist profile information in DynamoDB.              |
| GET    | `/api/profiles/listen-history`                        | Get the current authenticated user's listen history.        |
| POST   | `/api/profiles/pin-clip/{clip_id}`                    | Pin Clip                                                    |
| GET    | `/api/profiles/pinned-clips`                          | Get all clips pinned by the current user.                   |
| GET    | `/api/profiles/pinned-clips/`                         | Get all clips pinned by the current user.                   |
| GET    | `/api/profiles/top_clips`                             | Get User Top Clips                                          |
| GET    | `/api/profiles/top_clips/`                            | Get User Top Clips                                          |

### Project

| Method | Path                                         | Description                                                |
| ------ | -------------------------------------------- | ---------------------------------------------------------- |
| POST   | `/api/project`                               | Create Project                                             |
| GET    | `/api/project/{project_id}`                  | Get a project by ID.                                       |
| POST   | `/api/project/{project_id}/clips`            | Update Project Clips                                       |
| DELETE | `/api/project/{project_id}/collaborators`    | Remove Project Collaborator                                |
| DELETE | `/api/project/{project_id}/collaborators/me` | Remove Self From Project                                   |
| POST   | `/api/project/{project_id}/invite`           | Send Invite To Project                                     |
| POST   | `/api/project/{project_id}/metadata`         | Set Project Metadata                                       |
| GET    | `/api/project/{project_id}/search`           | Search clips within a specific project using Elasticsearch |
| GET    | `/api/project/invites`                       | Get Invites                                                |
| PUT    | `/api/project/invites/{invite_id}`           | Respond To Invite                                          |
| GET    | `/api/project/me`                            | Get user's library of owned projects.                      |
| POST   | `/api/project/trash`                         | Trash Project                                              |

### Prompts

| Method | Path                   | Description                   |
| ------ | ---------------------- | ----------------------------- |
| POST   | `/api/prompts/`        | Create Or Update Saved Prompt |
| POST   | `/api/prompts/delete/` | Delete Saved Prompt           |

### Radio

| Method | Path                | Description    |
| ------ | ------------------- | -------------- |
| GET    | `/api/radio/{tag}`  | Get Radio      |
| GET    | `/api/radio/{tag}/` | Get Radio      |
| GET    | `/api/radio/tags`   | Get Radio Tags |
| GET    | `/api/radio/tags/`  | Get Radio Tags |

### Recommend

| Method | Path                                     | Description                           |
| ------ | ---------------------------------------- | ------------------------------------- |
| DELETE | `/api/recommend/feedback/song/{clip_id}` | Remove Song Feedback                  |
| POST   | `/api/recommend/similar-creators`        | Get similar creators for a given user |

### Recs

| Method | Path         | Description                  |
| ------ | ------------ | ---------------------------- |
| GET    | `/api/recs`  | Get Recommendations Endpoint |
| GET    | `/api/recs/` | Get Recommendations Endpoint |

### Refresh_recommend_styles

| Method | Path                             | Description              |
| ------ | -------------------------------- | ------------------------ |
| POST   | `/api/refresh_recommend_styles`  | Refresh Recommend Styles |
| POST   | `/api/refresh_recommend_styles/` | Refresh Recommend Styles |

### Render-status-check

| Method | Path                       | Description |
| ------ | -------------------------- | ----------- |
| GET    | `/api/render-status-check` | Get Status  |

### Search

| Method | Path                                    | Description              |
| ------ | --------------------------------------- | ------------------------ |
| POST   | `/api/search`                           | Search                   |
| POST   | `/api/search/`                          | Search                   |
| POST   | `/api/search/is_this_us`                | Is This Us               |
| POST   | `/api/search/is_this_us/`               | Is This Us               |
| POST   | `/api/search/update_clip_embedding_v2`  | Update Clip Embedding V2 |
| POST   | `/api/search/update_clip_embedding_v2/` | Update Clip Embedding V2 |
| POST   | `/api/search/update_text_embedding`     | Update Text Embedding    |
| POST   | `/api/search/update_text_embedding/`    | Update Text Embedding    |
| POST   | `/api/search/users`                     | Search Users             |

### Session

| Method | Path            | Description |
| ------ | --------------- | ----------- |
| GET    | `/api/session`  | Get Me      |
| GET    | `/api/session/` | Get Me      |

### Share

| Method | Path                         | Description                                                                |
| ------ | ---------------------------- | -------------------------------------------------------------------------- |
| POST   | `/api/share/attribute`       | Create share attribution record linking a user to the share that led to it |
| POST   | `/api/share/attribute/`      | Create share attribution record linking a user to the share that led to it |
| GET    | `/api/share/code/{share_id}` | Get details about a share by its ID                                        |
| PATCH  | `/api/share/link`            | Update a share link record                                                 |
| PATCH  | `/api/share/link/`           | Update a share link record                                                 |

### Signout

| Method | Path            | Description |
| ------ | --------------- | ----------- |
| POST   | `/api/signout`  | Signout     |
| POST   | `/api/signout/` | Signout     |

### Social

| Method | Path                               | Description                                                |
| ------ | ---------------------------------- | ---------------------------------------------------------- |
| POST   | `/api/social/following-clip-feed`  | Folllowing Feed                                            |
| POST   | `/api/social/following-clip-feed/` | Folllowing Feed                                            |
| POST   | `/api/social/following-feed`       | Get Following Feed Items                                   |
| POST   | `/api/social/following-feed/`      | Get Following Feed Items                                   |
| POST   | `/api/social/recommend-users`      | api post request for 'Recommend Users' section of Homepage |
| POST   | `/api/social/recommend-users/`     | api post request for 'Recommend Users' section of Homepage |

### Statsig

| Method | Path                        | Description          |
| ------ | --------------------------- | -------------------- |
| POST   | `/api/statsig/autocomplete` | Resolve Autocomplete |
| POST   | `/api/statsig/experiment/`  | Resolve Experiment   |
| POST   | `/api/statsig/id`           | Resolve Id           |

### Studio

| Method | Path                                                    | Description                                                                                             |
| ------ | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| POST   | `/api/studio/create-or-load-project-for-clip/{clip_id}` | Create a new Studio project for the current user, with the given clip as the first clip in the project. |
| POST   | `/api/studio/create-project`                            | Create a new Studio project for the current user.                                                       |
| GET    | `/api/studio/list-projects`                             | Get a list of StudioProjects owned by the current user.                                                 |
| GET    | `/api/studio/list-projects/`                            | Get a list of StudioProjects owned by the current user.                                                 |
| GET    | `/api/studio/project/{project_id}`                      | Get a single StudioProject by ID.                                                                       |
| POST   | `/api/studio/project/{project_id}/archive`              | Archive a Studio project.                                                                               |
| POST   | `/api/studio/project/{project_id}/archive/`             | Archive a Studio project.                                                                               |
| POST   | `/api/studio/project/{project_id}/unarchive`            | Unarchive a Studio project.                                                                             |
| POST   | `/api/studio/project/{project_id}/unarchive/`           | Unarchive a Studio project.                                                                             |
| POST   | `/api/studio/render-state`                              | Render a project state to generate a clip.                                                              |
| POST   | `/api/studio/render-state/`                             | Render a project state to generate a clip.                                                              |
| POST   | `/api/studio/save-project`                              | Save a new version of a Studio project.                                                                 |

### Tags

| Method | Path                  | Description    |
| ------ | --------------------- | -------------- |
| POST   | `/api/tags/recommend` | Recommend Tags |

### Trending

| Method | Path                          | Description                                            |
| ------ | ----------------------------- | ------------------------------------------------------ |
| GET    | `/api/trending`               | api get request for Homepage                           |
| GET    | `/api/trending/`              | api get request for Homepage                           |
| GET    | `/api/trending/en`            | api get request for English-language trending playlist |
| GET    | `/api/trending/en/`           | api get request for English-language trending playlist |
| GET    | `/api/trending/en/v2`         | Returns: PlaylistSchema of trending v2 EN playlist     |
| GET    | `/api/trending/en/v2/`        | Returns: PlaylistSchema of trending v2 EN playlist     |
| GET    | `/api/trending/metaplaylist`  | api get request for trending metaplaylist              |
| GET    | `/api/trending/metaplaylist/` | api get request for trending metaplaylist              |
| GET    | `/api/trending/new`           | api get request for New playlist                       |
| GET    | `/api/trending/new/`          | api get request for New playlist                       |
| GET    | `/api/trending/top/{period}`  | api get request for Top playlist                       |
| GET    | `/api/trending/top/{period}/` | api get request for Top playlist                       |
| GET    | `/api/trending/v2`            | Returns: PlaylistSchema of trending v2 ALL playlist    |
| GET    | `/api/trending/v2/`           | Returns: PlaylistSchema of trending v2 ALL playlist    |

### Update_user_config

| Method | Path                      | Description        |
| ------ | ------------------------- | ------------------ |
| POST   | `/api/update_user_config` | Update User Config |

### Uploads

| Method | Path                                                      | Description                     |
| ------ | --------------------------------------------------------- | ------------------------------- |
| POST   | `/api/uploads/audio`                                      | Start Audio Upload              |
| POST   | `/api/uploads/audio/`                                     | Start Audio Upload              |
| GET    | `/api/uploads/audio/{upload_id}`                          | Get Audio Upload Status         |
| GET    | `/api/uploads/audio/{upload_id}/`                         | Get Audio Upload Status         |
| POST   | `/api/uploads/audio/{upload_id}/initialize-clip`          | Initialize Upload Clip          |
| POST   | `/api/uploads/audio/{upload_id}/initialize-clip/`         | Initialize Upload Clip          |
| POST   | `/api/uploads/audio/{upload_id}/initialize-stem-mix-clip` | Initialize Stem Mix Upload Clip |
| POST   | `/api/uploads/audio/{upload_id}/upload-finish`            | Finish Processing Audio Upload  |
| POST   | `/api/uploads/audio/{upload_id}/upload-finish/`           | Finish Processing Audio Upload  |
| POST   | `/api/uploads/image`                                      | Start Image Upload              |
| POST   | `/api/uploads/image/`                                     | Start Image Upload              |
| POST   | `/api/uploads/video`                                      | Start Video Upload              |
| POST   | `/api/uploads/video-output/{upload_id}`                   | Process Video Output            |
| POST   | `/api/uploads/video-output/{upload_id}/`                  | Process Video Output            |
| POST   | `/api/uploads/video/`                                     | Start Video Upload              |
| GET    | `/api/uploads/video/{upload_id}`                          | Get Video Upload Status         |
| GET    | `/api/uploads/video/{upload_id}/`                         | Get Video Upload Status         |
| POST   | `/api/uploads/video/{upload_id}/initialize-clip`          | Initialize Upload Clip          |
| POST   | `/api/uploads/video/{upload_id}/initialize-clip/`         | Initialize Upload Clip          |
| POST   | `/api/uploads/video/{upload_id}/upload-finish`            | Finish Processing Video Upload  |
| POST   | `/api/uploads/video/{upload_id}/upload-finish/`           | Finish Processing Video Upload  |

### User

| Method | Path                                      | Description                                                                            |
| ------ | ----------------------------------------- | -------------------------------------------------------------------------------------- |
| POST   | `/api/user/accept_custom_mode_tos`        | Accept TOS for custom mode lyrics.                                                     |
| POST   | `/api/user/accept_custom_mode_tos/`       | Accept TOS for custom mode lyrics.                                                     |
| POST   | `/api/user/accept_timbaland_terms`        | Accept Timbaland terms for the user.                                                   |
| POST   | `/api/user/accept_timbaland_terms/`       | Accept Timbaland terms for the user.                                                   |
| POST   | `/api/user/create_session_id`             | Create a session id for the user.                                                      |
| POST   | `/api/user/create_session_id/`            | Create a session id for the user.                                                      |
| POST   | `/api/user/delete_phone_number`           | Delete Phone Number                                                                    |
| POST   | `/api/user/delete_phone_number/`          | Delete Phone Number                                                                    |
| POST   | `/api/user/delete-account`                | Delete the logged-in user's account.                                                   |
| POST   | `/api/user/delete-account/`               | Delete the logged-in user's account.                                                   |
| POST   | `/api/user/extend_session_id`             | Extend Session Id                                                                      |
| POST   | `/api/user/extend_session_id/`            | Extend Session Id                                                                      |
| POST   | `/api/user/find_existing_user_by_phone`   | Find Existing User By Phone                                                            |
| POST   | `/api/user/find_existing_user_by_phone/`  | Find Existing User By Phone                                                            |
| GET    | `/api/user/get_user_session_id`           | Get User Session Id                                                                    |
| GET    | `/api/user/get_user_session_id/`          | Get User Session Id                                                                    |
| GET    | `/api/user/get-creator-info/{creator_id}` | the logged-in user's account.                                                          |
| GET    | `/api/user/me`                            | Get the current user's personal profile, including birthday, email, phone number, etc. |
| GET    | `/api/user/me/`                           | Get the current user's personal profile, including birthday, email, phone number, etc. |
| POST   | `/api/user/record_session_id`             | Record Session Id                                                                      |
| POST   | `/api/user/record_session_id/`            | Record Session Id                                                                      |
| POST   | `/api/user/update_phone_number`           | Update Phone Number                                                                    |
| POST   | `/api/user/update_phone_number/`          | Update Phone Number                                                                    |
| POST   | `/api/user/update_user_config`            | Update User Config                                                                     |
| POST   | `/api/user/update_user_config/`           | Update User Config                                                                     |
| POST   | `/api/user/user_config`                   | User Config                                                                            |
| POST   | `/api/user/user_config/`                  | User Config                                                                            |

### User_actions

| Method | Path                              | Description                                       |
| ------ | --------------------------------- | ------------------------------------------------- |
| POST   | `/api/user_actions/action_check`  | Action check whether we need to add captcha check |
| POST   | `/api/user_actions/action_check/` | Action check whether we need to add captcha check |
| POST   | `/api/user_actions/user_check`    | Is Bot Check                                      |
| POST   | `/api/user_actions/user_check/`   | Is Bot Check                                      |

### User_config

| Method | Path               | Description     |
| ------ | ------------------ | --------------- |
| GET    | `/api/user_config` | Get User Config |

### Users

| Method | Path                         | Description         |
| ------ | ---------------------------- | ------------------- |
| POST   | `/api/users/merge_accounts`  | Merge Accounts View |
| POST   | `/api/users/merge_accounts/` | Merge Accounts View |

### V2

| Method | Path                                                          | Description                                                                               |
| ------ | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| GET    | `/api/v2/external/clips`                                      | Get Clips External                                                                        |
| GET    | `/api/v2/external/clips/`                                     | Get Clips External                                                                        |
| POST   | `/api/v2/external/generate`                                   | Run Generation Integration                                                                |
| POST   | `/api/v2/external/generate/`                                  | Run Generation Integration                                                                |
| POST   | `/api/v2/external/generate/lyrics`                            | Generate lyrics from a prompt with Cloudflare Turnstile verification.                     |
| POST   | `/api/v2/external/generate/promotion`                         | Run Generation Promotion                                                                  |
| POST   | `/api/v2/external/generate/promotion/`                        | Run Generation Promotion                                                                  |
| GET    | `/api/v2/external/lyrics`                                     | Get lyrics for a clip in WebVTT format.                                                   |
| GET    | `/api/v2/external/oauth/alexa-user-info`                      | Get Alxa-specific user information through OAuth.                                         |
| POST   | `/api/v2/external/oauth/alexa/skill-account-linked`           | Handles the Alexa skill account linking event and self-healing requests.                  |
| POST   | `/api/v2/external/oauth/alexa/song-created`                   | Handles notification of a newly created song that needs to be added to the Alexa catalog. |
| GET    | `/api/v2/external/oauth/authorize`                            | OAuth 2.0 authorization endpoint redirecting to frontend for authentication.              |
| GET    | `/api/v2/external/oauth/authorize/`                           | OAuth 2.0 authorization endpoint redirecting to frontend for authentication.              |
| POST   | `/api/v2/external/oauth/authorize/confirm`                    | Confirms OAuth authorization after user authentication.                                   |
| GET    | `/api/v2/external/oauth/client-info`                          | Get information about an OAuth client application by client_id.                           |
| GET    | `/api/v2/external/oauth/clips`                                | Retrieve clips by IDs through OAuth with the 'read_music' scope.                          |
| GET    | `/api/v2/external/oauth/clips/`                               | Retrieve clips by IDs through OAuth with the 'read_music' scope.                          |
| POST   | `/api/v2/external/oauth/generate`                             | Generate a song through OAuth with the 'generate_music' scope.                            |
| POST   | `/api/v2/external/oauth/generate-code`                        | Generate an authorization code after user authenticates with Clerk.                       |
| GET    | `/api/v2/external/oauth/integration-playlist/clips`           | Retrieve clips from the user's integration-specific playlist via OAuth.                   |
| GET    | `/api/v2/external/oauth/integration-playlist/clips/`          | Retrieve clips from the user's integration-specific playlist via OAuth.                   |
| POST   | `/api/v2/external/oauth/search`                               | Search the user's library via OAuth with the 'read_music' scope.                          |
| GET    | `/api/v2/external/oauth/search-user-clips`                    | Retrieve clips by various criteria through OAuth with the 'read_music' scope.             |
| GET    | `/api/v2/external/oauth/user-info`                            | Get user profile and subscription details through OAuth.                                  |
| POST   | `/api/v2/external/stem`                                       | Run Stem Integration                                                                      |
| POST   | `/api/v2/external/stem/`                                      | Run Stem Integration                                                                      |
| POST   | `/api/v2/external/uploads/audio`                              | Start Audio Upload                                                                        |
| POST   | `/api/v2/external/uploads/audio/`                             | Start Audio Upload                                                                        |
| GET    | `/api/v2/external/uploads/audio/{upload_id}`                  | Get Audio Upload Status                                                                   |
| GET    | `/api/v2/external/uploads/audio/{upload_id}/`                 | Get Audio Upload Status                                                                   |
| POST   | `/api/v2/external/uploads/audio/{upload_id}/initialize-clip`  | Initialize Audio Upload Clip                                                              |
| POST   | `/api/v2/external/uploads/audio/{upload_id}/initialize-clip/` | Initialize Audio Upload Clip                                                              |
| POST   | `/api/v2/external/uploads/audio/{upload_id}/upload-finish`    | Finish Processing Audio Upload                                                            |
| POST   | `/api/v2/external/uploads/audio/{upload_id}/upload-finish/`   | Finish Processing Audio Upload                                                            |

### Video

| Method | Path                                                               | Description                                                 |
| ------ | ------------------------------------------------------------------ | ----------------------------------------------------------- |
| POST   | `/api/video/generate/{clip_id}`                                    | Generate Video                                              |
| POST   | `/api/video/generate/{clip_id}/`                                   | Generate Video                                              |
| GET    | `/api/video/generate/{clip_id}/status`                             | Get Video Status                                            |
| GET    | `/api/video/generate/{clip_id}/status/`                            | Get Video Status                                            |
| GET    | `/api/video/hooks/{hook_id}`                                       | Get Video Hook                                              |
| POST   | `/api/video/hooks/{hook_id}/reaction`                              | Set Hook Reaction                                           |
| POST   | `/api/video/hooks/{hook_id}/report`                                | Report Hook                                                 |
| POST   | `/api/video/hooks/{hook_id}/share`                                 | Share Hook                                                  |
| DELETE | `/api/video/hooks/comments/{comment_id}`                           | Delete a comment. Users can only delete their own comments. |
| DELETE | `/api/video/hooks/comments/{comment_id}/`                          | Delete a comment. Users can only delete their own comments. |
| POST   | `/api/video/hooks/comments/{comment_id}/reaction`                  | Post a reaction to a comment.                               |
| POST   | `/api/video/hooks/comments/{comment_id}/reaction/`                 | Post a reaction to a comment.                               |
| GET    | `/api/video/hooks/comments/{comment_id}/replies`                   | Get the replies to a comment.                               |
| GET    | `/api/video/hooks/comments/{comment_id}/replies/`                  | Get the replies to a comment.                               |
| POST   | `/api/video/hooks/comments/{comment_id}/report`                    | Report a comment.                                           |
| POST   | `/api/video/hooks/comments/{comment_id}/report/`                   | Report a comment.                                           |
| POST   | `/api/video/hooks/comments/{hook_id}/comment`                      | Post Comment                                                |
| POST   | `/api/video/hooks/comments/{hook_id}/comment/`                     | Post Comment                                                |
| GET    | `/api/video/hooks/comments/{hook_id}/comments`                     | Get comments for a clip.                                    |
| GET    | `/api/video/hooks/comments/{hook_id}/comments/`                    | Get comments for a clip.                                    |
| GET    | `/api/video/hooks/comments/{hook_id}/comments/count`               | Get the count of comments for a clip.                       |
| GET    | `/api/video/hooks/comments/{hook_id}/comments/count/`              | Get the count of comments for a clip.                       |
| GET    | `/api/video/hooks/comments/{hook_id}/time-sync-comments`           | Get time-synchronized comments for a clip.                  |
| GET    | `/api/video/hooks/comments/{hook_id}/time-sync-comments/`          | Get time-synchronized comments for a clip.                  |
| POST   | `/api/video/hooks/create`                                          | Create Hook                                                 |
| POST   | `/api/video/hooks/delete/{hook_id}`                                | Delete Video Hook                                           |
| POST   | `/api/video/hooks/feed`                                            | Fetch Video Hook Feed                                       |
| GET    | `/api/video/hooks/from_clip/{clip_id}/exists`                      | Does Video Hook Exist From Clip                             |
| GET    | `/api/video/hooks/from_clip/{clip_id}/hooks`                       | Get Video Hooks From Clip                                   |
| GET    | `/api/video/hooks/me`                                              | Get User Video Hooks                                        |
| GET    | `/api/video/hooks/suggested_clips`                                 | Suggested Clips                                             |
| GET    | `/api/video/hooks/user_hooks`                                      | Get User Video Hooks V2                                     |
| POST   | `/api/video/hooks/watched`                                         | Update Video Hook Watch History                             |
| POST   | `/api/video/internal-generate`                                     | Internal Generate Video                                     |
| POST   | `/api/video/internal-generate/`                                    | Internal Generate Video                                     |
| GET    | `/api/video/internal-generate/{clip_id}/type/{video_type}/status`  | Get Internal Video Status                                   |
| GET    | `/api/video/internal-generate/{clip_id}/type/{video_type}/status/` | Get Internal Video Status                                   |
| GET    | `/api/video/short/{video_id}`                                      | Get Video Short                                             |
| POST   | `/api/video/short/{video_id}/set_visibility`                       | Set Video Visibility                                        |
| GET    | `/api/video/sprite`                                                | Get Video Sprite                                            |

### Video_gen

| Method | Path                                 | Description         |
| ------ | ------------------------------------ | ------------------- |
| POST   | `/api/video_gen/generate_video`      | Generate Video      |
| POST   | `/api/video_gen/update_video_status` | Update Video Status |
| GET    | `/api/video_gen/videos`              | Get Video Status    |

### HTTP Methods

- **POST**: 353 endpoints
- **GET**: 279 endpoints
- **DELETE**: 12 endpoints
- **PUT**: 8 endpoints
- **PATCH**: 5 endpoints
