Udio API

API

Udio proudly offers a comprehensive API for developers, providing robust access to its cloud-based audio storage and management capabilities. The API allows users to integrate Udio’s powerful audio sorting and searching features directly into their applications, websites, or systems.

To access the API, developers must first obtain an [API key] by registering on the Udio Platform. This key is essential for authenticating and interacting with the API endpoints.

Obtaining Udio APi Key

The API is structured around REST principles, ensuring easy integration and compatibility with modern development practices. Each request to the API should include the appropriate authentication details and adhere to the HTTP method specifications for each endpoint.

The base URL for all API calls is https://api.udio.cloud/.

Below are detailed descriptions of ten useful endpoints provided by the Udio API, each with specific parameters and use cases.

GET /audio/list

Parameters:

  • user_id (required): Unique identifier for the user whose audio files are to be listed.
  • folder_id (optional): Identifier for a specific folder to list files from.
  • page (optional): Page number for pagination in the file list.

Lists all audio files for a specific user, with optional folder filtering and pagination.

POST /audio/upload

Parameters:

  • user_id (required): Unique identifier for the user uploading the file.
  • file (required): The audio file to be uploaded.
  • folder_id (optional): Folder identifier to upload the file into.

Allows users to upload audio files to their cloud storage, optionally specifying a folder.

GET /audio/search

Parameters:

  • query (required): Search term or phrase to look for within audio files.
  • user_id (required): Unique identifier for the user whose files are to be searched.
  • tags (optional): Filter search with specific tags associated with files.

Searches through audio files using AI-driven search capabilities to find files matching the query.

DELETE /audio/delete

Parameters:

  • file_id (required): Unique identifier for the audio file to be deleted.
  • user_id (required): Unique identifier for the owner of the file.

Deletes a specific audio file from the user’s cloud storage.

PUT /audio/update

Parameters:

  • file_id (required): Unique identifier for the audio file to be updated.
  • user_id (required): Unique identifier for the owner of the file.
  • new_name (optional): New name for the audio file if renaming is desired.

Updates details of an audio file, such as renaming it.

GET /audio/details

Parameters:

  • file_id (required): Unique identifier for the audio file.
  • user_id (required): Unique identifier for the owner of the file.

Retrieves detailed information about a specific audio file.

POST /folder/create

Parameters:

  • user_id (required): Unique identifier for the user creating a new folder.
  • folder_name (required): Name for the new folder.

Creates a new folder for organizing audio files within the user’s storage.

GET /folder/list

Parameters:

  • user_id (required): Unique identifier for the user whose folders are to be listed.

Lists all folders created by a specific user for organizing audio files.

POST /user/register

Parameters:

  • email (required): Email address of the user registering for API access.
  • password (required): Password for the new user account.

Registers a new user for access to the Udio API.

POST /user/login

Parameters:

  • email (required): Email address of the user logging in.
  • password (required): Password for the user account.

Authenticates a user and provides a session token for further API interactions.

POST /audio/metadata

Parameters:

  • file_id (required): Unique identifier for the audio file whose metadata is to be modified.
  • user_id (required): Unique identifier for the owner of the file.
  • title (optional): New title for the audio file.
  • artist (optional): Artist name to be associated with the audio file.
  • album (optional): Album name to be linked to the audio file.

Allows users to update the metadata of an audio file, such as the title, artist, and album names, enhancing the organization and discoverability of audio content.

GET /audio/share

Parameters:

  • file_id (required): Unique identifier for the audio file to be shared.
  • user_id (required): Unique identifier for the owner of the file.
  • recipient_id (required): User ID of the person with whom the file is to be shared.
  • access_level (required): Defines the level of access (e.g., ‘read-only’ or ‘edit’).
  • expiry (optional): Date and time when the shared access should expire.

Enables users to share audio files with others, specifying the level of access and an optional expiration date for the shared link.

PUT /user/settings

Parameters:

  • user_id (required): Unique identifier for the user whose settings are being updated.
  • email_notifications (optional): Boolean to enable or disable email notifications.
  • theme (optional): Preferred UI theme (e.g., ‘light’ or ‘dark’).
  • language (optional): Preferred language for the user interface.
  • privacy_level (optional): Sets the privacy level of the user’s profile and data.

Provides a mechanism for users to update their account settings, allowing customization of notifications, UI themes, language preferences, and privacy settings.

These endpoints are crafted to enhance user interaction and personalization of the Udio platform, further extending its capabilities and integration potential within various applications.