mirror of
https://github.com/rishikanthc/Scriberr.git
synced 2026-06-28 14:55:46 +00:00
480 lines
15 KiB
JSON
480 lines
15 KiB
JSON
{
|
|
"endpoints": [
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/chat/models",
|
|
"summary": "Get available chat models",
|
|
"description": "Get list of available OpenAI chat models",
|
|
"tag": "chat"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/chat/sessions",
|
|
"summary": "Create a new chat session",
|
|
"description": "Create a new chat session for a transcription",
|
|
"tag": "chat"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/chat/transcriptions/{transcription_id}/sessions",
|
|
"summary": "Get chat sessions for a transcription",
|
|
"description": "Get all chat sessions for a specific transcription",
|
|
"tag": "chat"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/chat/sessions/{session_id}",
|
|
"summary": "Get a chat session with messages",
|
|
"description": "Get a specific chat session with all its messages",
|
|
"tag": "chat"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/chat/sessions/{session_id}/messages",
|
|
"summary": "Send a message to a chat session",
|
|
"description": "Send a message to a chat session and get streaming response",
|
|
"tag": "chat"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/chat/sessions/{session_id}/title",
|
|
"summary": "Update chat session title",
|
|
"description": "Update the title of a chat session",
|
|
"tag": "chat"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/chat/sessions/{session_id}",
|
|
"summary": "Delete a chat session",
|
|
"description": "Delete a chat session and all its messages",
|
|
"tag": "chat"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/chat/sessions/{session_id}/title/auto",
|
|
"summary": "Auto-generate chat session title",
|
|
"description": "Uses the configured LLM to summarize the first exchange into a concise title. Only updates if the current title appears default/user-unset.",
|
|
"tag": "chat"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/transcription/upload",
|
|
"summary": "Upload audio file",
|
|
"description": "Upload an audio file without starting transcription",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/transcription/upload-video",
|
|
"summary": "Upload video file for transcription",
|
|
"description": "Upload a video file, extract audio from it using ffmpeg, and create a transcription job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/transcription/upload-multitrack",
|
|
"summary": "Upload multi-track audio files",
|
|
"description": "Upload multiple audio files with an .aup file for multi-track transcription",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/{id}/merge-status",
|
|
"summary": "Get multi-track merge status",
|
|
"description": "Get the current merge status for a multi-track job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/{id}/track-progress",
|
|
"summary": "Get multi-track job progress",
|
|
"description": "Get real-time progress information for individual tracks in a multi-track job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/transcription/submit",
|
|
"summary": "Submit a transcription job",
|
|
"description": "Submit an audio file for transcription with WhisperX",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/{id}/status",
|
|
"summary": "Get job status",
|
|
"description": "Get the current status of a transcription job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/{id}/transcript",
|
|
"summary": "Get transcript",
|
|
"description": "Get the transcript for a completed transcription job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/list",
|
|
"summary": "List all transcription records",
|
|
"description": "Get a list of all transcription jobs with optional search and filtering",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/transcription/{id}/start",
|
|
"summary": "Start transcription for uploaded file",
|
|
"description": "Start transcription for an already uploaded audio file",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/transcription/{id}/kill",
|
|
"summary": "Kill running transcription job",
|
|
"description": "Cancel a currently running transcription job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/transcription/{id}/title",
|
|
"summary": "Update transcription title",
|
|
"description": "Update the title of an audio file / transcription",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/transcription/{id}",
|
|
"summary": "Delete transcription job",
|
|
"description": "Delete a transcription job and its associated files",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/{id}",
|
|
"summary": "Get transcription record by ID",
|
|
"description": "Get a specific transcription record by its ID",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/{id}/execution",
|
|
"summary": "Get transcription job execution data",
|
|
"description": "Get execution parameters and timing for a transcription job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/{id}/audio",
|
|
"summary": "Get audio file",
|
|
"description": "Serve the audio file for a transcription job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/auth/login",
|
|
"summary": "Login",
|
|
"description": "Authenticate user and return JWT token",
|
|
"tag": "auth"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/auth/logout",
|
|
"summary": "Logout user",
|
|
"description": "Logout user and invalidate token (client-side action)",
|
|
"tag": "auth"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/auth/registration-status",
|
|
"summary": "Check registration status",
|
|
"description": "Check if the application requires initial user registration",
|
|
"tag": "auth"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/auth/register",
|
|
"summary": "Register initial admin user",
|
|
"description": "Register the initial admin user (only allowed when no users exist)",
|
|
"tag": "auth"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/auth/refresh",
|
|
"summary": "Refresh access token",
|
|
"description": "Rotate refresh token and return new access token",
|
|
"tag": "auth"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/auth/change-password",
|
|
"summary": "Change user password",
|
|
"description": "Change the current user's password",
|
|
"tag": "auth"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/auth/change-username",
|
|
"summary": "Change username",
|
|
"description": "Change the current user's username",
|
|
"tag": "auth"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/api-keys",
|
|
"summary": "List API keys",
|
|
"description": "Get all API keys for the current user (without exposing the actual keys)",
|
|
"tag": "api-keys"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/api-keys",
|
|
"summary": "Create API key",
|
|
"description": "Create a new API key for external API access",
|
|
"tag": "api-keys"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/api-keys/{id}",
|
|
"summary": "Delete API key",
|
|
"description": "Delete an API key",
|
|
"tag": "api-keys"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/llm/config",
|
|
"summary": "Get LLM configuration",
|
|
"description": "Get the current active LLM configuration",
|
|
"tag": "llm"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/llm/config",
|
|
"summary": "Create or update LLM configuration",
|
|
"description": "Create or update LLM configuration settings",
|
|
"tag": "llm"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/queue/stats",
|
|
"summary": "Get queue statistics",
|
|
"description": "Get current queue statistics",
|
|
"tag": "admin"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/models",
|
|
"summary": "Get supported models",
|
|
"description": "Get list of supported WhisperX models",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/health",
|
|
"summary": "Health check",
|
|
"description": "Check if the API is healthy",
|
|
"tag": "health"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/profiles",
|
|
"summary": "List transcription profiles",
|
|
"description": "Get list of all transcription profiles",
|
|
"tag": "profiles"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/profiles",
|
|
"summary": "Create transcription profile",
|
|
"description": "Create a new transcription profile",
|
|
"tag": "profiles"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/profiles/{id}",
|
|
"summary": "Get transcription profile",
|
|
"description": "Get a transcription profile by ID",
|
|
"tag": "profiles"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/profiles/{id}",
|
|
"summary": "Update transcription profile",
|
|
"description": "Update a transcription profile",
|
|
"tag": "profiles"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/profiles/{id}",
|
|
"summary": "Delete transcription profile",
|
|
"description": "Delete a transcription profile",
|
|
"tag": "profiles"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/profiles/{id}/set-default",
|
|
"summary": "Set default transcription profile",
|
|
"description": "Mark the specified profile as the default profile",
|
|
"tag": "profiles"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/transcription/quick",
|
|
"summary": "Submit quick transcription job",
|
|
"description": "Submit an audio file for temporary transcription (data discarded after 6 hours)",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/quick/{id}",
|
|
"summary": "Get quick transcription status",
|
|
"description": "Get the current status of a quick transcription job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/transcription/youtube",
|
|
"summary": "Download audio from YouTube URL",
|
|
"description": "Download audio from a YouTube video URL and prepare it for transcription",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/user/default-profile",
|
|
"summary": "Get user's default profile",
|
|
"description": "Get the default transcription profile for the current user",
|
|
"tag": "profiles"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/user/default-profile",
|
|
"summary": "Set user's default profile",
|
|
"description": "Set the default transcription profile for the current user",
|
|
"tag": "profiles"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/user/settings",
|
|
"summary": "Get user settings",
|
|
"description": "Get the current user's settings including auto-transcription preference",
|
|
"tag": "user"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/user/settings",
|
|
"summary": "Update user settings",
|
|
"description": "Update the current user's settings",
|
|
"tag": "user"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/{id}/speakers",
|
|
"summary": "Get speaker mappings for a transcription",
|
|
"description": "Retrieves all custom speaker names for a transcription job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/transcription/{id}/speakers",
|
|
"summary": "Update speaker mappings for a transcription",
|
|
"description": "Updates or creates custom speaker names for a transcription job",
|
|
"tag": "transcription"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/{id}/notes",
|
|
"summary": "List notes for a transcription",
|
|
"description": "Get all notes attached to a transcription, ordered by time and creation",
|
|
"tag": "notes"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/transcription/{id}/notes",
|
|
"summary": "Create a note for a transcription",
|
|
"description": "Create a new note attached to the specified transcription",
|
|
"tag": "notes"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/notes/{note_id}",
|
|
"summary": "Get a note",
|
|
"description": "Get a note by its ID",
|
|
"tag": "notes"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/notes/{note_id}",
|
|
"summary": "Update a note",
|
|
"description": "Update the content of a note",
|
|
"tag": "notes"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/notes/{note_id}",
|
|
"summary": "Delete a note",
|
|
"description": "Delete a note by its ID",
|
|
"tag": "notes"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/summarize",
|
|
"summary": "Summarize content",
|
|
"description": "Stream an LLM-generated summary for provided content; persists latest summary for the transcription",
|
|
"tag": "summarize"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/transcription/{id}/summary",
|
|
"summary": "Get latest summary for transcription",
|
|
"description": "Get the most recent saved summary for the given transcription",
|
|
"tag": "summarize"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/summaries",
|
|
"summary": "List summarization templates",
|
|
"description": "Get all summarization templates",
|
|
"tag": "summaries"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/summaries",
|
|
"summary": "Create summarization template",
|
|
"description": "Create a new summarization template",
|
|
"tag": "summaries"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/summaries/{id}",
|
|
"summary": "Get summarization template",
|
|
"description": "Get a summarization template by ID",
|
|
"tag": "summaries"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/summaries/{id}",
|
|
"summary": "Update summarization template",
|
|
"description": "Update a summarization template by ID",
|
|
"tag": "summaries"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/summaries/{id}",
|
|
"summary": "Delete summarization template",
|
|
"description": "Delete a summarization template by ID",
|
|
"tag": "summaries"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/summaries/settings",
|
|
"summary": "Get summary settings",
|
|
"description": "Get global summarization settings",
|
|
"tag": "summaries"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/summaries/settings",
|
|
"summary": "Save summary settings",
|
|
"description": "Create or update global summarization settings",
|
|
"tag": "summaries"
|
|
}
|
|
]
|
|
} |