{"info":{"_postman_id":"c3127063-b6d8-4572-afcc-52e337608da0","name":"Harmix API Documentation","description":"<html><head></head><body><p>This is the documentation for integrating Harmix music search into your application. We provide an easy-to-use API for different kinds of searches: Prompt Search, Video Search, Similarity Search, Story Search, and Lyrics Full-Text Search. All we require from you is a search input. Let Harmix handle the rest.</p>\n<hr>\n<h1 id=\"overview\">📄 Overview</h1>\n<p>Harmix provides a variety of searches to satisfy your needs:</p>\n<ul>\n<li><p><strong>Prompt Search</strong>: Search music in your catalog using free text. For example: <em>Lush and uplifting instrumental featuring guitar and piano for a reflective mood.</em></p>\n</li>\n<li><p><strong>Video Search</strong>: Upload your video to get the ideal music match that fits the mood.</p>\n</li>\n<li><p><strong>Similarity Search</strong>: Provide reference track(s) to find similar ones in your catalog.</p>\n</li>\n<li><p><strong>Story Search</strong>: Specify the keywords or describe the story of the song to be suggested. For example: <em>Help me find a song about a guy crushing on a girl who might not feel the same.</em></p>\n</li>\n</ul>\n<hr>\n<h1 id=\"how-to-integrate\">🚀 How to Integrate</h1>\n<h3 id=\"uploading-your-catalog\">Uploading Your Catalog</h3>\n<p>Harmix provides its functionality based on your music catalogs. Thus, keeping your newest music additions in sync with Harmix API is your priority. We deliver a <a href=\"#1543852a-de15-4e0d-b868-3aee3f393289\">set of endpoints</a> for you to be able to upload your music catalog to Harmix's environment to be processed there and become available for search asynchronously.</p>\n<p>All you need to do is upload an audio file and specify its metadata with the <a href=\"#metadata-schema\">source_id</a> value for you to match the results from Harmix API with your database(s). As a response, you will receive a <code>system_id</code>, the ID of your catalog track in the Harmix database. The endpoint provides a webhook functionality, so if you pass a webhook URL within the request, we will let you know once the track is processed. However, if using a webhook is not an option, you can verify your track's processing status by using <a href=\"#dc5f2dca-f6c7-4276-84db-b5a893303c49\">/status</a> endpoint.</p>\n<p>Once the track is uploaded and processed, you can make it available for search on your platform or application.</p>\n<h3 id=\"executing-crud-queries\">Executing CRUD Queries</h3>\n<p>Depending on your publishing process, you might also stumble across a situation when you need to update a track's metadata or even remove that track from your searchable catalog.</p>\n<p>Note here that if you decide to remove a track from your system, it's also necessary to remove it from Harmix. Otherwise, Harmix can still return it within the results to search your queries.</p>\n<p>Therefore, we provide primary API endpoints to support your <a href=\"#1543852a-de15-4e0d-b868-3aee3f393289\">CRUD operations</a> within your catalogs on our side.</p>\n<h3 id=\"performing-search-queries\">Performing Search Queries</h3>\n<p>Once your catalog is processed from our side, you can perform a variety of search queries for different kinds of searches. Such functionality is provided by <a href=\"#770050a2-600c-4021-b8eb-84eb435f3070\">/search</a> endpoint.</p>\n<hr>\n<h1 id=\"metadata-schema\">📒 Metadata Schema</h1>\n<p>Harmix supports a predefined schema for track metadata, which ensures data accuracy and consistency at various stages of track processing. This schema serves as a standardized blueprint that defines the expected structure and metadata attributes associated with audio tracks.</p>\n<blockquote>\n<p>Don't hesitate to contact us if you want to upload more metadata not present in the predefined schema. </p>\n</blockquote>\n<h3 id=\"primary-key\">Primary Key</h3>\n<p>The <strong>Primary Key Component</strong> column denotes whether a specific metadata field can be used for composing a (Composite) Primary Key that uniquely identifies a track in your Harmix catalog. This Primary Key is further used to perform any Catalog or Search operations on your catalog tracks.</p>\n<h3 id=\"extra-metadata-parameters\">Extra Metadata Parameters</h3>\n<p>With the <code>extra_parameters</code> metadata field, you can store additional metadata that doesn't conform to the original Metadata Schema. Ensure your metadata is consistent and serialized properly. The <code>extra_parameters</code> field accepts a dictionary, where both keys and values must be of type String. If you need to include an array, remember to serialize it by wrapping it in a string, as shown in the example below.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"custom_attribute_1\": \"value1\",\n    \"custom_attribute_2\": \"value2\",\n    \"tags\": \"[\\\"tag1\\\", \\\"tag2\\\", \\\"tag3\\\"]\",\n    \"related_ids\": \"[\\\"123\\\", \\\"456\\\", \\\"789\\\"]\"\n}\n\n</code></pre>\n<h3 id=\"schema\">Schema</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Primary Key Component</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>source_id</td>\n<td>String</td>\n<td><strong>Yes</strong></td>\n<td><strong>Yes</strong></td>\n<td>Unique identifier for your system to be able to match results from Harmix with your internal databases.</td>\n<td>1234-5678-3456</td>\n</tr>\n<tr>\n<td>isrc</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>International Standard Recording Code.</td>\n<td>AB1234567890</td>\n</tr>\n<tr>\n<td>track_title</td>\n<td>String</td>\n<td><strong>Yes</strong></td>\n<td><strong>Yes</strong></td>\n<td>Name of the track.</td>\n<td>Sunflower</td>\n</tr>\n<tr>\n<td>track_number</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Number of the track on an album.</td>\n<td>12</td>\n</tr>\n<tr>\n<td>track_code</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Code of the track. Usually, it is created from label code, album number, and track number.</td>\n<td>HRMX9#12</td>\n</tr>\n<tr>\n<td>track_description</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>Description of the track.</td>\n<td>A track that conveys a sense of hope, loyalty, and love for someone or something that is unique and special.</td>\n</tr>\n<tr>\n<td>version</td>\n<td>Bool</td>\n<td>No</td>\n<td>No</td>\n<td>Indicates if the track is a version of another track.</td>\n<td>False</td>\n</tr>\n<tr>\n<td>version_tag</td>\n<td>String</td>\n<td><strong>No</strong></td>\n<td><strong>Yes</strong></td>\n<td>Version type, e.g. Main, 60s, No Drums, Instrumental, etc.</td>\n<td>Main</td>\n</tr>\n<tr>\n<td>version_name</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>Name of the track with a version tag.</td>\n<td>Sunflower (Main)</td>\n</tr>\n<tr>\n<td>versions_number</td>\n<td>Integer</td>\n<td>No</td>\n<td>No</td>\n<td>Number of track versions.</td>\n<td>5</td>\n</tr>\n<tr>\n<td>master_id</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>Unique identifier of the master track from which the current child track is derived.</td>\n<td>1234-5678</td>\n</tr>\n<tr>\n<td>label_name</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Name of the label.</td>\n<td>Harmix Records</td>\n</tr>\n<tr>\n<td>label_code</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Code of the label.</td>\n<td>HRMX</td>\n</tr>\n<tr>\n<td>album_id</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Album ID.</td>\n<td>hrmx-albm-rck3</td>\n</tr>\n<tr>\n<td>album_number</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Number of the album.</td>\n<td>3</td>\n</tr>\n<tr>\n<td>album_code</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Code of the album. Usually, label code and album number.</td>\n<td>HRMX3</td>\n</tr>\n<tr>\n<td>album_name</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>Name of the album.</td>\n<td>Happy evenings</td>\n</tr>\n<tr>\n<td>album_description</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>Description of the album.</td>\n<td>Music for happy evenings</td>\n</tr>\n<tr>\n<td>album_cover_url</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>URL to the album cover image.</td>\n<td><a href=\"https://harmix.ai/storage/hrmx-albm-rck3-cover.jpg\">https://harmix.ai/storage/hrmx-albm-rck3-cover.jpg</a></td>\n</tr>\n<tr>\n<td>album_keywords</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of keywords for the album the track belongs to.</td>\n<td>[\"Happy\", \"Enticing\"]</td>\n</tr>\n<tr>\n<td>release_year</td>\n<td>Integer</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Release year of the track.</td>\n<td>2017</td>\n</tr>\n<tr>\n<td>release_date</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Release date of the track in the following format: YYYY-MM-DD.</td>\n<td>2017-12-05</td>\n</tr>\n<tr>\n<td>duration</td>\n<td>Integer</td>\n<td>No</td>\n<td>No</td>\n<td>Duration of the track in seconds.</td>\n<td>224</td>\n</tr>\n<tr>\n<td>tempo</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>Tempo of the track (not BPM).</td>\n<td>slow</td>\n</tr>\n<tr>\n<td>bpm</td>\n<td>Integer</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Beats per minute.  <br><strong>Validation rule</strong>: value must be greater than 0.</td>\n<td>80</td>\n</tr>\n<tr>\n<td>key</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Musical key of the track.</td>\n<td>D#m</td>\n</tr>\n<tr>\n<td>time_signature</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Track time signature that indicates how many beats are in each measure (or bar) and what type of note gets one beat.</td>\n<td>3/4</td>\n</tr>\n<tr>\n<td>is_instrumental</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Indicator whether the track is instrumental.</td>\n<td>False</td>\n</tr>\n<tr>\n<td>is_vocal</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Indicator whether the track is vocal.</td>\n<td>True</td>\n</tr>\n<tr>\n<td>lyrics</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>Lyrics of the track.</td>\n<td>\"You’re the sunflower, …\"</td>\n</tr>\n<tr>\n<td>lyrics_language</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>Language of the lyrics.</td>\n<td>EN</td>\n</tr>\n<tr>\n<td>explicit_lyrics</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Indicator of the track having explicit lyrics.</td>\n<td>False</td>\n</tr>\n<tr>\n<td>artists</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of artist names who created the track.</td>\n<td>[\"John Doe\", \"Jane Doe\"]</td>\n</tr>\n<tr>\n<td>composers</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of composer names who created the track.</td>\n<td>[\"John Doe\", \"Jane Doe\"]</td>\n</tr>\n<tr>\n<td>genres</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of genres of the track.</td>\n<td>[\"Pop\", \"Rap\"]</td>\n</tr>\n<tr>\n<td>moods</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of moods of the track.</td>\n<td>[\"Happy\", \"Enticing\"]</td>\n</tr>\n<tr>\n<td>instruments</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of instruments featured in the track.</td>\n<td>[\"Piano\", \"Acoustic guitar\"]</td>\n</tr>\n<tr>\n<td>music_keywords</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of possible track usages (music for/suitable for).</td>\n<td>[\"Commercial\", \"Cafe\", \"Games\"]</td>\n</tr>\n<tr>\n<td>decades</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of track decades.</td>\n<td>[\"2010s\"]</td>\n</tr>\n<tr>\n<td>vocals</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of track vocals.</td>\n<td>[\"vocal\", \"male vocal\"]</td>\n</tr>\n<tr>\n<td>available_countries</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of markets in which the album is available: <a href=\"http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\">http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2</a>.</td>\n<td>[\"US\", \"UK\", \"DE\", \"FR\"]</td>\n</tr>\n<tr>\n<td>active</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Identifier of the track being filterable based on some arbitrary criteria.</td>\n<td>True</td>\n</tr>\n<tr>\n<td>licensable</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Identifier of the track being filterable by licensability of your tracks.</td>\n<td>True</td>\n</tr>\n<tr>\n<td>restricted</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Identifier of the track being filterable by some internal restrictions on your tracks.</td>\n<td>False</td>\n</tr>\n<tr>\n<td>commercial</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Identifier of the track being filterable by being a commercial or non-commercial track.</td>\n<td>True</td>\n</tr>\n<tr>\n<td>recognisable</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Identifier of the track being filterable by recognisability.</td>\n<td>False</td>\n</tr>\n<tr>\n<td>sync_history</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Identifier of the track being filterable by having a sync history, i.e., being synchronized with visual content.</td>\n<td>False</td>\n</tr>\n<tr>\n<td>jam_sync</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Identifier of the track being filterable by having a jam sync.</td>\n<td>False</td>\n</tr>\n<tr>\n<td>hit</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Identifier of the track being filterable by the track being a hit.</td>\n<td>False</td>\n</tr>\n<tr>\n<td>top</td>\n<td>Bool</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Identifier of the track being filterable by the track being a top.</td>\n<td>False</td>\n</tr>\n<tr>\n<td>publishers</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of publishers of the track.</td>\n<td>[\"Harmix Studio\"]</td>\n</tr>\n<tr>\n<td>owner</td>\n<td>Array[String]</td>\n<td>No</td>\n<td>No</td>\n<td>An array of track owner names.</td>\n<td>[\"Owner\"]</td>\n</tr>\n<tr>\n<td>share</td>\n<td>Double</td>\n<td>No</td>\n<td>No</td>\n<td>Used in case of filtering by your share on a track.</td>\n<td>0.5</td>\n</tr>\n<tr>\n<td>external_id</td>\n<td>String</td>\n<td>No</td>\n<td><strong>Yes</strong></td>\n<td>Used in case of filtering by any external ID of your use.</td>\n<td>1234-5678</td>\n</tr>\n<tr>\n<td>popularity</td>\n<td>Double</td>\n<td>No</td>\n<td>No</td>\n<td>Popularity of the track.</td>\n<td>87.5</td>\n</tr>\n<tr>\n<td>audio_url</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>URL to audio file.</td>\n<td><a href=\"https://harmix.ai/storage/myaudio.mp3\">https://harmix.ai/storage/myaudio.mp3</a></td>\n</tr>\n<tr>\n<td>waveform_url</td>\n<td>String</td>\n<td>No</td>\n<td>No</td>\n<td>URL to the file containing audio waveform.</td>\n<td><a href=\"https://harmix.ai/storage/myaudio-waveform.json\">https://harmix.ai/storage/myaudio-waveform.json</a></td>\n</tr>\n<tr>\n<td>extra_parameters</td>\n<td>Dict[String, String]</td>\n<td>No</td>\n<td>No</td>\n<td>Dictionary of additional metadata parameters that you want to retain with the audio metadata.</td>\n<td>{\"custom_attribute_1\": \"value1\", \"custom_attribute_2\": \"value2\"}</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h1 id=\"authentication\">✔️ Authentication</h1>\n<p>To access our APIs, each client is provided with a unique API key. This API key serves as your authentication credential and is essential for authorizing requests to our services. We take the security of your API key seriously, and it should be kept confidential to prevent unauthorized access to your data.</p>\n<p>In your API requests, include your API key in the <code>api_key</code> header, as shown in the example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">api_key: &lt;YOUR-API-KEY&gt;\n\n</code></pre>\n<hr>\n<h1 id=\"exceptions\">🔴 Exceptions</h1>\n<p>When using our API, it's important to be prepared for exceptional situations that may occur during the course of your interactions. This section of the documentation provides an overview of how exceptions are handled within the API.</p>\n<p>Our API is designed to return exceptions in a standardized JSON structure. This structure includes the following key components:</p>\n<ul>\n<li><p><strong>Error Code</strong>: Each exception is associated with a unique error code. This code serves as a specific identifier for the type of exception encountered.</p>\n</li>\n<li><p><strong>Short Textual Message</strong>: A concise, human-readable error message is provided to give you insight into the nature of the exception. This message is designed to quickly convey what went wrong.</p>\n</li>\n<li><p><strong>Details</strong>: In some cases, additional information about the exception may be included in the details, providing more context and details about the exceptional situation, aiding in troubleshooting and resolution.</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"detail\": {\n    \"code\": 1001,\n    \"status\": \"failure\",\n    \"message\": \"The track record with the provided Primary Key metadata already exists in your Harmix catalog. System ID: 3c41f3c8-476e-41ae-b04d-9620cc7be700.\",\n    \"details\": \"Please use a different track identifier or refer to the Metadata Schema regarding Metadata Overlapping in the Harmix Documentation: https://docs.harmix.ai/#metadata-schema\"\n  }\n}\n\n</code></pre>\n<p>Our documentation includes a readily accessible table containing our internal error codes, each accompanied by descriptive explanations.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>HTTP</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1000</td>\n<td>500</td>\n<td>Indicates an internal error that led to a denial of service situation.</td>\n</tr>\n<tr>\n<td>1000</td>\n<td>503</td>\n<td>Indicates that Harmix is unavailable at the moment.</td>\n</tr>\n<tr>\n<td>1001</td>\n<td>409</td>\n<td>Issued when a user tries to add the same track to the database more than once.</td>\n</tr>\n<tr>\n<td>1002</td>\n<td>404</td>\n<td>Issued when the requested track record does not exist.</td>\n</tr>\n<tr>\n<td>1003</td>\n<td>409</td>\n<td>Issued when multiple track records were found for the provided Primary Key. Update the Primary Key field in your request to uniquely identify a single track record.</td>\n</tr>\n<tr>\n<td>1004</td>\n<td>400</td>\n<td>Issued when the selected reference track has not been processed yet. Try again later once it is processed.</td>\n</tr>\n<tr>\n<td>1005</td>\n<td>400</td>\n<td>Issued when the selected audio segment exceeds the track's duration. Adjust the segment to fit within the track's limits.</td>\n</tr>\n<tr>\n<td>1006</td>\n<td>404</td>\n<td>Issued when the selected reference track was not found. Update the audio reference parameters and try again.</td>\n</tr>\n<tr>\n<td>2001</td>\n<td>400</td>\n<td>Issued when the input audio file does not match the expected format.</td>\n</tr>\n<tr>\n<td>2002</td>\n<td>400</td>\n<td>Issued when the input audio file is either damaged or inaccessible for reading.</td>\n</tr>\n<tr>\n<td>2003</td>\n<td>400</td>\n<td>Issued when the number of uploaded files is not within the allowed threshold.</td>\n</tr>\n<tr>\n<td>2004</td>\n<td>400</td>\n<td>Issued when the provided reference type is invalid.</td>\n</tr>\n<tr>\n<td>2005</td>\n<td>400</td>\n<td>Issued when the uploaded file size exceeds the maximum allowed limit.</td>\n</tr>\n<tr>\n<td>2006</td>\n<td>400</td>\n<td>Issued when the provided reference format is invalid.</td>\n</tr>\n<tr>\n<td>3001</td>\n<td>400</td>\n<td>Issued when the provided audio URL is of an unsupported format, or both the audio URL and audio file are provided.</td>\n</tr>\n<tr>\n<td>4001</td>\n<td>401</td>\n<td>Issued when failed to authorize the client. Verify that the correct API key was used.</td>\n</tr>\n<tr>\n<td>4002</td>\n<td>403</td>\n<td>Issued when the authorized client wants to activate the Highlights feature but is forbidden to do so. Get in touch with Harmix Support at <a href=\"https://mailto:support@harmix.ai\">support@harmix.ai</a> to enable the feature.</td>\n</tr>\n<tr>\n<td>4003</td>\n<td>403</td>\n<td>Issued when the authorized client does not have access to the request parameter or filter.</td>\n</tr>\n</tbody>\n</table>\n</div></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"📄 Overview","slug":"overview"},{"content":"🚀 How to Integrate","slug":"how-to-integrate"},{"content":"📒 Metadata Schema","slug":"metadata-schema"},{"content":"✔️ Authentication","slug":"authentication"},{"content":"🔴 Exceptions","slug":"exceptions"}],"owner":"31751929","collectionId":"c3127063-b6d8-4572-afcc-52e337608da0","publishedId":"2s9Ykj9iJU","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"2E303E","highlight":"7424FF"},"publishDate":"2023-12-12T17:33:10.000Z"},"item":[{"name":"Catalog Endpoints","item":[{"name":"Upload Track","id":"f8f83773-7659-48f3-a723-3401f0bf2680","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"track","contentType":"","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/Users/Shared/audio.mp3"],"src":"/Users/Shared/audio.mp3"},{"key":"webhook","value":"https:/mywebhook","type":"text"},{"key":"metadata","value":"{\n  \"source_id\": \"14393369\",\n  \"isrc\": \"AB1234567890\",\n  \"track_title\": \"Sunflower\",\n  \"track_number\": \"12\",\n  \"track_code\": \"HRMX9#12\",\n  \"track_description\": \"A track that conveys a sense of hope, loyalty, and love for someone or something that is unique and special.\",\n  \"release_year\": 2017,\n  \"release_date\": \"2017-12-05\",\n  \"version\": false,\n  \"version_tag\": \"Main\",\n  \"version_name\": \"Sunflower (Main)\",\n  \"versions_number\": 5,\n  \"master_id\": \"143933\",\n  \"label_name\": \"Harmix Records\",\n  \"label_code\": \"HRMX\",\n  \"album_id\": \"hrmx-albm-rck3\",\n  \"album_number\": \"3\",\n  \"album_code\": \"HRMX3\",\n  \"album_name\": \"Happy evenings\",\n  \"album_description\": \"Music for happy evenings\",\n  \"album_cover_url\": \"https://harmix.ai/storage/hrmx-albm-rck3-cover.jpg\",\n  \"album_keywords\": [\"Happy\", \"Enticing\"],\n  \"duration\": 224,\n  \"tempo\": \"slow\",\n  \"bpm\": 80,\n  \"key\": \"D#m\",\n  \"time_signature\": \"3/4\",\n  \"is_instrumental\": null,\n  \"is_vocal\": null,\n  \"lyrics\": \"You’re the sunflower, ...\",\n  \"lyrics_language\": \"EN\",\n  \"explicit_lyrics\": null,\n  \"artists\": [\"John Doe\", \"Jane Doe\"],\n  \"composers\": [\"Alice Hellmann\", \"Bob Diffie\"],\n  \"genres\": [\"Pop\", \"Rap\"],\n  \"moods\": [\"Happy\", \"Enticing\"],\n  \"instruments\": [\"Piano\", \"Acoustic guitar\"],\n  \"music_keywords\": [\"Commercial\", \"Cafe\", \"Games\"],\n  \"decades\": [\"2010s\"],\n  \"vocals\": [\"vocal\", \"male vocal\"],\n  \"available_countries\": [\"US\", \"UK\", \"DE\", \"FR\"],\n  \"active\": null,\n  \"licensable\": null,\n  \"restricted\": null,\n  \"commercial\": null,\n  \"recognisable\": null,\n  \"sync_history\": null,\n  \"jam_sync\": null,\n  \"hit\": null,\n  \"top\": null,\n  \"publishers\": [\"Harmix Studio\"],\n  \"owner\": [\"Owner\"],\n  \"share\": 0.5,\n  \"external_id\": \"1234-5678\",\n  \"audio_url\": \"https://harmix.ai/storage/myaudio.mp3\",\n  \"waveform_url\": \"https://harmix.ai/storage/myaudio-waveform.json\",\n  \"extra_parameters\": {\"custom_attribute_1\": \"value_1\"}\n}","contentType":"application/json","type":"text"}]},"url":"https://api.harmix.ai/tracks","description":"<p>Upload your catalog track to Harmix's internal storage along with its metadata, which will be processed and stored separately. On success, as a response, you will receive HTTP status <code>201 Created</code> that contains <code>system_id</code>, a unique identifier of your catalog track in the Harmix database, a Primary Key. The track will be processed asynchronously.</p>\n<h3 id=\"important-information\">Important Information</h3>\n<ul>\n<li><p>The required metadata fields can be adjusted based on your metadata template. If the default <a href=\"#metadata-schema\">Metadata Schema</a> does not work for you, don't hesitate to contact us at <a href=\"https://mailto:support@harmix.ai\">support@harmix.ai</a>.</p>\n</li>\n<li><p>Each track <strong>must have unique</strong> <code>source_id</code> which will be assigned a unique <code>system_id</code>. You can later access the track by either one of these.</p>\n</li>\n<li><p>A set of metadata fields can also uniquely identify a track if you prefer to execute our search using your internal (Composite) Primary Key. The Composite Primary Key is represented as one or multiple fields from the <a href=\"#metadata-schema\">Metadata Schema</a>. The combination of metadata fields, such as <code>source_id</code>, <code>version_tag</code>, etc, can also uniquely identify a track in Harmix's system.</p>\n</li>\n<li><p>For missing values, provide a NULL value instead of 0, empty string, 999 or other specific values to ensure consistency. The BPM metadata has a a validation check for a positive value (&gt;0). For any mismatches, you will receive HTTP status <code>422 Unprocessable Entity</code> with detailed error description.</p>\n</li>\n<li><p>You can upload only <strong>MP3</strong>, <strong>WAV</strong>, and <strong>M4A</strong> audio formats with a file size <strong>limit of 120 MB</strong>.</p>\n</li>\n<li><p><strong>Audio upload options</strong>:</p>\n<ul>\n<li><p>A <strong>direct HTTPS URL</strong> to a raw audio file (without requiring any authorization or user interaction). Preferred option.</p>\n</li>\n<li><p>A <strong>local file path</strong> with an audio extension.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"form-data-attributes\">Form-data Attributes</h3>\n<p>The request <strong>must</strong> contain either <code>track_url</code> or <code>track</code> attribute. We <strong>recommend</strong> using <code>track_url</code> when possible.</p>\n<ul>\n<li><p><code>track_url</code> <strong>(OPTIONAL)</strong>: This parameter is used to upload an audio track to the server for processing via an HTTPS URL. Ensure that the audio file format is supported by the API (e.g., MP3, WAV, M4A).</p>\n</li>\n<li><p><code>track</code> <strong>(OPTIONAL)</strong>: This parameter is used to upload an audio track file to the server for processing. The audio file should be provided as a file attachment, and its path on the local system should be specified. Ensure that the audio file format is supported by the API (e.g., MP3, WAV, M4A).</p>\n</li>\n<li><p><code>metadata</code> <strong>(REQUIRED)</strong>: This parameter is a critical component of the request as it provides detailed information about the uploaded audio track that can further be used for track processing, searching, or filtering. It should be provided as a <strong>serialized JSON object</strong>, as shown in the example. For more details on this parameter, check out our <a href=\"#metadata-schema\">Metadata Schema</a>.</p>\n</li>\n<li><p><code>webhook</code> <strong>(OPTIONAL)</strong>: This parameter allows you to specify a URL to which the API will send a response once the track processing is complete. This can be useful for receiving notifications or updates about the processing status or results. While not mandatory, providing a webhook URL can be beneficial for tracking and managing the processing workflow.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"1543852a-de15-4e0d-b868-3aee3f393289","id":"1543852a-de15-4e0d-b868-3aee3f393289","name":"Catalog Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["tracks"],"host":["api","harmix","ai"],"query":[],"variable":[]}},"response":[{"id":"9e86f5ab-ea39-489a-a2a9-4f0a2cdb29d1","name":"201 Created | Audio URL","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data","type":"text"},{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"track_url","contentType":"","type":"text","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/Users/Shared/audio.mp3"],"value":"https://harmix.ai/my/audio/track.mp3"},{"key":"webhook","value":"https://mywebhook","type":"text"},{"key":"metadata","value":"{\n  \"source_id\": \"14393369\",\n  \"isrc\": \"AB1234567890\",\n  \"track_title\": \"Sunflower\",\n  \"track_number\": \"12\",\n  \"track_code\": \"HRMX9#12\",\n  \"track_description\": \"A track that conveys a sense of hope, loyalty, and love for someone or something that is unique and special.\",\n  \"release_year\": 2017,\n  \"release_date\": \"2017-12-05\",\n  \"version\": false,\n  \"version_tag\": \"Main\",\n  \"version_name\": \"Sunflower (Main)\",\n  \"versions_number\": 5,\n  \"master_id\": \"143933\",\n  \"label_name\": \"Harmix Records\",\n  \"label_code\": \"HRMX\",\n  \"album_id\": \"hrmx-albm-rck3\",\n  \"album_number\": \"3\",\n  \"album_code\": \"HRMX3\",\n  \"album_name\": \"Happy evenings\",\n  \"album_description\": \"Music for happy evenings\",\n  \"album_cover_url\": \"https://harmix.ai/storage/hrmx-albm-rck3-cover.jpg\",\n  \"album_keywords\": [\"Happy\", \"Enticing\"],\n  \"duration\": 224,\n  \"tempo\": \"slow\",\n  \"bpm\": 80,\n  \"key\": \"D#m\",\n  \"time_signature\": \"3/4\",\n  \"is_instrumental\": null,\n  \"is_vocal\": null,\n  \"lyrics\": \"You’re the sunflower, ...\",\n  \"lyrics_language\": \"EN\",\n  \"explicit_lyrics\": null,\n  \"artists\": [\"John Doe\", \"Jane Doe\"],\n  \"composers\": [\"Alice Hellmann\", \"Bob Diffie\"],\n  \"genres\": [\"Pop\", \"Rap\"],\n  \"moods\": [\"Happy\", \"Enticing\"],\n  \"instruments\": [\"Piano\", \"Acoustic guitar\"],\n  \"music_keywords\": [\"Commercial\", \"Cafe\", \"Games\"],\n  \"decades\": [\"2010s\"],\n  \"vocals\": [\"vocal\", \"male vocal\"],\n  \"available_countries\": [\"US\", \"UK\", \"DE\", \"FR\"],\n  \"active\": null,\n  \"licensable\": null,\n  \"restricted\": null,\n  \"commercial\": null,\n  \"recognisable\": null,\n  \"sync_history\": null,\n  \"jam_sync\": null,\n  \"hit\": null,\n  \"top\": null,\n  \"publishers\": [\"Harmix Studio\"],\n  \"owner\": [\"Owner\"],\n  \"share\": 0.5,\n  \"external_id\": \"1234-5678\",\n  \"audio_url\": \"https://harmix.ai/storage/myaudio.mp3\",\n  \"waveform_url\": \"https://harmix.ai/storage/myaudio-waveform.json\",\n  \"extra_parameters\": {\"custom_attribute_1\": \"value_1\"}\n}","contentType":"application/json","type":"text"}]},"url":"https://api.harmix.ai/tracks"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"system_id\": \"3c41f3c8-476e-41ae-b04d-9620cc7be700\",\n    \"uploaded_at\": \"2023-12-04T12:38:14.494044Z\",\n    \"status\": \"success\",\n    \"metadata\": {\n        \"source_id\": \"14393369\",\n        \"isrc\": \"AB1234567890\",\n        \"track_title\": \"Sunflower\",\n        \"track_number\": \"12\",\n        \"track_code\": \"HRMX9#12\",\n        \"track_description\": \"A track that conveys a sense of hope, loyalty, and love for someone or something that is unique and special.\",\n        \"release_year\": 2017,\n        \"release_date\": \"2017-12-05\",\n        \"version\": false,\n        \"version_tag\": \"Main\",\n        \"version_name\": \"Sunflower (Main)\",\n        \"versions_number\": 5,\n        \"master_id\": \"143933\",\n        \"label_name\": \"Harmix Records\",\n        \"label_code\": \"HRMX\",\n        \"album_id\": \"hrmx-albm-rck3\",\n        \"album_number\": \"3\",\n        \"album_code\": \"HRMX3\",\n        \"album_name\": \"Happy evenings\",\n        \"album_description\": \"Music for happy evenings\",\n        \"album_cover_url\": \"https://harmix.ai/storage/hrmx-albm-rck3-cover.jpg\",\n        \"album_keywords\": [\n            \"Happy\",\n            \"Enticing\"\n        ],\n        \"duration\": 224,\n        \"tempo\": \"slow\",\n        \"bpm\": 80,\n        \"key\": \"D#m\",\n        \"time_signature\": \"3/4\",\n        \"is_instrumental\": null,\n        \"is_vocal\": null,\n        \"lyrics\": \"You’re the sunflower, ...\",\n        \"lyrics_language\": \"EN\",\n        \"explicit_lyrics\": null,\n        \"artists\": [\n            \"John Doe\",\n            \"Jane Doe\"\n        ],\n        \"composers\": [\n            \"Alice Hellmann\",\n            \"Bob Diffie\"\n        ],\n        \"genres\": [\n            \"Pop\",\n            \"Rap\"\n        ],\n        \"moods\": [\n            \"Happy\",\n            \"Enticing\"\n        ],\n        \"instruments\": [\n            \"Piano\",\n            \"Acoustic guitar\"\n        ],\n        \"music_keywords\": [\n            \"Commercial\",\n            \"Cafe\",\n            \"Games\"\n        ],\n        \"decades\": [\n            \"2010s\"\n        ],\n        \"vocals\": [\n            \"vocal\",\n            \"male vocal\"\n        ],\n        \"available_countries\": [\n            \"US\",\n            \"UK\",\n            \"DE\",\n            \"FR\"\n        ],\n        \"active\": null,\n        \"licensable\": null,\n        \"restricted\": null,\n        \"commercial\": null,\n        \"recognisable\": null,\n        \"sync_history\": null,\n        \"jam_sync\": null,\n        \"hit\": null,\n        \"top\": null,\n        \"publishers\": [\n            \"Harmix Studio\"\n        ],\n        \"owner\": [\n            \"Owner\"\n        ],\n        \"share\": 0.5,\n        \"external_id\": \"1234-5678\",\n        \"audio_url\": \"https://harmix.ai/storage/myaudio.mp3\",\n        \"waveform_url\": \"https://harmix.ai/storage/myaudio-waveform.json\",\n        \"extra_parameters\": {\n            \"custom_attribute_1\": \"value_1\"\n        }\n    }\n}"},{"id":"9160d040-56bf-4208-8187-dfd578b7b1e4","name":"201 Created | Audio FIle","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data","type":"text"},{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"track","contentType":"","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/Users/Shared/audio.mp3"],"src":"/Users/Shared/audio.mp3"},{"key":"webhook","value":"https://mywebhook","type":"text"},{"key":"metadata","value":"{\n  \"source_id\": \"14393369\",\n  \"isrc\": \"AB1234567890\",\n  \"track_title\": \"Sunflower\",\n  \"track_number\": \"12\",\n  \"track_code\": \"HRMX9#12\",\n  \"track_description\": \"A track that conveys a sense of hope, loyalty, and love for someone or something that is unique and special.\",\n  \"release_year\": 2017,\n  \"release_date\": \"2017-12-05\",\n  \"version\": false,\n  \"version_tag\": \"Main\",\n  \"version_name\": \"Sunflower (Main)\",\n  \"versions_number\": 5,\n  \"master_id\": \"143933\",\n  \"label_name\": \"Harmix Records\",\n  \"label_code\": \"HRMX\",\n  \"album_id\": \"hrmx-albm-rck3\",\n  \"album_number\": \"3\",\n  \"album_code\": \"HRMX3\",\n  \"album_name\": \"Happy evenings\",\n  \"album_description\": \"Music for happy evenings\",\n  \"album_cover_url\": \"https://harmix.ai/storage/hrmx-albm-rck3-cover.jpg\",\n  \"album_keywords\": [\"Happy\", \"Enticing\"],\n  \"duration\": 224,\n  \"tempo\": \"slow\",\n  \"bpm\": 80,\n  \"key\": \"D#m\",\n  \"time_signature\": \"3/4\",\n  \"is_instrumental\": null,\n  \"is_vocal\": null,\n  \"lyrics\": \"You’re the sunflower, ...\",\n  \"lyrics_language\": \"EN\",\n  \"explicit_lyrics\": null,\n  \"artists\": [\"John Doe\", \"Jane Doe\"],\n  \"composers\": [\"Alice Hellmann\", \"Bob Diffie\"],\n  \"genres\": [\"Pop\", \"Rap\"],\n  \"moods\": [\"Happy\", \"Enticing\"],\n  \"instruments\": [\"Piano\", \"Acoustic guitar\"],\n  \"music_keywords\": [\"Commercial\", \"Cafe\", \"Games\"],\n  \"decades\": [\"2010s\"],\n  \"vocals\": [\"vocal\", \"male vocal\"],\n  \"available_countries\": [\"US\", \"UK\", \"DE\", \"FR\"],\n  \"active\": null,\n  \"licensable\": null,\n  \"restricted\": null,\n  \"commercial\": null,\n  \"recognisable\": null,\n  \"sync_history\": null,\n  \"jam_sync\": null,\n  \"hit\": null,\n  \"top\": null,\n  \"publishers\": [\"Harmix Studio\"],\n  \"owner\": [\"Owner\"],\n  \"share\": 0.5,\n  \"external_id\": \"1234-5678\",\n  \"audio_url\": \"https://harmix.ai/storage/myaudio.mp3\",\n  \"waveform_url\": \"https://harmix.ai/storage/myaudio-waveform.json\",\n  \"extra_parameters\": {\"custom_attribute_1\": \"value_1\"}\n}","contentType":"application/json","type":"text"}]},"url":"https://api.harmix.ai/tracks"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"system_id\": \"3c41f3c8-476e-41ae-b04d-9620cc7be700\",\n    \"uploaded_at\": \"2023-12-04T12:38:14.494044Z\",\n    \"status\": \"success\",\n    \"metadata\": {\n        \"source_id\": \"14393369\",\n        \"isrc\": \"AB1234567890\",\n        \"track_title\": \"Sunflower\",\n        \"track_number\": \"12\",\n        \"track_code\": \"HRMX9#12\",\n        \"track_description\": \"A track that conveys a sense of hope, loyalty, and love for someone or something that is unique and special.\",\n        \"release_year\": 2017,\n        \"release_date\": \"2017-12-05\",\n        \"version\": false,\n        \"version_tag\": \"Main\",\n        \"version_name\": \"Sunflower (Main)\",\n        \"versions_number\": 5,\n        \"master_id\": \"143933\",\n        \"label_name\": \"Harmix Records\",\n        \"label_code\": \"HRMX\",\n        \"album_id\": \"hrmx-albm-rck3\",\n        \"album_number\": \"3\",\n        \"album_code\": \"HRMX3\",\n        \"album_name\": \"Happy evenings\",\n        \"album_description\": \"Music for happy evenings\",\n        \"album_cover_url\": \"https://harmix.ai/storage/hrmx-albm-rck3-cover.jpg\",\n        \"album_keywords\": [\n            \"Happy\",\n            \"Enticing\"\n        ],\n        \"duration\": 224,\n        \"tempo\": \"slow\",\n        \"bpm\": 80,\n        \"key\": \"D#m\",\n        \"time_signature\": \"3/4\",\n        \"is_instrumental\": null,\n        \"is_vocal\": null,\n        \"lyrics\": \"You’re the sunflower, ...\",\n        \"lyrics_language\": \"EN\",\n        \"explicit_lyrics\": null,\n        \"artists\": [\n            \"John Doe\",\n            \"Jane Doe\"\n        ],\n        \"composers\": [\n            \"Alice Hellmann\",\n            \"Bob Diffie\"\n        ],\n        \"genres\": [\n            \"Pop\",\n            \"Rap\"\n        ],\n        \"moods\": [\n            \"Happy\",\n            \"Enticing\"\n        ],\n        \"instruments\": [\n            \"Piano\",\n            \"Acoustic guitar\"\n        ],\n        \"music_keywords\": [\n            \"Commercial\",\n            \"Cafe\",\n            \"Games\"\n        ],\n        \"decades\": [\n            \"2010s\"\n        ],\n        \"vocals\": [\n            \"vocal\",\n            \"male vocal\"\n        ],\n        \"available_countries\": [\n            \"US\",\n            \"UK\",\n            \"DE\",\n            \"FR\"\n        ],\n        \"active\": null,\n        \"licensable\": null,\n        \"restricted\": null,\n        \"commercial\": null,\n        \"recognisable\": null,\n        \"sync_history\": null,\n        \"jam_sync\": null,\n        \"hit\": null,\n        \"top\": null,\n        \"publishers\": [\n            \"Harmix Studio\"\n        ],\n        \"owner\": [\n            \"Owner\"\n        ],\n        \"share\": 0.5,\n        \"external_id\": \"1234-5678\",\n        \"audio_url\": \"https://harmix.ai/storage/myaudio.mp3\",\n        \"waveform_url\": \"https://harmix.ai/storage/myaudio-waveform.json\",\n        \"extra_parameters\": {\n            \"custom_attribute_1\": \"value_1\"\n        }\n    }\n}"},{"id":"1aebbef5-676c-46c4-8d15-50049c522dfc","name":"409 Conflict","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data","type":"text"},{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"track","contentType":"","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/Users/Shared/audio.mp3"],"src":"/Users/Shared/audio.mp3"},{"key":"webhook","value":"https:/mywebhook","type":"text"},{"key":"metadata","value":"{\n  \"source_id\": \"14393369\",\n  \"isrc\": \"AB1234567890\",\n  \"track_title\": \"Sunflower\",\n  \"track_number\": \"12\",\n  \"track_code\": \"HRMX9#12\",\n  \"track_description\": \"A track that conveys a sense of hope, loyalty, and love for someone or something that is unique and special.\",\n  \"release_year\": 2017,\n  \"release_date\": \"2017-12-05\",\n  \"version\": false,\n  \"version_tag\": \"Main\",\n  \"version_name\": \"Sunflower (Main)\",\n  \"master_id\": \"143933\",\n  \"label_name\": \"Harmix Records\",\n  \"label_code\": \"HRMX\",\n  \"album_number\": \"3\",\n  \"album_code\": \"HRMX3\",\n  \"album_name\": \"Happy evenings\",\n  \"album_description\": \"Music for happy evenings\",\n  \"album_keywords\": [\"Happy\", \"Enticing\"],\n  \"duration\": 224,\n  \"tempo\": \"slow\",\n  \"bpm\": 80,\n  \"key\": \"D#m\",\n  \"time_signature\": \"3/4\",\n  \"is_instrumental\": null,\n  \"is_vocal\": null,\n  \"lyrics\": \"You’re the sunflower, ...\",\n  \"lyrics_language\": \"EN\",\n  \"explicit_lyrics\": null,\n  \"artists\": [\"John Doe\", \"Jane Doe\"],\n  \"composers\": [\"Alice Hellmann\", \"Bob Diffie\"],\n  \"genres\": [\"Pop\", \"Rap\"],\n  \"moods\": [\"Happy\", \"Enticing\"],\n  \"instruments\": [\"Piano\", \"Acoustic guitar\"],\n  \"music_keywords\": [\"Commercial\", \"Cafe\", \"Games\"],\n  \"decades\": [\"2010s\"],\n  \"vocals\": [\"vocal\", \"male vocal\"],\n  \"available_countries\": [\"US\", \"UK\", \"DE\", \"FR\"],\n  \"active\": null,\n  \"licensable\": null,\n  \"restricted\": null,\n  \"commercial\": null,\n  \"recognisable\": null,\n  \"sync_history\": null,\n  \"jam_sync\": null,\n  \"hit\": null,\n  \"top\": null,\n  \"publishers\": [\"Harmix Studio\"],\n  \"owner\": [\"Owner\"],\n  \"share\": 0.5,\n  \"external_id\": \"1234-5678\"\n}","contentType":"application/json","type":"text"}]},"url":"https://api.harmix.ai/tracks"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": {\n        \"code\": 1001,\n        \"status\": \"failure\",\n        \"message\": \"The track record with the provided Primary Key metadata already exists in your Harmix catalog. System ID: 3c41f3c8-476e-41ae-b04d-9620cc7be700.\",\n        \"details\": \"Please use a different track identifier or refer to the Metadata Schema regarding Metadata Overlapping in the Harmix Documentation: https://docs.harmix.ai/#metadata-schema\"\n    }\n}"}],"_postman_id":"f8f83773-7659-48f3-a723-3401f0bf2680"},{"name":"Get Track Processing Status","id":"dc5f2dca-f6c7-4276-84db-b5a893303c49","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"system_id\": \"8e01f39d-fc35-4b4f-bed4-ca0f0b8dc661\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/tracks/status","description":"<p>Get track processing status by its Primary Key.</p>\n<h3 id=\"body-json\">Body JSON</h3>\n<p>This operation type is executed on <strong>only one</strong> track at a time by its Primary Key or Composite Primary Key by composing the <code>primary_key</code> body:</p>\n<ul>\n<li>The Primary Key is represented as the <code>system_id</code> that you receive after uploading your track to Harmix's end. It uniquely identifies a track in Harmix's system.</li>\n<li>The Composite Primary Key is represented as one or multiple fields from the <a href=\"#metadata-schema\">Metadata Schema</a>. The combination of metadata fields, such as <code>source_id</code>, <code>version_tag</code>, etc, can uniquely identify a track in Harmix's system.</li>\n</ul>\n<h3 id=\"track-statuses\">Track Statuses</h3>\n<p>At each stage of processing, each track is assigned a <code>processing_status</code> code that denotes whether the track is ready for a particular type of search.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0</td>\n<td>This track and its metadata have been successfully saved in the Harmix database.</td>\n</tr>\n<tr>\n<td>1</td>\n<td>This track is now available for Prompt Search, Video Search, and Similarity Search.</td>\n</tr>\n<tr>\n<td>2</td>\n<td>This track is now available for Prompt Search, Video Search, Similarity Search, and Story Search.</td>\n</tr>\n<tr>\n<td>3</td>\n<td>This track is now available for Prompt Search, Video Search, Similarity Search, and segments Highlighting.</td>\n</tr>\n<tr>\n<td>4</td>\n<td>This track is now available for Prompt Search, Video Search, Similarity Search, Story Search, and segments Highlighting.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"1543852a-de15-4e0d-b868-3aee3f393289","id":"1543852a-de15-4e0d-b868-3aee3f393289","name":"Catalog Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["tracks","status"],"host":["api","harmix","ai"],"query":[],"variable":[]}},"response":[{"id":"2de3a788-3102-4085-844e-94304220e5b9","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.harmix.ai/tracks/status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"processing_status\": 0,\n    \"status\": \"success\",\n    \"primary_key\": {\n        \"system_id\": \"3c41f3c8-476e-41ae-b04d-9620cc7be700\"\n    }\n}"},{"id":"351533b0-1be6-4b10-a91a-1772eb91be34","name":"404 Not Found","originalRequest":{"method":"GET","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.harmix.ai/tracks/status"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": {\n        \"code\": 1002,\n        \"status\": \"failure\",\n        \"message\": \"No tracks found for the specified Primary Key in your Harmix catalog.\",\n        \"details\": \"Please update the Primary Key parameters and try again. More information on that is in the Harmix Metadata Schema Documentation: https://docs.harmix.ai/#metadata-schema\"\n    }\n}"}],"_postman_id":"dc5f2dca-f6c7-4276-84db-b5a893303c49"},{"name":"Delete Track","id":"ea8423e9-c15f-4cd6-a501-9dc399bfa11a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"system_id\": \"8e01f39d-fc35-4b4f-bed4-ca0f0b8dc661\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/tracks?force=False","description":"<p>Delete track from Harmix searchable catalog by its Primary Key and return its metadata.</p>\n<blockquote>\n<p>Deleting a track from the Harmix searchable catalog results in complete track deletion from our storage and database. If you want to remove a particular track from searchable results, consider using one of our predefined parameters in our metadata schema, e.g., <code>active=False</code>. Afterwards, apply that filter to your search query. </p>\n</blockquote>\n<h3 id=\"query-parameters\">Query Parameters</h3>\n<ul>\n<li><code>force</code> <strong>(OPTIONAL)</strong>: Ensures the deletion of all matching tracks, even if multiple are found by the provided Primary Key, guaranteeing a complete removal.</li>\n</ul>\n<h3 id=\"body-json\">Body JSON</h3>\n<p>This operation type is executed by the track's Primary Key or Composite Primary Key by composing the <code>primary_key</code> body:</p>\n<ul>\n<li>The Primary Key is represented as the <code>system_id</code> that you receive after uploading your track to Harmix's end. It uniquely identifies a track in Harmix's system.</li>\n<li>The Composite Primary Key is represented as one or multiple fields from the <a href=\"#metadata-schema\">Metadata Schema</a>. The combination of metadata fields, such as <code>source_id</code>, <code>version_tag</code>, etc, can uniquely identify a track in Harmix's system.</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"1543852a-de15-4e0d-b868-3aee3f393289","id":"1543852a-de15-4e0d-b868-3aee3f393289","name":"Catalog Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["tracks"],"host":["api","harmix","ai"],"query":[{"description":{"content":"<p>Ensures the deletion of all matching tracks.</p>\n","type":"text/plain"},"key":"force","value":"False"}],"variable":[]}},"response":[{"id":"9defe40f-eb41-4bc0-addc-d395301580dc","name":"200 OK","originalRequest":{"method":"DELETE","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"source_id\": \"14393369\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.harmix.ai/tracks?force=True","protocol":"https","host":["api","harmix","ai"],"path":["tracks"],"query":[{"key":"force","value":"True"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"deleted_at\": \"2023-12-04T12:53:02.411559Z\",\n    \"status\": \"success\",\n    \"primary_key\": {\n        \"source_id\": \"14393369\"\n    },\n    \"tracks_number\": 2,\n    \"tracks\": [\n        {\n            \"system_id\": \"117568f2-2afb-4e98-b37d-1b82822068c7\",\n            \"metadata\": {\n                \"source_id\": \"14393369\",\n                \"isrc\": \"AB1234567890\",\n                \"track_title\": \"Sunflower\",\n                \"track_number\": \"12\",\n                \"track_code\": \"HRMX9#12\",\n                \"track_description\": \"A track that conveys a sense of hope, loyalty, and love for someone or something that is unique and special.\",\n                \"release_year\": 2017,\n                \"release_date\": \"2017-12-05\",\n                \"version\": false,\n                \"version_tag\": \"Main\",\n                \"version_name\": \"Sunflower (Main)\",\n                \"versions_number\": 5,\n                \"master_id\": \"143933\",\n                \"label_name\": \"Harmix Records\",\n                \"label_code\": \"HRMX\",\n                \"album_id\": \"hrmx-albm-rck3\",\n                \"album_number\": \"3\",\n                \"album_code\": \"HRMX3\",\n                \"album_name\": \"Happy evenings\",\n                \"album_description\": \"Music for happy evenings\",\n                \"album_cover_url\": \"https://harmix.ai/storage/hrmx-albm-rck3-cover.jpg\",\n                \"album_keywords\": [\n                    \"Happy\",\n                    \"Enticing\"\n                ],\n                \"duration\": 224,\n                \"tempo\": \"slow\",\n                \"bpm\": 80,\n                \"key\": \"D#m\",\n                \"time_signature\": \"3/4\",\n                \"is_instrumental\": null,\n                \"is_vocal\": null,\n                \"lyrics\": \"You’re the sunflower, ...\",\n                \"lyrics_language\": \"EN\",\n                \"explicit_lyrics\": null,\n                \"artists\": [\n                    \"John Doe\",\n                    \"Jane Doe\"\n                ],\n                \"composers\": [\n                    \"Alice Hellmann\",\n                    \"Bob Diffie\"\n                ],\n                \"genres\": [\n                    \"Pop\",\n                    \"Rap\"\n                ],\n                \"moods\": [\n                    \"Happy\",\n                    \"Enticing\"\n                ],\n                \"instruments\": [\n                    \"Piano\",\n                    \"Acoustic guitar\"\n                ],\n                \"music_keywords\": [\n                    \"Commercial\",\n                    \"Cafe\",\n                    \"Games\"\n                ],\n                \"decades\": [\n                    \"2010s\"\n                ],\n                \"vocals\": [\n                    \"vocal\",\n                    \"male vocal\"\n                ],\n                \"available_countries\": [\n                    \"US\",\n                    \"UK\",\n                    \"DE\",\n                    \"FR\"\n                ],\n                \"active\": null,\n                \"licensable\": null,\n                \"restricted\": null,\n                \"commercial\": null,\n                \"recognisable\": null,\n                \"sync_history\": null,\n                \"jam_sync\": null,\n                \"hit\": null,\n                \"top\": null,\n                \"publishers\": [\n                    \"Harmix Studio\"\n                ],\n                \"owner\": [\n                    \"Owner\"\n                ],\n                \"share\": 0.5,\n                \"external_id\": \"1234-5678\",\n                \"audio_url\": \"https://harmix.ai/storage/myaudio.mp3\",\n                \"waveform_url\": \"https://harmix.ai/storage/myaudio-waveform.json\",\n                \"extra_parameters\": {\n                    \"custom_attribute_1\": \"value_1\"\n                }\n            }\n        }\n    ]\n}"},{"id":"5a096053-1449-4a16-9624-9db8039fe5a3","name":"404 Not Found","originalRequest":{"method":"DELETE","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"source_id\": \"123455\",\n        \"version_tag\": \"Main\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/tracks"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": {\n        \"code\": 1002,\n        \"status\": \"failure\",\n        \"message\": \"No tracks found for the specified Primary Key in your Harmix catalog.\",\n        \"details\": \"Please update the Primary Key parameters and try again. More information on that is in the Harmix Metadata Schema Documentation: https://docs.harmix.ai/#metadata-schema\"\n    }\n}"}],"_postman_id":"ea8423e9-c15f-4cd6-a501-9dc399bfa11a"},{"name":"Update Track Metadata","id":"1fd87f26-c0ea-46c7-afe9-52f7bbf477c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"system_id\": \"8e01f39d-fc35-4b4f-bed4-ca0f0b8dc661\"\n    },\n    \"update_metadata\": {\n        \"isrc\": \"AB1234567890\",\n        \"track_title\": \"Sunflower\",\n        \"external_id\": \"1234-5678\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/tracks","description":"<p>Update track metadata by its Primary Key. Updating track metadata will not require any track reprocessing. This operation type is executed on <strong>only one</strong> track at a time.</p>\n<blockquote>\n<p>You can update any metadata parameter except for <code>source_id</code> from our metadata schema. </p>\n</blockquote>\n<h3 id=\"body-json\">Body JSON</h3>\n<ul>\n<li><code>primary_key</code> (<strong>REQUIRED</strong>): Unique track identifier that is either a Primary Key or a Composite Primary Key:<ul>\n<li>The Primary Key is represented as the <code>system_id</code> that you receive after uploading your track to Harmix's end. It uniquely identifies a track in Harmix's system.</li>\n<li>The Composite Primary Key is represented as one or multiple fields from the <a href=\"#metadata-schema\">Metadata Schema</a>. The combination of metadata fields, such as <code>source_id</code>, <code>version_tag</code>, etc, can uniquely identify a track in Harmix's system.</li>\n</ul>\n</li>\n<li><code>update_metadata</code> (<strong>REQUIRED</strong>): A JSON object of track metadata to update that corresponds to the <a href=\"#metadata-schema\">Metadata Schema</a>.</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"1543852a-de15-4e0d-b868-3aee3f393289","id":"1543852a-de15-4e0d-b868-3aee3f393289","name":"Catalog Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["tracks"],"host":["api","harmix","ai"],"query":[],"variable":[]}},"response":[{"id":"21c4bf06-f670-4e68-a8f4-f4f872bab1af","name":"200 OK","originalRequest":{"method":"PUT","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"system_id\": \"3c41f3c8-476e-41ae-b04d-9620cc7be700\"\n    },\n    \"update_metadata\": {\n        \"isrc\": \"AB1234567890\",\n        \"track_title\": \"Sunflower 2\",\n        \"external_id\": \"1234-5678\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/tracks"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"updated_at\": \"2023-12-04T12:43:01.835363Z\",\n    \"status\": \"success\",\n    \"primary_key\": {\n        \"system_id\": \"3c41f3c8-476e-41ae-b04d-9620cc7be700\"\n    },\n    \"metadata\": {\n        \"source_id\": \"14393369\",\n        \"isrc\": \"AB1234567890\",\n        \"track_title\": \"Sunflower\",\n        \"track_number\": \"12\",\n        \"track_code\": \"HRMX9#12\",\n        \"track_description\": \"A track that conveys a sense of hope, loyalty, and love for someone or something that is unique and special.\",\n        \"release_year\": 2017,\n        \"release_date\": \"2017-12-05\",\n        \"version\": false,\n        \"version_tag\": \"Main\",\n        \"version_name\": \"Sunflower (Main)\",\n        \"versions_number\": 5,\n        \"master_id\": \"143933\",\n        \"label_name\": \"Harmix Records\",\n        \"label_code\": \"HRMX\",\n        \"album_id\": \"hrmx-albm-rck3\",\n        \"album_number\": \"3\",\n        \"album_code\": \"HRMX3\",\n        \"album_name\": \"Happy evenings\",\n        \"album_description\": \"Music for happy evenings\",\n        \"album_cover_url\": \"https://harmix.ai/storage/hrmx-albm-rck3-cover.jpg\",\n        \"album_keywords\": [\n            \"Happy\",\n            \"Enticing\"\n        ],\n        \"duration\": 224,\n        \"tempo\": \"slow\",\n        \"bpm\": 80,\n        \"key\": \"D#m\",\n        \"time_signature\": \"3/4\",\n        \"is_instrumental\": null,\n        \"is_vocal\": null,\n        \"lyrics\": \"You’re the sunflower, ...\",\n        \"lyrics_language\": \"EN\",\n        \"explicit_lyrics\": null,\n        \"artists\": [\n            \"John Doe\",\n            \"Jane Doe\"\n        ],\n        \"composers\": [\n            \"Alice Hellmann\",\n            \"Bob Diffie\"\n        ],\n        \"genres\": [\n            \"Pop\",\n            \"Rap\"\n        ],\n        \"moods\": [\n            \"Happy\",\n            \"Enticing\"\n        ],\n        \"instruments\": [\n            \"Piano\",\n            \"Acoustic guitar\"\n        ],\n        \"music_keywords\": [\n            \"Commercial\",\n            \"Cafe\",\n            \"Games\"\n        ],\n        \"decades\": [\n            \"2010s\"\n        ],\n        \"vocals\": [\n            \"vocal\",\n            \"male vocal\"\n        ],\n        \"available_countries\": [\n            \"US\",\n            \"UK\",\n            \"DE\",\n            \"FR\"\n        ],\n        \"active\": null,\n        \"licensable\": null,\n        \"restricted\": null,\n        \"commercial\": null,\n        \"recognisable\": null,\n        \"sync_history\": null,\n        \"jam_sync\": null,\n        \"hit\": null,\n        \"top\": null,\n        \"publishers\": [\n            \"Harmix Studio\"\n        ],\n        \"owner\": [\n            \"Owner\"\n        ],\n        \"share\": 0.5,\n        \"external_id\": \"1234-5678\",\n        \"audio_url\": \"https://harmix.ai/storage/myaudio.mp3\",\n        \"waveform_url\": \"https://harmix.ai/storage/myaudio-waveform.json\",\n        \"extra_parameters\": {\n            \"custom_attribute_1\": \"value_1\"\n        }\n    }\n}"},{"id":"4feb89ad-bfde-40e0-ba3f-1f28a5e61e57","name":"404 Not Found","originalRequest":{"method":"PUT","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"source_id\": \"123455\",\n        \"version_tag\": \"Main\"\n    },\n    \"update_metadata\": {\n        \"isrc\": \"AB1234567890\",\n        \"track_title\": \"Sunflower\",\n        \"external_id\": \"1234-5678\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/tracks"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": {\n        \"code\": 1002,\n        \"status\": \"failure\",\n        \"message\": \"No tracks found for the specified Primary Key in your Harmix catalog.\",\n        \"details\": \"Please update the Primary Key parameters and try again. More information on that is in the Harmix Metadata Schema Documentation: https://docs.harmix.ai/#metadata-schema\"\n    }\n}"},{"id":"daf8badb-4d29-472a-bf08-faefbe788d37","name":"409 Conflict","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"system_id\": \"8e01f39d-fc35-4b4f-bed4-ca0f0b8dc661\"\n    },\n    \"update_metadata\": {\n        \"isrc\": \"AB1234567890\",\n        \"track_title\": \"Sunflower\",\n        \"external_id\": \"1234-5678\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/tracks"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": {\n        \"code\": 1001,\n        \"status\": \"failure\",\n        \"message\": \"Failed to update a track record as such a record already exists, causing record duplication.\",\n        \"details\": \"The record with the same metadata parameters already exists in your Harmix catalog. More information on the Metadata Schema is in the Harmix Documentation: https://docs.harmix.ai/#metadata-schema\"\n    }\n}"}],"_postman_id":"1fd87f26-c0ea-46c7-afe9-52f7bbf477c0"},{"name":"Bulk Update Tracks Metadata","id":"b76207cf-7509-4b96-a674-db0d9e9d625c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"[\n    {\n\t    \"primary_key\": {\n            \"system_id\": \"8e01f39d-fc35-4b4f-bed4-ca0f0b8dc661\"\n        },\n        \"update_metadata\": {\n            \"isrc\": \"AB1234567890\",\n            \"track_title\": \"Sunflower\",\n            \"external_id\": \"1234-5678\"\n        }\n    },\n\t{\n        \"primary_key\": {\n            \"system_id\": \"2e01f37d-fc35-4c4f-bed4-ca0p0b8dc652\"\n        },\n        \"update_metadata\": {\n            \"isrc\": \"AB1234567891\",\n            \"track_title\": \"Rap Dog\",\n            \"external_id\": \"6660-4321\"\n        }\n    },\n\t{\n        \"primary_key\": {\n            \"system_id\": \"9d01f54d-fd35-4e4e-bed4-ca0p0b8dc789\"\n        },\n        \"update_metadata\": {\n            \"isrc\": \"AB1234567892\",\n            \"track_title\": \"Jump\",\n            \"external_id\": \"6868-5615\"\n        }\n\t}\n]","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/tracks/_bulk","description":"<p>Perform a bulk update of track metadata for <strong>up to 1,000 tracks</strong> in a single request using their Primary Keys. This endpoint is <strong>significantly faster and more efficient</strong> than sending 1,000 individual update requests, as it avoids unnecessary overhead. Updating track metadata will <strong>not</strong> require any track reprocessing.</p>\n<blockquote>\n<p>You can update any metadata parameter except for <code>source_id</code> from our metadata schema. </p>\n</blockquote>\n<h3 id=\"body-json\">Body JSON</h3>\n<p>A list of 1-1000 JSON objects containg:</p>\n<ul>\n<li><p><code>primary_key</code> (<strong>REQUIRED</strong>): Unique track identifier that is represented as <code>system_id</code> or <code>source_id</code>.</p>\n</li>\n<li><p><code>update_metadata</code> (<strong>REQUIRED</strong>): A JSON object of track metadata to update that corresponds to the <a href=\"#metadata-schema\">Metadata Schema</a>. Please, provide <strong>only</strong> the fields that you want to update.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The output returns a summary of the operation, including the <code>errors</code> flag indicating if any errors occurred, and a list of results for each track.</p>\n<ul>\n<li>Each track is reported individually with its associated Primary Key and an HTTP-style status code showing the outcome of its update (e.g., <code>200</code> for success, <code>404</code> if the track was not found).</li>\n</ul>\n<p>This per-track feedback makes it easy to detect and handle partial failures within a bulk update request.</p>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"1543852a-de15-4e0d-b868-3aee3f393289","id":"1543852a-de15-4e0d-b868-3aee3f393289","name":"Catalog Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["tracks","_bulk"],"host":["api","harmix","ai"],"query":[],"variable":[]}},"response":[{"id":"ed260336-66d9-4e28-92cc-6d21c17839cc","name":"200 OK","originalRequest":{"method":"PUT","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"[\n    {\n\t    \"primary_key\": {\n            \"system_id\": \"8e01f39d-fc35-4b4f-bed4-ca0f0b8dc661\"\n        },\n        \"update_metadata\": {\n            \"isrc\": \"AB1234567890\",\n            \"track_title\": \"Sunflower\",\n            \"external_id\": \"1234-5678\"\n        }\n    },\n\t{\n        \"primary_key\": {\n            \"system_id\": \"2e01f37d-fc35-4c4f-bed4-ca0p0b8dc652\"\n        },\n        \"update_metadata\": {\n            \"isrc\": \"AB1234567891\",\n            \"track_title\": \"Rap Dog\",\n            \"external_id\": \"6660-4321\"\n        }\n    },\n\t{\n        \"primary_key\": {\n            \"system_id\": \"9d01f54d-fd35-4e4e-bed4-ca0p0b8dc789\"\n        },\n        \"update_metadata\": {\n            \"isrc\": \"AB1234567892\",\n            \"track_title\": \"Jump\",\n            \"external_id\": \"6868-5615\"\n        }\n\t}\n]","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/tracks/_bulk"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"updated_at\": \"2023-12-04T12:43:01.835363Z\",\n  \"errors\": true,\n  \"items\": [\n\t  {\n\t\t  \"status\": 200,\n\t\t  \"primary_key\": {\n\t\t    \"system_id\": \"8e01f39d-fc35-4b4f-bed4-ca0f0b8dc661\"\n\t\t  }\n\t\t},\n\t\t{\n\t\t  \"status\": 200,\n\t\t  \"primary_key\": {\n\t\t    \"system_id\": \"2e01f37d-fc35-4c4f-bed4-ca0p0b8dc652\"\n\t\t  }\n\t\t},\n\t\t{\n\t\t  \"status\": 404,\n\t\t  \"primary_key\": {\n\t\t    \"system_id\": \"9d01f54d-fd35-4e4e-bed4-ca0p0b8dc789\"\n\t\t  }\n\t\t}\n\t]\n}"}],"_postman_id":"b76207cf-7509-4b96-a674-db0d9e9d625c"},{"name":"Get Tracks","id":"934ea67c-7015-43ea-aca0-e5fd66108cbf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"system_id\": \"8e01f39d-fc35-4b4f-bed4-ca0f0b8dc661\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/tracks?system_id=<SYSTEM-ID>&source_id=<SOURCE-ID>","description":"<p>Get tracks' metadata by one of the input parameters:</p>\n<ul>\n<li><p><code>system_id</code> (query param): Track identifier in Harmix system.</p>\n</li>\n<li><p><code>source_id</code> (query param): Track identifier in your system.</p>\n</li>\n<li><p><code>primary_key</code> (body): Track identifier combining multiple metadata fields.</p>\n</li>\n</ul>\n<p>Only one of input parameters should be provided.</p>\n<h3 id=\"body-json\">Body JSON</h3>\n<ul>\n<li><p><code>primary_key</code> (<strong>OPTIONAL</strong>): Unique track identifier that is either a Primary Key or a Composite Primary Key:</p>\n<ul>\n<li><p>The Primary Key is represented as the <code>system_id</code> that you receive after uploading your track to Harmix's end. It uniquely identifies a track in Harmix's system.</p>\n</li>\n<li><p>The Composite Primary Key is represented as one or multiple fields from the <a href=\"#metadata-schema\">Metadata Schema</a>. The combination of metadata fields, such as <code>source_id</code>, <code>version_tag</code>, etc, can uniquely identify a track in Harmix's system.</p>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"1543852a-de15-4e0d-b868-3aee3f393289","id":"1543852a-de15-4e0d-b868-3aee3f393289","name":"Catalog Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["tracks"],"host":["api","harmix","ai"],"query":[{"description":{"content":"<p>Unique identifier in Harmix system.</p>\n","type":"text/plain"},"key":"system_id","value":"<SYSTEM-ID>"},{"description":{"content":"<p>Unique source identifier.</p>\n","type":"text/plain"},"key":"source_id","value":"<SOURCE-ID>"}],"variable":[]}},"response":[{"id":"f8390a05-6d00-4b3c-a841-6975c8e633e6","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.harmix.ai/tracks"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"primary_key\": {\n        \"source_id\": \"14393369\"\n    },\n    \"tracks_number\": 1,\n    \"tracks\": [\n        {\n            \"system_id\": \"3c41f3c8-476e-41ae-b04d-9620cc7be700\",\n            \"metadata\": {\n                \"source_id\": \"14393369\",\n                \"isrc\": \"AB1234567890\",\n                \"track_title\": \"Sunflower\",\n                \"track_number\": \"12\",\n                \"track_code\": \"HRMX9#12\",\n                \"track_description\": \"A track that conveys a sense of hope, loyalty, and love for someone or something that is unique and special.\",\n                \"release_year\": 2017,\n                \"release_date\": \"2017-12-05\",\n                \"version\": false,\n                \"version_tag\": \"Main\",\n                \"version_name\": \"Sunflower (Main)\",\n                \"versions_number\": 5,\n                \"master_id\": \"143933\",\n                \"label_name\": \"Harmix Records\",\n                \"label_code\": \"HRMX\",\n                \"album_id\": \"hrmx-albm-rck3\",\n                \"album_number\": \"3\",\n                \"album_code\": \"HRMX3\",\n                \"album_name\": \"Happy evenings\",\n                \"album_description\": \"Music for happy evenings\",\n                \"album_cover_url\": \"https://harmix.ai/storage/hrmx-albm-rck3-cover.jpg\",\n                \"album_keywords\": [\n                    \"Happy\",\n                    \"Enticing\"\n                ],\n                \"duration\": 224,\n                \"tempo\": \"slow\",\n                \"bpm\": 80,\n                \"key\": \"D#m\",\n                \"time_signature\": \"3/4\",\n                \"is_instrumental\": null,\n                \"is_vocal\": null,\n                \"lyrics\": \"You’re the sunflower, ...\",\n                \"lyrics_language\": \"EN\",\n                \"explicit_lyrics\": null,\n                \"artists\": [\n                    \"John Doe\",\n                    \"Jane Doe\"\n                ],\n                \"composers\": [\n                    \"Alice Hellmann\",\n                    \"Bob Diffie\"\n                ],\n                \"genres\": [\n                    \"Pop\",\n                    \"Rap\"\n                ],\n                \"moods\": [\n                    \"Happy\",\n                    \"Enticing\"\n                ],\n                \"instruments\": [\n                    \"Piano\",\n                    \"Acoustic guitar\"\n                ],\n                \"music_keywords\": [\n                    \"Commercial\",\n                    \"Cafe\",\n                    \"Games\"\n                ],\n                \"decades\": [\n                    \"2010s\"\n                ],\n                \"vocals\": [\n                    \"vocal\",\n                    \"male vocal\"\n                ],\n                \"available_countries\": [\n                    \"US\",\n                    \"UK\",\n                    \"DE\",\n                    \"FR\"\n                ],\n                \"active\": null,\n                \"licensable\": null,\n                \"restricted\": null,\n                \"commercial\": null,\n                \"recognisable\": null,\n                \"sync_history\": null,\n                \"jam_sync\": null,\n                \"hit\": null,\n                \"top\": null,\n                \"publishers\": [\n                    \"Harmix Studio\"\n                ],\n                \"owner\": [\n                    \"Owner\"\n                ],\n                \"share\": 0.5,\n                \"external_id\": \"1234-5678\",\n                \"audio_url\": \"https://harmix.ai/storage/myaudio.mp3\",\n                \"waveform_url\": \"https://harmix.ai/storage/myaudio-waveform.json\",\n                \"extra_parameters\": {\n                    \"custom_attribute_1\": \"value_1\"\n                }\n            }\n        }\n    ]\n}"},{"id":"32baf3b6-bd97-4842-93f0-48b865f67bb8","name":"404 Not Found","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.harmix.ai/tracks"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": {\n        \"code\": 1002,\n        \"status\": \"failure\",\n        \"message\": \"No tracks found for the specified Primary Key in your Harmix catalog.\",\n        \"details\": \"Please update the Primary Key parameters and try again. More information on that is in the Harmix Metadata Schema Documentation: https://docs.harmix.ai/#metadata-schema\"\n    }\n}"}],"_postman_id":"934ea67c-7015-43ea-aca0-e5fd66108cbf"}],"id":"1543852a-de15-4e0d-b868-3aee3f393289","description":"<p>Our collection of CRUD (Create, Read, Update, Delete) endpoints forms the backbone of our API, offering our clients the tools to efficiently manage their music catalogs stored within Harmix's internal storage system. These endpoints empower users to perform essential operations on their music assets, allowing for the seamless addition, retrieval, modification, and removal of tracks and associated metadata.</p>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"27c33f06-73e4-4f8d-8ab8-3ac9a7819d86"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"1d5696e0-2d2e-4901-b418-0c9d236d4465"}}],"_postman_id":"1543852a-de15-4e0d-b868-3aee3f393289"},{"name":"Search Endpoints","item":[{"name":"Upload Reference File","id":"ce2ea5d3-e178-4f41-8bbb-456a6595d5e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"type","value":"youtube-audio","description":"<p>Upload type.</p>\n","type":"text"},{"key":"source","description":"<p>Audio/video binary file.</p>\n","type":"file","src":"/Users/Shared/audio.mp3"},{"key":"reference","value":"https://www.youtube.com/watch?v=QYh6mYIJG2Y","description":"<p>Spotify or YouTube URL.</p>\n","type":"text"}]},"url":"https://api.harmix.ai/upload?session_id=<USER-SESSION-ID>&priority=<UPLOAD-PRIORITY>","description":"<p>Utilizing our <code>/search</code> endpoint for the Similarity Search on a particular external audio track or Video Search on the desired video requires uploading a respective binary file to the Harmix's side.</p>\n<blockquote>\n<p>We support either uploading your audio/video or referencing the desired audio from Spotify or YouTube via the source URL. Note here that you can specify only one external reference at a time. </p>\n</blockquote>\n<p>Once a specific file is uploaded, you will receive the <code>upload_id</code> - Harmix's internal ID for the externally uploaded files that allows you to apply the Similarity Search or Video Search on.</p>\n<p>When sending the request, you have to specify a correct reference type. Currently, we support the following reference types:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Reference Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>manual-audio</td>\n<td>External audio file. Supported formats: MP3, WAV, M4A. Maximum file size: 120Mb.</td>\n</tr>\n<tr>\n<td>manual-video</td>\n<td>External video file. Requires some video preprocessing on the client side to achieve fast processing speeds. To receive more information about video preprocessing along with the code snippet, contact <a href=\"https://mailto:support@harmix.ai\">support@harmix.ai</a>.</td>\n</tr>\n<tr>\n<td>spotify</td>\n<td>Spotify URL. Maximum duration: 12 minutes.</td>\n</tr>\n<tr>\n<td>youtube-audio</td>\n<td>YouTube video URL. Maximum duration: 12 minutes.</td>\n</tr>\n<tr>\n<td>vimeo-audio</td>\n<td>Vimeo video URL. Maximum duration: 12 minutes.</td>\n</tr>\n<tr>\n<td>soundcloud</td>\n<td>Soundcloud URL. Maximum duration: 12 minutes.</td>\n</tr>\n<tr>\n<td>tiktok-audio</td>\n<td>TikTok video or music URL.  <br />URLs from mobile apps are currently not supported (<a href=\"https://vm.tiktok.com/\">https://vm.tiktok.com/</a>... and <a href=\"https://vt.tiktok.com/\">https://vt.tiktok.com/</a>...).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"query-parameters\">Query Parameters</h3>\n<ul>\n<li><p><code>session_id</code> <strong>(OPTIONAL)</strong>: A unique identifier associated with a user session or a user's client-side web account. It is utilized to track and report user interactions with Harmix based on their requests. After, the Harmix team subsequently analyzes this data to gain insights and improve the product's performance and user experience. This parameter can represent a session, user ID, or any other ID uniquely identifying the user's interaction with Harmix. <em>We highly recommend always to use this parameter in your requests.</em></p>\n</li>\n<li><p><code>priority</code> <strong>(OPTIONAL)</strong>: Determines which download strategy to use when fetching reference tracks from streaming services (YouTube, Spotify, etc.). Supported values:</p>\n<ul>\n<li><p><code>original</code>:<br />  Downloads the full audio track from its original source (YouTube, SoundCloud, etc.). The system attempts the original source first and falls back to secondary sources only if the primary source is unavailable.</p>\n</li>\n<li><p><code>fast</code>:<br />  Downloads a 30-second preview from a secondary source (for example, for YouTube references, the secondary source may be Spotify). This option provides faster processing but returns a short preview. If the preview is unavailable, the system falls back to downloading from the original source.</p>\n</li>\n<li><p><strong>Notes:</strong></p>\n<ul>\n<li><p>Upload references support caching. If a <code>fast</code>-priority request is made and the full original track already exists in the cache, the cached version will be returned instead of the 30-second preview.</p>\n</li>\n<li><p>The <code>fast</code> priority currently affects <strong>YouTube</strong> references only; for other services, it behaves the same as <code>original</code>.</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"form-data-keys\">Form-Data Keys</h3>\n<ul>\n<li><p><code>type</code> <strong>(REQUIRED)</strong>: Specifies the reference type of upload.</p>\n</li>\n<li><p><code>source</code> <strong>(OPTIONAL)</strong>: Audio file that needs to be uploaded. In the case of video uploading, contact <a href=\"https://mailto:support@harmix.ai/\">support@harmix.ai</a> or follow the instructions we provide you personally.</p>\n</li>\n<li><p><code>reference</code> <strong>(OPTIONAL)</strong>: A reference track URL from Spotify or YouTube.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p><code>upload_id</code>: Unique identifier for the uploaded reference to be used in search request.</p>\n</li>\n<li><p><code>uploaded_at</code>: Timestamp when the reference was uploaded.</p>\n</li>\n<li><p><code>status</code>: Status of the upload.</p>\n</li>\n<li><p><code>audio_url</code>: Temporary URL valid for 12 hours to access the uploaded reference. Available only for audio references.</p>\n</li>\n<li><p><code>waveform_url</code>: Temporary URL valid for 12 hours to access waveform of the uploaded audio reference. Available only for audio references.</p>\n</li>\n<li><p><code>metadata</code>: Track metadata extracted from the source service (Spotify, YouTube, etc.). Returns null for manually uploaded files.</p>\n</li>\n<li><p><code>is_variant</code>: Denotes if the uploaded track is variant (e.g., 30-second Spotify preview) of its original version.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"770050a2-600c-4021-b8eb-84eb435f3070","id":"770050a2-600c-4021-b8eb-84eb435f3070","name":"Search Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["upload"],"host":["api","harmix","ai"],"query":[{"description":{"content":"<p>A unique identifier associated with a user session or a user's client-side web account.</p>\n","type":"text/plain"},"key":"session_id","value":"<USER-SESSION-ID>"},{"description":{"content":"<p>Controls the download source strategy when fetching reference tracks from streaming services (YouTube, Spotify, etc.).</p>\n","type":"text/plain"},"key":"priority","value":"<UPLOAD-PRIORITY>"}],"variable":[]}},"response":[{"id":"56bd12b5-ddba-43df-adde-736668f83e82","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"type","value":"manual-audio","description":"Upload type.","type":"text"},{"key":"source","description":"Single audio file or a list of five video screenshots from the reference video. ","type":"file","src":"/Users/Shared/audio.mp3"},{"key":"reference","value":"","description":"Spotify or YouTube URL.","type":"text"}]},"url":{"raw":"https://api.harmix.ai/upload?session_id=<USER-SESSION-ID>","protocol":"https","host":["api","harmix","ai"],"path":["upload"],"query":[{"key":"session_id","value":"<USER-SESSION-ID>"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"upload_id\": \"00228d7a-312d-49b5-a6db-25560b44154f\",\n    \"uploaded_at\": \"2023-12-04T12:28:26.818159Z\",\n    \"status\": \"success\",\n    \"audio_url\": \"...\",\n    \"waveform_url\": \"...\"\n}"},{"id":"c988b840-389e-433f-986e-763984a04284","name":"201 Created | Priority: fast","originalRequest":{"method":"POST","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"type","value":"youtube-audio","description":"Upload type.","type":"text"},{"key":"source","description":"Single audio file or a list of five video screenshots from the reference video. ","type":"file","src":"/Users/Shared/audio.mp3","disabled":true},{"key":"reference","value":"https://www.youtube.com/watch?v=HclsqV4jEUw","description":"Spotify or YouTube URL.","type":"text"}]},"url":{"raw":"https://api.harmix.ai/upload?session_id=<USER-SESSION-ID>&priority=fast","protocol":"https","host":["api","harmix","ai"],"path":["upload"],"query":[{"key":"session_id","value":"<USER-SESSION-ID>"},{"key":"priority","value":"fast","type":"text"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"upload_id\": \"42f26812-b395-586e-b647-9fe46bc8488c\",\n    \"uploaded_at\": \"2025-12-15T09:28:59.790228Z\",\n    \"status\": \"success\",\n    \"audio_url\": \"https://...\",\n    \"waveform_url\": \"https://...\",\n    \"metadata\": {\n        \"service\": \"spotify\",\n        \"reference_id\": \"2yWlGEgEfPot0lv3OAjuG3\",\n        \"title\": \"Just Keep Watching (From F1® The Movie)\",\n        \"artists\": \"Tate McRae, F1 The Album\",\n        \"duration_seconds\": 143,\n        \"url\": \"https://open.spotify.com/track/2yWlGEgEfPot0lv3OAjuG3\",\n        \"preview_url\": \"https://p.scdn.co/mp3-preview/9f2bd9386cb3407de401e794298e2b9429e9722f\"\n    },\n    \"is_variant\": true\n}"},{"id":"ffba6ffc-886e-42ec-8573-400c24537c6f","name":"201 Created | Priority: original","originalRequest":{"method":"POST","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"type","value":"youtube-audio","description":"Upload type.","type":"text"},{"key":"source","description":"Single audio file or a list of five video screenshots from the reference video. ","type":"file","src":"/Users/Shared/audio.mp3","disabled":true},{"key":"reference","value":"https://www.youtube.com/watch?v=HclsqV4jEUw","description":"Spotify or YouTube URL.","type":"text"}]},"url":{"raw":"https://api.harmix.ai/upload?session_id=<USER-SESSION-ID>&priority=original","protocol":"https","host":["api","harmix","ai"],"path":["upload"],"query":[{"key":"session_id","value":"<USER-SESSION-ID>"},{"key":"priority","value":"original"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"upload_id\": \"42f26812-b395-586e-b647-9fe46bc8488c\",\n    \"uploaded_at\": \"2025-12-15T09:28:59.790228Z\",\n    \"status\": \"success\",\n    \"audio_url\": \"https://...\",\n    \"waveform_url\": \"https://...\",\n    \"metadata\": {\n        \"service\": \"youtube-audio\",\n        \"reference_id\": \"HclsqV4jEUw\",\n        \"title\": \"Tate McRae - Just Keep Watching (From F1® The Movie)\",\n        \"artists\": \"Tate McRae\",\n        \"channel_name\": \"LatinHype\",\n        \"duration_seconds\": 143,\n        \"published_at\": \"2025-06-01T23:47:13Z\",\n        \"url\": \"https://www.youtube.com/watch?v=HclsqV4jEUw\"\n    },\n    \"is_variant\": false\n}"},{"id":"faa1161c-f89a-4240-ab87-674bd688cd2e","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"type","value":"manual-audio","description":"Upload type.","type":"text"},{"key":"source","description":"Single audio file or a list of five video screenshots from the reference video. ","type":"file","src":["/Users/Shared/dlc_prof.json"]},{"key":"reference","value":"","description":"Spotify or YouTube URL.","type":"text"}]},"url":{"raw":"https://api.harmix.ai/upload?session_id=<USER-SESSION-ID>","protocol":"https","host":["api","harmix","ai"],"path":["upload"],"query":[{"key":"session_id","value":"<USER-SESSION-ID>"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": {\n        \"code\": 1000,\n        \"status\": \"failure\",\n        \"message\": \"Failed to download a track by the provided reference.\",\n        \"details\": \"Please ensure that the provided reference and reference type are correct. If the error persists, please contact Harmix Support at support@harmix.ai\"\n    }\n}"}],"_postman_id":"ce2ea5d3-e178-4f41-8bbb-456a6595d5e7"},{"name":"Search Tracks by Input Parameters","id":"a959a21a-913a-449c-8f2c-d5acf72b8297","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"audio_reference\": {\n        \"external\": {\n            \"upload_id\": \"<upload-id>\"\n        } | null,\n        \"internal\": {\n            \"primary_key\": {\n                \"system_id\": \"<system_id>\" | null,\n                \"source_id\": \"<source_id>\" | null,\n                \"version_tag\": \"<version_tag>\" | null,\n                \"vocal\": true | null,\n                ...\n            }\n        } | null,\n        \"segment\": {\n            \"start\": 46,\n            \"end\": 67\n        } | null,\n        \"ignore_vocals\": false | true | null,\n        \"prioritize_bpm\": false | true | null,\n        \"highlights\": false | true | null,\n    } | null,\n    \"video_reference\": {\n        \"upload_id\": \"<upload-id>\"\n    } | null,\n    \"prompt\": \"<your_text_prompt>\" | null,\n    \"story\": \"<your_story_prompt>\" | null,\n    \"lyrics\": [\n        {\n            \"operator\": \"contains\",\n            \"value\": \"\"\n        },\n        {\n            \"operator\": \"not-contains\",\n            \"value\": \"\"\n        }\n    ] | null,\n    \"filters\": {\n        \"logic\": \"and\",\n        \"conditions\": [\n            {\n                \"field\": \"duration\",\n                \"operator\": \"gte\",\n                \"value\": 60\n            },\n            {\n                \"logic\": \"or\",\n                \"conditions\": [\n                    {\n                        \"field\": \"instruments\",\n                        \"operator\": \"in\",\n                        \"value\": [\n                            \"guitar\",\n                            \"drums\",\n                            \"piano\"\n                        ]\n                    },\n                    {\n                        \"field\": \"track_name\",\n                        \"operator\": \"begins\",\n                        \"value\": \"Play\"\n                    }\n                ]\n            }\n        ]\n    } | null,\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/search?offset=0&limit=50&session_id=<USER-SESSION-ID>","description":"<p>The Search endpoint is a versatile and comprehensive feature that allows users to perform various types of searches on audio and video content within our system. We support <em>Prompt Search</em>, <em>Video Search</em>, <em>Similarity Search</em>, <em>Story Search</em>, and <em>Lyrics Full-Text Search</em> in one query. All the parameters you input affect the resulting response. Regardless of your input, Harmix will handle it and provide a valid response. As a result, you will receive a list of tracks that best match your input query. You can use the unique track identifier to match the results to your internal catalog.</p>\n<blockquote>\n<p>Results are sorted by relevance, from highest to lowest. </p>\n</blockquote>\n<h3 id=\"query-parameters\">Query Parameters</h3>\n<ul>\n<li><code>session_id</code> <strong>(OPTIONAL)</strong>: A unique identifier associated with a user session or a user's client-side web account. It is utilized to track and report user interactions with Harmix based on their requests. After, the Harmix team subsequently analyzes this data to gain insights and improve the product's performance and user experience. This parameter can represent a session, user ID, or any other ID uniquely identifying the user's interaction with Harmix. <em>We highly recommend always to use this parameter in your requests.</em></li>\n</ul>\n<h3 id=\"body-json\">Body JSON</h3>\n<ul>\n<li><p><code>audio_reference</code> <strong>(OPTIONAL):</strong> An audio reference for the Similarity Search or other kinds of search.</p>\n<ul>\n<li><p><strong>Note</strong>: Only one reference audio track can be used at a time, either internal or external.</p>\n</li>\n<li><p><code>internal</code> (<strong>OPTIONAL</strong>): To use your internal catalog references, you need to pass a <em>primary_key</em>, which is either Harmix's internal Primary Key for your catalog track (<em>system_id</em>) or could be your catalog's Primary Key or a Composite Primary Key involving <em>source_id</em> and other metadata parameters that uniquely identify the track you want to reference.</p>\n</li>\n<li><p><code>external</code> (<strong>OPTIONAL</strong>): You can also reference an external audio track loaded to Harmix's side via the <a href=\"#ce2ea5d3-e178-4f41-8bbb-456a6595d5e7\">/upload</a> endpoint. That track can be referenced using the received <em>upload_id</em>.</p>\n</li>\n<li><p><code>segment</code> (<strong>OPTIONAL</strong>): For each type of audio (external/internal), you can choose a specific timeframe that you want to use for the Similarity Search. This way, only the audio segment starting from <em>segment.start</em> to <em>segment.end</em> will be utilized in the search.</p>\n</li>\n<li><p><code>ignore_vocals</code> <strong>(OPTIONAL)</strong>: Excludes the vocals from the input audio to emphasize the original track's sound and instruments if set to <em>True</em>.</p>\n</li>\n<li><p><code>prioritize_bpm</code> <strong>(OPTIONAL)</strong>: Searches for music tracks that align with the BPM of the input audio if set to <em>True</em>. <strong>Note:</strong> <code>prioritize_bpm</code> disregards any bpm filter set in the <code>filters</code> body.</p>\n</li>\n<li><p><code>highlights</code> <strong>(OPTIONAL)</strong>: When a user initiates a Similarity Search, the system analyzes the audio and identifies segments that closely match the provided sample. These matching segments can then be highlighted or visually indicated in some way, making it easy for users to locate and access the relevant parts of the audio. Note here that this feature requires a <em>higher-tier subscription</em>. To activate it, refer to Harmix Support at <a href=\"https://mailto:support@harmix.ai\">support@harmix.ai</a>.</p>\n</li>\n</ul>\n</li>\n<li><p><code>video_reference</code> <strong>(OPTIONAL)</strong>: A video reference for the Video Search previously loaded to Harmix's side via the <a href=\"#ce2ea5d3-e178-4f41-8bbb-456a6595d5e7\">/upload</a> endpoint. That video can be referenced using the received <em>upload_id</em>.</p>\n</li>\n<li><p><code>prompt</code> <strong>(OPTIONAL)</strong>: A text prompt or query used for the Prompt Search. The value is typically a user-generated query or keyword.</p>\n</li>\n<li><p><code>story</code> <strong>(OPTIONAL):</strong> Similar to the prompt, this key allows users to provide a song narrative or lyrics context for the audio search.</p>\n</li>\n<li><p><code>lyrics</code> <strong>(OPTIONAL)</strong>: A full-text search criteria related to lyrics in audio tracks. It includes two sub-keys: <em>operator</em> (indicating the type of comparison, such as <em>contains</em> or <em>not-contains</em>) and <em>value</em> (representing the desired lyrics to search for).</p>\n</li>\n<li><p><code>filters</code> <strong>(OPTIONAL)</strong>: Defines complex filtering conditions for the audio search. It includes <em>logic</em> (specifying the logical operator, such as <em>and</em> or <em>or</em>) and <em>conditions</em> (a list of filter conditions).</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"770050a2-600c-4021-b8eb-84eb435f3070","id":"770050a2-600c-4021-b8eb-84eb435f3070","name":"Search Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["search"],"host":["api","harmix","ai"],"query":[{"description":{"content":"<p>The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items.</p>\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"<p>The maximum number of items to return. Default: 50. Minimum: 1. Maximum: 100.</p>\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"<p>A unique identifier associated with a user session or a user's client-side web account.</p>\n","type":"text/plain"},"key":"session_id","value":"<USER-SESSION-ID>"}],"variable":[]}},"response":[{"id":"d90ff15a-aead-46a8-84a9-bfecabc97b17","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"audio_reference\": {\n        \"external\": {\n            \"upload_id\": \"<upload-id>\"\n        },\n        \"internal\": {\n            \"primary_key\": {\n                \"source_id\": \"<source_id>\",\n                \"version_tag\": \"<version_tag>\",\n                \"vocal\": true\n            }\n        },\n        \"segment\": {\n            \"start\": 46,\n            \"end\": 67\n        },\n        \"ignore_vocals\": false,\n        \"prioritize_bpm\": false,\n        \"highlights\": true\n    },\n    \"video_reference\": {\n        \"upload_id\": \"<upload-id>\"\n    },\n    \"prompt\": \"<your_text_prompt>\",\n    \"story\": \"<your_story_prompt>\",\n    \"lyrics\": [\n        {\n            \"operator\": \"contains\",\n            \"value\": \"\"\n        },\n        {\n            \"operator\": \"not-contains\",\n            \"value\": \"\"\n        }\n    ],\n    \"filters\": {\n        \"logic\": \"and\",\n        \"conditions\": [\n            {\n                \"field\": \"duration\",\n                \"operator\": \"gte\",\n                \"value\": 60\n            },\n            {\n                \"logic\": \"or\",\n                \"conditions\": [\n                    {\n                        \"field\": \"instruments\",\n                        \"operator\": \"in\",\n                        \"value\": [\n                            \"guitar\",\n                            \"drums\",\n                            \"piano\"\n                        ]\n                    },\n                    {\n                        \"field\": \"track_name\",\n                        \"operator\": \"begins\",\n                        \"value\": \"Play\"\n                    }\n                ]\n            }\n        ]\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.harmix.ai/search?offset=0&limit=50&session_id=<USER-SESSION-ID>","protocol":"https","host":["api","harmix","ai"],"path":["search"],"query":[{"key":"offset","value":"0"},{"key":"limit","value":"50"},{"key":"session_id","value":"<USER-SESSION-ID>"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"results\": [\n        {\n            \"system_id\": \"<system_id>\",\n            \"score\": 0.997,\n            \"metadata\": {\n                \"source_id\": \"<source_id>\",\n                \"track_title\": \"My Track Title (feat.)\",\n                \"version_tag\": \"Main\",\n                \"isrc\": \"AB1234567890\"\n                ...\n            }\n        },\n        {\n            \"system_id\": \"<system_id>\",\n            \"score\": 0.892,\n            \"metadata\": {\n                \"source_id\": \"<source_id>\",\n                \"track_title\": \"My Track Title (feat.)\",\n                \"version_tag\": \"Main\",\n                \"isrc\": \"AB1234567890\"\n                ...\n            }\n        },\n        ...\n    ]\n}"}],"_postman_id":"a959a21a-913a-449c-8f2c-d5acf72b8297"},{"name":"Search Tracks by Internal References","id":"e46335a3-d066-4ae8-83a4-1d41aaec231c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"audio_reference\": [\n        {\n            \"primary_key\": {\n                \"system_id\": \"09a65337-029e-12b1-ba7e-181cda5f92d\"\n            },\n            \"weight\": 1.0\n        },\n        {\n            \"primary_key\": {\n                \"source_id\": \"6d0df5a4-2476-7892-4dbb-5b4208ae85ee\"\n            },\n            \"weight\": 0.5\n        }\n    ],\n    \"cluster\": false,\n    \"filters\": {\n        \"logic\": \"and\",\n        \"conditions\": [\n            {\n                \"field\": \"duration\",\n                \"operator\": \"gte\",\n                \"value\": 60\n            }\n        ]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/search/internal-references?offset=0&limit=50&session_id=<USER-SESSION-ID>","description":"<p>This endpoint allows you to search for tracks based on internal references, leveraging <em>Similarity Search</em> over multiple tracks. You can also add filtering to the request as explained in <a href=\"#filtering\">Filtering</a>.</p>\n<blockquote>\n<p>Results are sorted by relevance, from highest to lowest. </p>\n</blockquote>\n<h4 id=\"clustering\">Clustering</h4>\n<p>The endpoint also supports clustering of the internal references to group them based on similar features and styles. This option allows you to get more targeted suggestions. By default, the tracks are not grouped into clusters, and the recommendations are made from the entire playlist.</p>\n<h3 id=\"body-json\">Body JSON</h3>\n<ul>\n<li><p><code>audio_references</code> <strong>(REQUIRED)</strong>: A list of objects identifying reference tracks.</p>\n<ul>\n<li><p><code>primary_key</code> <strong>(REQUIRED)</strong>: Harmix's internal Primary Key for your catalog track (<code>system_id</code>) or your catalog's Primary Key or a Composite Primary Key involving <code>source_id</code> and other metadata parameters that uniquely identify the track you want to refer.</p>\n</li>\n<li><p><code>weight</code> <strong>(OPTIONAL)</strong> <strong>[DEFAULT: 1.0]</strong>: A floating-point value representing the weight of the reference. The weight indicates the importance of the reference in the search process.</p>\n</li>\n</ul>\n</li>\n<li><p><code>cluster</code> <strong>(OPTIONAL) [DEFAULT:</strong> **<code>false</code>**<strong>]</strong>: A boolean value indicating whether the reference tracks should be clustered during the search.</p>\n</li>\n<li><p><code>filters</code> <strong>(OPTIONAL)</strong>: An object containing filter criteria for the search, read detailed specification in <a href=\"#filtering\">Filtering</a>.</p>\n</li>\n</ul>\n<blockquote>\n<p>The number of supported audio references is up to 100. </p>\n</blockquote>\n<p>The body object has the following structure:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"audio_references\": [\n        {\n            \"primary_key\": {\n                \"system_id\": \"&lt;system_id&gt;\" | null,\n                \"source_id\": \"&lt;source_id&gt;\" | null,\n                ...\n            },\n            \"weight\": float = 1.0\n        },\n        {\n            \"primary_key\": {\n                \"system_id\": \"&lt;system_id&gt;\" | null,\n                \"source_id\": \"&lt;source_id&gt;\" | null,\n                ...\n            },\n            \"weight\": float = 1.0\n        },\n        ...\n    ],\n    \"cluster\": bool = false,\n    \"filters\": FiltersObject | null\n}\n\n</code></pre>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"770050a2-600c-4021-b8eb-84eb435f3070","id":"770050a2-600c-4021-b8eb-84eb435f3070","name":"Search Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["search","internal-references"],"host":["api","harmix","ai"],"query":[{"description":{"content":"<p>The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items.</p>\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"<p>The maximum number of items to return. Default: 50. Minimum: 1. Maximum: 100.</p>\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"<p>A unique identifier associated with a user session or a user's client-side web account.</p>\n","type":"text/plain"},"key":"session_id","value":"<USER-SESSION-ID>"}],"variable":[]}},"response":[{"id":"bc5c34ec-3cd2-47e1-be8b-af4c0542f3c5","name":"Search Tracks by Internal References","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"audio_reference\": [\n        {\n            \"primary_key\": {\n                \"system_id\": \"09a65337-029e-12b1-ba7e-181cda5f92d\"\n            },\n            \"weight\": 1.0\n        },\n        {\n            \"primary_key\": {\n                \"source_id\": \"6d0df5a4-2476-7892-4dbb-5b4208ae85ee\"\n            },\n            \"weight\": 0.5\n        }\n    ],\n    \"cluster\": false,\n    \"filters\": {\n        \"logic\": \"and\",\n        \"conditions\": [\n            {\n                \"field\": \"duration\",\n                \"operator\": \"gte\",\n                \"value\": 60\n            }\n        ]\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.harmix.ai/search/internal-references?offset=0&limit=50&session_id=<USER-SESSION-ID>","protocol":"https","host":["api","harmix","ai"],"path":["search","internal-references"],"query":[{"key":"offset","value":"0","description":"The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items."},{"key":"limit","value":"50","description":"The maximum number of items to return. Default: 50. Minimum: 1. Maximum: 100."},{"key":"session_id","value":"<USER-SESSION-ID>","description":"A unique identifier associated with a user session or a user's client-side web account."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"date","value":"Tue, 28 Jan 2025 18:43:18 GMT"},{"key":"server","value":"uvicorn"},{"key":"content-length","value":"82186"},{"key":"content-type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"search_id\": \"641959b2-53c6-432a-96e7-d5c4a1b236a7\",\n    \"tracks_number\": 50,\n    \"tracks\": [\n        {\n            \"system_id\": \"<system_id>\",\n            \"score\": 0.982992,\n            \"metadata\": {\n                \"source_id\": \"<source_id>\",\n                \"track_title\": \"My Track Title (feat.)\",\n                \"version_tag\": \"Main\",\n                \"isrc\": \"AB1234567890\"\n                ...\n            }\n        },\n        ...\n    ]\n}"}],"_postman_id":"e46335a3-d066-4ae8-83a4-1d41aaec231c"}],"id":"770050a2-600c-4021-b8eb-84eb435f3070","description":"<p>Harmix allows for a fast and convenient search embodying Prompt Search, Video Search, Similarity Search, Story Search, and segments Highlighting in one query.</p>\n<h1 id=\"filtering\">Filtering</h1>\n<p>Apart from using the different kinds of searches we provide, you can apply various filters based on your system's filtering approach or any custom requirements. Our API lets you apply multiple filters to the search results using the <code>filter</code> field.</p>\n<blockquote>\n<p>You can apply filters to any field presented in our <a href=\"#metadata-schema\">Metadata Schema</a>. </p>\n</blockquote>\n<p>Each filtering criteria needs to be a string-keyed array object with the following keys:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>field</td>\n<td>Enum[String]</td>\n<td>Name of the field to filter by.</td>\n</tr>\n<tr>\n<td>operator</td>\n<td>Enum[String]</td>\n<td>Filtering operation to perform on results.</td>\n</tr>\n<tr>\n<td>value</td>\n<td>String/Bool/Null</td>\n<td>Value of the filtering criteria.</td>\n</tr>\n</tbody>\n</table>\n</div><p>We support the following operators:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Operator</th>\n<th>Description</th>\n<th>Supported Field Types</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>eq</code></td>\n<td>is equal to</td>\n<td>Integer, String, Text, Bool</td>\n<td></td>\n</tr>\n<tr>\n<td><code>neq</code></td>\n<td>is not equal to</td>\n<td>Integer, String, Text, Bool</td>\n<td></td>\n</tr>\n<tr>\n<td><code>gt</code></td>\n<td>is greater than</td>\n<td>Integer</td>\n<td></td>\n</tr>\n<tr>\n<td><code>gte</code></td>\n<td>is greater than or equal</td>\n<td>Integer</td>\n<td></td>\n</tr>\n<tr>\n<td><code>lt</code></td>\n<td>is less than</td>\n<td>Integer</td>\n<td></td>\n</tr>\n<tr>\n<td><code>lte</code></td>\n<td>is less than or equal</td>\n<td>Integer</td>\n<td></td>\n</tr>\n<tr>\n<td><code>begins</code></td>\n<td>begins with</td>\n<td>String, Text</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contains</code></td>\n<td>contains</td>\n<td>String, Text</td>\n<td></td>\n</tr>\n<tr>\n<td><code>not_contains</code></td>\n<td>does not contain</td>\n<td>String, Text</td>\n<td></td>\n</tr>\n<tr>\n<td><code>ends</code></td>\n<td>ends with</td>\n<td>String, Text</td>\n<td></td>\n</tr>\n<tr>\n<td><code>null</code></td>\n<td>is null</td>\n<td>Integer, String, Text, Bool</td>\n<td>Use <code>null</code> as value</td>\n</tr>\n<tr>\n<td><code>not_null</code></td>\n<td>is not null</td>\n<td>Integer, String, Text, Bool</td>\n<td>Use <code>null</code> as value</td>\n</tr>\n<tr>\n<td><code>empty</code></td>\n<td>is empty</td>\n<td>String, Text</td>\n<td>Use <code>null</code> as value</td>\n</tr>\n<tr>\n<td><code>not_empty</code></td>\n<td>is not empty</td>\n<td>String, Text</td>\n<td>Use <code>null</code> as value</td>\n</tr>\n<tr>\n<td><code>in</code></td>\n<td>is contained in</td>\n<td>Array</td>\n<td></td>\n</tr>\n<tr>\n<td><code>not_in</code></td>\n<td>is not contained in</td>\n<td>Array</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p>Additionally, filters support <code>AND</code> and <code>OR</code> logic, and can be nested. Check-out the filter structure below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  filter: {\n    logic: \"and|or\",\n    conditions: [\n      {\n        // regular filter\n        field: \"field_name\",\n        operator: \"eq|neq|...\",\n        value: \"filtering value\"\n      },\n      {\n        // nested filter\n        logic: \"and|or\",\n        conditions: [ /*...*/ ]\n      },\n      ...\n    ]\n  }\n}\n\n</code></pre>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"374be7a8-7c8d-4451-89ab-611de78cbf47","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a5d25e31-5215-4c89-ae54-daf59aa302d7","type":"text/javascript","exec":[""]}}],"_postman_id":"770050a2-600c-4021-b8eb-84eb435f3070"},{"name":"Reporting Endpoints","item":[{"name":"Post Action","id":"c078e73b-f867-47c4-b971-09c43a2e9170","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"source_id\": \"<source_id>\" | null,\n        \"track_title\": \"<track_title>\" | null,\n        \"version_tag\": \"<version_tag>\" | null,\n        ...\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/reports/action?action=<ACTION-TYPE>&session_id=<USER-SESSION-ID>","description":"<p>The action endpoint is designed for reporting and tracking user actions related to specific Harmix search results on the client's web platform. It relies on session identifiers like <code>session_id</code> to associate user actions, such as audio downloads, purchases, playback interactions, and more, with the corresponding search results. This integration of session data with user actions enables the creation of detailed reports. These reports offer valuable insights into user behavior, helping Harmix optimize the product's user experience, enhance features, and make data-driven decisions for continual improvement and refinement.</p>\n<blockquote>\n<p><em>We highly recommend always using this endpoint after each user's action based on the Harmix features.</em> </p>\n</blockquote>\n<h3 id=\"query-parameters\">Query Parameters</h3>\n<ul>\n<li><p><code>action</code> <strong>(REQUIRED)</strong>: The action type from the Action Types table.</p>\n</li>\n<li><p><code>session_id</code> <strong>(OPTIONAL)</strong>: A unique identifier associated with a user session or a user's client-side web account. It is utilized to track and report user interactions with Harmix based on their requests. After, the Harmix team subsequently analyzes this data to gain insights and improve the product's performance and user experience. This parameter can represent a session, user ID, or any other ID uniquely identifying the user's interaction with Harmix. <em>We highly recommend always to use this parameter in your requests.</em></p>\n</li>\n</ul>\n<h3 id=\"body-json\">Body JSON</h3>\n<ul>\n<li><p><code>primary_key</code> (<strong>REQUIRED</strong>): A unique identifier of the track provided in the Harmix search results that is either a Primary Key or a Composite Primary Key:</p>\n<ul>\n<li><p>The Primary Key is represented as the <code>system_id</code> that is received along with the track metadata in the <a href=\"#a959a21a-913a-449c-8f2c-d5acf72b8297\">/search</a> response.</p>\n</li>\n<li><p>The Composite Primary Key is represented as one or multiple fields from the <a href=\"#metadata-schema\">Metadata Schema</a> received in the <a href=\"#a959a21a-913a-449c-8f2c-d5acf72b8297\">/search</a> response.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["reports","action"],"host":["api","harmix","ai"],"query":[{"description":{"content":"<p>The action type from the Action Types table.</p>\n","type":"text/plain"},"key":"action","value":"<ACTION-TYPE>"},{"description":{"content":"<p>A unique identifier associated with a user session or a user's client-side web account.</p>\n","type":"text/plain"},"key":"session_id","value":"<USER-SESSION-ID>"}],"variable":[]}},"response":[{"id":"6f05910a-62d6-41b1-b230-3acaa17ceb77","name":"201 Created","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"primary_key\": {\n        \"source_id\": \"12345678\",\n        \"version_tag\": \"Main\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.harmix.ai/reports/action?action=like&session_id=123456","protocol":"https","host":["api","harmix","ai"],"path":["reports","action"],"query":[{"key":"action","value":"like","description":"The action type from the Actions Table."},{"key":"session_id","value":"123456","description":"A unique identifier associated with a user session or a user's client-side web account."}]}},"status":"Created","code":201,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"c078e73b-f867-47c4-b971-09c43a2e9170"}],"id":"d270463f-cb6d-4768-a022-82b6aeef4de2","description":"<p>The reporting endpoints are dedicated to collecting and analyzing data related to user interactions, Harmix's product usage, and other metrics. They utilize session identifiers like <code>session_id</code> to track user behavior and generate comprehensive reports, offering valuable insights to the Harmix team and our clients. These insights drive informed decision-making, facilitating continuous product improvement, feature enhancements, and user experience optimization.</p>\n<h3 id=\"action-types\">Action Types</h3>\n<p>When making the request, you have to specify a correct action type. Currently, we support the following action types:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Action Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>play</td>\n<td>The action corresponds to a user pressing the PLAY button on the track previously provided by Harmix search results.</td>\n</tr>\n<tr>\n<td>like</td>\n<td>The action corresponds to a user pressing the LIKE button on the track previously provided by Harmix search results.</td>\n</tr>\n<tr>\n<td>dislike</td>\n<td>The action corresponds to a user pressing the DISLIKE button on the track previously provided by Harmix search results.</td>\n</tr>\n<tr>\n<td>playlist</td>\n<td>The action corresponds to a user adding the track previously provided by Harmix search results to a playlist.</td>\n</tr>\n<tr>\n<td>download</td>\n<td>The action corresponds to a user downloading the track previously provided by Harmix search results.</td>\n</tr>\n<tr>\n<td>buy</td>\n<td>The action corresponds to a user purchasing the track previously provided by Harmix search results.</td>\n</tr>\n<tr>\n<td>share</td>\n<td>The action corresponds to a user sharing the track previously provided by Harmix search results.</td>\n</tr>\n<tr>\n<td>comment</td>\n<td>The action corresponds to a user commenting on the track previously provided by Harmix search results.</td>\n</tr>\n<tr>\n<td>use</td>\n<td>The action corresponds to a user using the track previously provided by Harmix search results for other purposes.</td>\n</tr>\n</tbody>\n</table>\n</div>","event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"0d2b2d92-a61c-4f53-87e7-a4a86d36bfe2"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"4bb99d9d-3a96-4e06-93a4-29486fabe809"}}],"_postman_id":"d270463f-cb6d-4768-a022-82b6aeef4de2"},{"name":"Tagging Endpoints","item":[{"name":"Tag Track","id":"a0f4e1a8-dff4-4ac3-aea4-475d8bbc2bb6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"facets","value":"[\"key\", \"bpm\", \"genres\", \"moods\", \"instruments\"]","contentType":"application/json","type":"text","description":"<p>A list of classification attributes.</p>\n"},{"key":"track_id","value":"<YOUR-TRACK-ID>","type":"text","description":"<p>A unique track identifier.</p>\n"},{"key":"track","contentType":"","type":"file","description":"<p>An audio file.</p>\n","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/Users/Shared/audio.mp3"],"src":"/Users/Shared/audio.mp3"},{"key":"webhook","value":"<YOUR-WEBHOOK-URL>","description":"<p>Your webhook URL.</p>\n","type":"text"}]},"url":"https://api.harmix.ai/tag","description":"<p>Upload your audio track for tagging. Upon successful upload, you will receive an HTTP status <code>201 Created</code> response containing a unique <code>track_id</code>, which can be used to check the processing status. The track will be processed asynchronously.</p>\n<p>Additionally, specify the <code>webhook</code> URL in your request; the processing pipeline will call this URL once the track has been processed.</p>\n<h3 id=\"important-information\">Important Information</h3>\n<ul>\n<li><p>The <code>webhook</code> URL must not require authentication.</p>\n</li>\n<li><p>You can upload only MP3, WAV, and M4A audio formats with a file size limit of 120 MB.</p>\n</li>\n<li><p>If you're using Angular or possibly other JS FE frameworks to upload files, be aware of a need to set the <code>Content-Type</code> header to <code>undefined</code> to allow the HTTP client to generate the correct multipart boundary.</p>\n</li>\n</ul>\n<h3 id=\"form-data-attributes\">Form-data Attributes</h3>\n<ul>\n<li><p><code>facets</code> <strong>(REQUIRED)</strong>: This parameter specifies the <a href=\"#2a4a5bf4-0953-4a95-95b3-1aa497535372\">classification attributes</a> you expect in the tagging results. It should be a list of desired facets, such as key, BPM, genre, mood, and instruments. These facets help categorize the audio track by its musical characteristics and metadata.</p>\n</li>\n<li><p><code>track_id</code> <strong>(REQUIRED)</strong>: This parameter is used to uniquely identify your track during processing and upon results retrieval.</p>\n</li>\n<li><p><code>track</code> <strong>(REQUIRED)</strong>: This parameter is used to upload an audio track file to the server for processing. The audio file should be provided as a file attachment, and its path on the local system should be specified. Ensure that the audio file format is supported by the API (e.g., MP3, WAV, M4A).</p>\n</li>\n<li><p><code>webhook</code> <strong>(OPTIONAL)</strong>: This parameter allows you to specify a URL to which the API will send a response once the track processing is complete. This can be useful for receiving notifications or updates about the processing status or results. While not mandatory, providing a webhook URL can be beneficial for tracking and managing the processing workflow.</p>\n</li>\n</ul>\n<h3 id=\"webhook-request-payload\">Webhook Request Payload</h3>\n<p>The following payload is sent to your webhook on success:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"track_id\": \"3c41f3c8-476e-41ae-b04d-9620cc7be700\",\n    \"tags\": {\n        \"key\": [\n            \"D minor\"\n        ],\n        \"bpm\": 92,\n        \"genres\": [\n            \"Rap\",\n            \"Hip-Hop\"\n        ],\n         \"moods\": [\n            \"Criminal\",\n            \"Serious\",\n            \"Dark\"\n        ],\n        \"instruments\": [\n            \"Electronic Drums\",\n            \"Synthesizer\",\n            \"Piano\",\n            \"Synth Bass\"\n        ]\n    },\n    \"processing_details\": {\n        \"processing_status\": 1,\n        \"processed_at\": \"2024-01-31 12:34:56.000000\"\n    }\n}\n\n</code></pre>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"2a4a5bf4-0953-4a95-95b3-1aa497535372","id":"2a4a5bf4-0953-4a95-95b3-1aa497535372","name":"Tagging Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["tag"],"host":["api","harmix","ai"],"query":[],"variable":[]}},"response":[{"id":"b61acb0e-9892-4be9-961f-942e94c90ff3","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data","type":"text"},{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"facets","value":"[\"key\", \"bpm\", \"genres\", \"moods\", \"instruments\"]","type":"text"},{"key":"track_id","value":"3c41f3c8-476e-41ae-b04d-9620cc7be700","type":"text"},{"key":"track","contentType":"","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/Users/Shared/audio.mp3"],"src":"/Users/Shared/audio.mp3"},{"key":"webhook","value":"https://mywebhook","type":"text"}]},"url":"https://api.harmix.ai/tag"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"track_id\": \"3c41f3c8-476e-41ae-b04d-9620cc7be700\",\n    \"uploaded_at\": \"2023-12-04T12:38:14.494044Z\",\n    \"status\": \"success\"\n}"}],"_postman_id":"a0f4e1a8-dff4-4ac3-aea4-475d8bbc2bb6"},{"name":"Get Track Tagging Status","id":"0248613b-14f4-49d2-b175-ddb2604d1340","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.harmix.ai/tag/status?track_id=<YOUR-TRACK-ID>","description":"<p>Get track processing status by its Track ID.</p>\n<h3 id=\"track-statuses\">Track Statuses</h3>\n<p>At each stage of processing, each track is assigned a <code>processing_status</code> code.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0</td>\n<td>This track has been successfully assigned for processing by Harmix pipelines.</td>\n</tr>\n<tr>\n<td>1</td>\n<td>This track has been successfully processed.</td>\n</tr>\n<tr>\n<td>2</td>\n<td>This track couldn't be processed because of the corrupted audio file.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"query-parameters\">Query Parameters</h3>\n<ul>\n<li><p><code>track_id</code> <strong>(REQUIRED)</strong>: Track ID.</p>\n</li>\n<li><p><code>version</code> <strong>(OPTIONAL)</strong>: Returns tags along with their resprective scores if set to <code>2</code>.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"2a4a5bf4-0953-4a95-95b3-1aa497535372","id":"2a4a5bf4-0953-4a95-95b3-1aa497535372","name":"Tagging Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["tag","status"],"host":["api","harmix","ai"],"query":[{"key":"track_id","value":"<YOUR-TRACK-ID>"}],"variable":[]}},"response":[{"id":"68f85ff0-2cf1-445d-ad75-055a309f2794","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.harmix.ai/tag/status?track_id=3c41f3c8-476e-41ae-b04d-9620cc7be700","protocol":"https","host":["api","harmix","ai"],"path":["tag","status"],"query":[{"key":"track_id","value":"3c41f3c8-476e-41ae-b04d-9620cc7be700"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"track_id\": \"3c41f3c8-476e-41ae-b04d-9620cc7be700\",\n    \"processing_status\": 1,\n    \"status\": \"success\",\n    \"tags\": {\n        \"key\": [\n            \"D minor\"\n        ],\n        \"bpm\": 92,\n        \"genres\": [\n            \"Rap\",\n            \"Hip-Hop\"\n        ],\n         \"moods\": [\n            \"Criminal\",\n            \"Serious\",\n            \"Dark\"\n        ],\n        \"instruments\": [\n            \"Electronic Drums\",\n            \"Synthesizer\",\n            \"Piano\",\n            \"Synth Bass\"\n        ]\n    }\n}"},{"id":"2ce65ac7-1269-4ffa-94bf-56d56aa0f122","name":"200 OK | Version 2","originalRequest":{"method":"GET","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.harmix.ai/tag/status?track_id=7g41f3c8-476e-41ae-b04d-9620cc7be700&version=2","protocol":"https","host":["api","harmix","ai"],"path":["tag","status"],"query":[{"key":"track_id","value":"7g41f3c8-476e-41ae-b04d-9620cc7be700"},{"key":"version","value":"2"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"track_id\": \"7g41f3c8-476e-41ae-b04d-9620cc7be700\",\n    \"processing_status\": 1,\n    \"status\": \"success\",\n    \"tags\": {\n        \"instruments\": [\n            {\n                \"score\": 0.79,\n                \"tag\": \"Electronic\"\n            },\n            {\n                \"score\": 0.66,\n                \"tag\": \"Bass\"\n            },\n            {\n                \"score\": 0.61,\n                \"tag\": \"Synthesizer\"\n            },\n            {\n                \"score\": 0.58,\n                \"tag\": \"Drum Machine\"\n            },\n            {\n                \"score\": 0.57,\n                \"tag\": \"Percussion\"\n            }\n        ],\n        \"genres\": [\n            {\n                \"score\": 0.79,\n                \"tag\": \"Electronic\"\n            },\n            {\n                \"score\": 0.61,\n                \"tag\": \"Hip Hop\"\n            },\n            {\n                \"score\": 0.58,\n                \"tag\": \"Pop\"\n            },\n            {\n                \"score\": 0.57,\n                \"tag\": \"R&B\"\n            }\n        ],\n        \"moods\": [\n            {\n                \"score\": 0.62,\n                \"tag\": \"Upbeat\"\n            },\n            {\n                \"score\": 0.48,\n                \"tag\": \"Confident\"\n            },\n            {\n                \"score\": 0.48,\n                \"tag\": \"Neutral\"\n            }\n        ],\n        \"vocals\": [\n            \"Vocal\"\n        ],\n        \"key\": [\n            \"B minor\"\n        ],\n        \"bpm\": 98\n        }\n}"},{"id":"61ff444d-9808-4f84-a01f-7cf95d33fae9","name":"404 Not Found","originalRequest":{"method":"GET","header":[{"key":"api_key","value":"<YOUR-API-KEY>","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.harmix.ai/tag/status?track_id=3c41f3c8-476e-41ae-b04d-9620cc7be700","protocol":"https","host":["api","harmix","ai"],"path":["tag","status"],"query":[{"key":"track_id","value":"3c41f3c8-476e-41ae-b04d-9620cc7be700","type":"text"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": {\n        \"code\": 1002,\n        \"status\": \"failure\",\n        \"message\": \"No tracks found for the specified Track ID.\",\n        \"details\": \"Please update the Track ID parameter and try again.\"\n    }\n}"}],"_postman_id":"0248613b-14f4-49d2-b175-ddb2604d1340"}],"id":"2a4a5bf4-0953-4a95-95b3-1aa497535372","description":"<p>Harmix offers a sophisticated taxonomy for audio tagging, ensuring high-quality results. You can upload your audio track for asynchronous tagging, and we guarantee delivery of the results via your webhook within one day. Additionally, we provide an endpoint to check the tagging status or manually retrieve the results.</p>\n<h3 id=\"classification-attributes\">Classification Attributes</h3>\n<p>When making a request, you need to specify the classification attributes (facets) you expect to receive in the tagging results. Currently, we support the following attributes:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Classification Attribute</th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>key</td>\n<td>Identifies the musical key of the audio track.</td>\n</tr>\n<tr>\n<td>bpm</td>\n<td>Measures the tempo of the audio track, indicating how many beats occur in one minute.</td>\n</tr>\n<tr>\n<td>genres</td>\n<td>Classifies the audio track into a specific style or category of music, such as rock, jazz, classical, or electronic.</td>\n</tr>\n<tr>\n<td>moods</td>\n<td>Describes the emotional tone or atmosphere conveyed by the audio track, such as happy, sad, energetic, or calm.</td>\n</tr>\n<tr>\n<td>instruments</td>\n<td>Identifies the primary musical instruments used in the audio track, such as guitar, piano, drums, or violin.</td>\n</tr>\n<tr>\n<td>vocals</td>\n<td>Identifies whether the track contains vocals, background vocals, or is instrumental.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"2ae56a2e-671e-4774-b0b8-9c5fe64a3430","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"9c819119-dac4-4665-987b-f6a830b6ce8b","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"2a4a5bf4-0953-4a95-95b3-1aa497535372"},{"name":"Conversation Endpoints","item":[{"name":"All Conversations","id":"d67a3db4-0d28-4812-8d23-1a891fda56ef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://uat.api.harmix.ai/conversations?user_id=<USER-ID>&limit=50&offset=0","description":"<p>Get the history of all conversations. Provide <code>user_id</code> to get conversations for a specific user.</p>\n<p>Results are ordered by <code>update_time</code> property in descending order.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response contains a list of conversations with their metadata:</p>\n<ul>\n<li><p><code>total</code>: The total number of conversations for the provided user.</p>\n</li>\n<li><p><code>messages</code>: A list of messages, details schema is described below.</p>\n</li>\n</ul>\n<h4 id=\"conversation-object\">Conversation object</h4>\n<ul>\n<li><p><code>id</code>: Conversation unique identifier.</p>\n</li>\n<li><p><code>title</code>: Title of the conversation.</p>\n</li>\n<li><p><code>user_id</code>: User unique identifier.</p>\n</li>\n<li><p><code>create_time</code>: Datetime object of when the conversation was created.</p>\n</li>\n<li><p><code>update_time</code>: Datetime object of the last update of the conversation.</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"total\": int,\n    \"conversations\": [\n        {\n            \"id\": string,\n            \"title\": string,\n            \"user_id\": string,\n            \"create_time\": datetime,\n            \"update_time\": datetime\n        },\n        ...\n    ]\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["conversations"],"host":["uat","api","harmix","ai"],"query":[{"description":{"content":"<p>(OPTIONAL) Fetch conversations for the given user identifier – arbitrary value from your system.</p>\n","type":"text/plain"},"key":"user_id","value":"<USER-ID>"},{"description":{"content":"<p>(OPTIONAL) Number of conversations to return. Default: 50. Minimum: 1. Maximum: 100.</p>\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"<p>(OPTIONAL) The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items.</p>\n","type":"text/plain"},"key":"offset","value":"0"}],"variable":[]}},"response":[{"id":"47a58763-ea96-4235-9164-7f79dd74386a","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://uat.api.harmix.ai/conversations?user_id=<USER-ID>&limit=50&offset=0","protocol":"https","host":["uat","api","harmix","ai"],"path":["conversations"],"query":[{"key":"user_id","value":"<USER-ID>","description":"(OPTIONAL) Fetch conversations for the given user identifier – arbitrary value from your system."},{"key":"limit","value":"50","description":"(OPTIONAL) Number of conversations to return. Default: 50. Minimum: 1. Maximum: 100."},{"key":"offset","value":"0","description":"(OPTIONAL) The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"content-type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"total\": 24,\n    \"conversations\": [\n        {\n            \"id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n            \"title\": \"Music Search\",\n            \"user_id\": \"123\",\n            \"create_time\": \"2024-12-15T10:49:52.699Z\",\n            \"update_time\": \"2024-12-15T10:49:52.699Z\"\n        }\n    ]\n}"}],"_postman_id":"d67a3db4-0d28-4812-8d23-1a891fda56ef"},{"name":"Conversation","id":"28f84c7e-39ff-4c1b-94f0-774318e5c601","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://uat.api.harmix.ai/conversations/:conversation_id","description":"<p>Get detailed metadata of one conversation by its unique identifier. Fetch its metadata and a list of all messages from the conversation.</p>\n<h3 id=\"response\">Response</h3>\n<p>The conversation object is returned with its metadata and messages in the following structure:</p>\n<ul>\n<li><p><code>id</code>: Conversation unique identifier.</p>\n</li>\n<li><p><code>title</code>: Title of the conversation.</p>\n</li>\n<li><p><code>user_id</code>: User unique identifier.</p>\n</li>\n<li><p><code>create_time</code>: Datetime object of when the conversation was created.</p>\n</li>\n<li><p><code>update_time</code>: Datetime object of the last update of the conversation.</p>\n</li>\n<li><p><code>messages</code>: A list of objects of all messages in this conversation. Its schema is explained below.</p>\n</li>\n</ul>\n<h4 id=\"message-schema\">Message schema</h4>\n<ul>\n<li><p><code>id</code>: Message unique identifier.</p>\n</li>\n<li><p><code>author</code>: Author of the message: user or assistant.</p>\n</li>\n<li><p><code>create_time</code>: Datetime object of when the message was created.</p>\n</li>\n<li><p><code>message</code>: Text content of the message.</p>\n</li>\n<li><p><code>attachments</code>: List of attachments which schema is explained in <a href=\"#attachments\">Attachments</a>.</p>\n</li>\n<li><p><code>filters</code>: Object with filters, read detailed object specification in <a href=\"#filtering\">Filtering</a>.</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": string,\n    \"title\": string,\n    \"user_id\": string,\n    \"create_time\": datetime,\n    \"update_time\": datetime,\n    \"messages\": [\n        {\n            \"id\": string,\n            \"author\": \"user\" | \"assistant\",\n            \"create_time\": datetime,\n            \"message\": string,\n            \"attachments\": [\n                ...  // Attachment object\n            ],\n            \"filters\": object | null  // Filters object\n        },\n        ...\n    ]\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["conversations",":conversation_id"],"host":["uat","api","harmix","ai"],"query":[],"variable":[{"description":{"content":"<p>Unique conversation identifier.</p>\n","type":"text/plain"},"type":"any","value":"6758364f-60a8-8009-a6d1-97a3614f31bc","key":"conversation_id"}]}},"response":[{"id":"b22fea98-b71a-4bbe-bb2e-cb5a9ea75284","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://uat.api.harmix.ai/conversations/:conversation_id","protocol":"https","host":["uat","api","harmix","ai"],"path":["conversations",":conversation_id"],"variable":[{"key":"conversation_id","value":"6758364f-60a8-8009-a6d1-97a3614f31bc","description":"Unique conversation identifier."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"content-type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n    \"title\": \"Music Search\",\n    \"user_id\": \"123\",\n    \"create_time\": \"2024-12-15T10:49:52.699Z\",\n    \"update_time\": \"2024-12-15T10:49:52.699Z\",\n    \"messages\": [\n        {\n            \"id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n            \"author\": \"user\",\n            \"create_time\": \"2024-12-15T10:49:52.699Z\",\n            \"message\": \"The first message\",\n            \"attachments\": [\n                {\n                    \"id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n                    \"type\": \"internal-track\",\n                    \"metadata\": {\n                        \"audio_url\": \"https://s3:track.mp3\",\n                        \"track_title\": \"Track title\",\n                        \"artists\": [\n                            \"Artist 1 name\"\n                        ],\n                        \"duration\": 140,\n                        \"tags\": [\n                            \"guitar\"\n                        ]\n                    }\n                }\n            ],\n            \"filters\": null\n        }\n    ]\n}"}],"_postman_id":"28f84c7e-39ff-4c1b-94f0-774318e5c601"},{"name":"Send Message","id":"108ab181-751b-4a58-9356-28ef49e7c002","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"conversation_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n    \"user_id\": \"123\",\n\t\"content\": {\n\t\t\"message\": \"Hello assistant\"\n    }\n}\n","options":{"raw":{"language":"json"}}},"url":"https://uat.api.harmix.ai/conversations","description":"<p>Send a message to Harmix AI Chat. You can continue an existing conversation or create a new one.</p>\n<p>In addition to a text message, you can also send attachments: internal track from your Harmix database or a manually uploaded file. See the schema below for how to send these attachments.</p>\n<p>To upload a file to Harmix, use the <a href=\"#ce2ea5d3-e178-4f41-8bbb-456a6595d5e7\">Upload Reference File</a> endpoint to send file content to the system. The endpoint will return you <code>upload_id</code> which you should pass to the request as written in the next section.</p>\n<h3 id=\"body-json\">Body JSON</h3>\n<ul>\n<li><p><code>conversation_id</code> <strong>(OPTIONAL)</strong>: Unique conversation identifier. The message will be added to an existing conversation if the identifier is provided. Otherwise, a new conversation will be created.</p>\n</li>\n<li><p><code>user_id</code> <strong>(REQUIRED)</strong>: Arbitrary user identifier from your system to assign conversation to a user. The value and format are up to you; you can provide the user identifier from your system to make the search easier. This value will be associated with a new conversation. In case you provide <code>conversation_id</code>, the previous <code>user_id</code> value must match the given one.</p>\n</li>\n<li><p><code>message</code> <strong>(REQUIRED)</strong>: A text message you send to the Chat.</p>\n</li>\n<li><p><code>attachments</code> <strong>(OPTIONAL)</strong>: A list of objects containing attachments for a text message. The object consists of these properties:</p>\n<ul>\n<li><p><code>id</code>: Pass track's <code>system_id</code> for <em>internal</em> attachment or <code>upload_id</code> for <em>file</em> attachment.</p>\n</li>\n<li><p><code>type</code>: Attachment type such <code>internal-track</code> for a track from your database or <code>file-upload</code> for an uploaded file.</p>\n</li>\n</ul>\n</li>\n<li><p><code>filters</code> <strong>(OPTIONAL)</strong>: Object with filters, read detailed object specification in <a href=\"#filtering\">Filtering</a>.</p>\n</li>\n</ul>\n<p>The body object has the following structure:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"conversation_id\": string,\n    \"user_id\": string,\n    \"message\": string,\n    \"attachments\": [\n        {\n            \"id\": string,  // system_id, upload_id\n            \"type\": \"internal-track\" | \"file-upload\"\n        },\n        ...\n    ] | null,\n    \"filters\": FiltersObject | null\n}\n\n</code></pre>\n<h3 id=\"response\">Response</h3>\n<p>The response message is returned as a series of Server-sent events. The conversation metadata is sent, and the response text is attached. The text response from the Chat is returned in parts over a series of such events. Each message contains a text, which, combined, gives the complete response.</p>\n<p>Such an interface lets the server send events in a stream to report real-time processing status. It provides a seamless user experience when the message is gradually loaded for more extended responses.</p>\n<blockquote>\n<p>Read more about Server-sent events <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events\">here</a>. </p>\n</blockquote>\n<p>You can find the sample sequence of this stream in the example response for this request.</p>\n<h4 id=\"event-types\">Event types</h4>\n<p>The server sends different event types to notify a client what data to expect. Below is the explanation of all types and the object returned with it.</p>\n<p><strong>metadata</strong> – conversation metadata which includes any fields from the object below (some of the properties can be null).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"conversation_id\": string | null,\n    \"create_time\": datetime | null,\n    \"update_time\": datetime | null,\n    \"title\": string | null\n}\n\n</code></pre>\n<p><strong>message</strong> – part of the response text message which is returned whenever it becomes available. Join all parts together as you keep receiving them.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"text\": string\n}\n\n</code></pre>\n<p><strong>attachments</strong> – attachments to the response message. Read more details about the schema in <a href=\"#attachments\">Attachments</a>.</p>\n","urlObject":{"protocol":"https","path":["conversations"],"host":["uat","api","harmix","ai"],"query":[],"variable":[]}},"response":[{"id":"d795e077-64fc-4d0f-8429-1909e6e607b3","name":"200 OK","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"conversation_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n    \"user_id\": \"123\",\n    \"message\": \"Hello assistant\"\n}","options":{"raw":{"language":"json"}}},"url":"https://uat.api.harmix.ai/conversations"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"transfer-encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"event: metadata\ndata: {\"conversation_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\", \"create_time\": \"2024-12-15T10:49:52.699Z\", \"update_time\": \"2024-12-15T10:49:52.699Z\"}\n\nevent: message\ndata: {\"text\": \"This is \"}\n\nevent: message\ndata: {\"text\": \"a response\"}\n\nevent: message\ndata: {\"text\": \" from Harmix.\"}\n\nevent: attachments\ndata: [{\"id\": \"5432364f-60a8-8009-a6d1-97a3614f31bc\", \"type\": \"playlist\"}, {\"id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\", \"type\": \"internal-track\", \"metadata\": {\"audio_url\": \"https://s3:track.mp3\", \"title\": \"Track title\", \"artists\": [\"Artist 1 name\"], \"duration\": 140, \"tags\": [\"guitar\"]}}]\n\nevent: metadata\ndata: {\"title\": \"Your first chat conversation\"}\n\n"}],"_postman_id":"108ab181-751b-4a58-9356-28ef49e7c002"}],"id":"5c7c9572-15af-425e-9b44-241bf10222c2","description":"<p>Harmix AI Chat helps you to search for music with a chat interface. You can send one-time messages or handle long-term conversations with the chat to find music for your prompt. With these endpoints, you can load the history of your conversations and send new messages.<br />Each conversation must be associated with <code>user_id</code> to connect it to a specific user. The value of <code>user_id</code> is arbitrary and is totally up to you. Therefore, we recommend you use a user identifier from your system to simplify the integration.</p>\n<h1 id=\"attachments\">Attachments</h1>\n<p>Each conversation message can have an attachment in addition to a text message. These are internal tracks, uploaded files or playlists. The following section explains which types are supported and their object schema.</p>\n<h3 id=\"object-schema\">Object schema</h3>\n<ul>\n<li><p><code>type</code>: Type of the attachment: <code>internal-track</code>, <code>playlist</code>, <code>file-upload</code>, <code>audio-reference</code>.</p>\n</li>\n<li><p><code>id</code>: Unique identifier of the attachment. Its nature depends on the attachment type: this identifier may point to the internal track <code>system_id</code>, <code>upload_id</code> of the uploaded file, or playlist's <code>playlist_id</code>.</p>\n</li>\n<li><p><code>metadata</code>: Additional metadata for the attachment. Its properties depend on the attachment type and are explained in more details below.</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"internal-track\" | \"playlist\" | \"file-upload\" | \"audio-reference\",\n    \"id\": string,\n    \"metadata\": object | null\n}\n\n</code></pre>\n<h3 id=\"attachment-types\">Attachment types</h3>\n<p><strong>internal-track</strong> – a track in Harmix database. <code>id</code> is the <code>system_id</code> of the internal track. Metadata object is the same as in <a href=\"#metadata-schema\">Metadata Schema</a>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": string,  // system_id\n    \"type\": \"internal-track\",\n    \"metadata\": {\n        ...  // Track Metadata Schema\n    }\n}\n\n</code></pre>\n<p><strong>playlist</strong> – a playlist created for this message. <code>id</code> is <code>playlist_id</code>. It does not have any additional metadata.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": string,  // playlist_id\n    \"type\": \"playlist\",\n    \"metadata\": null\n}\n\n</code></pre>\n<p><strong>file-upload</strong> – a manually uploaded file. <code>id</code> is <code>upload_id</code> of the uploaded file. Metadata contains properties of the file.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": string,  // upload_id\n    \"type\": \"file-upload\",\n    \"metadata\": {\n        \"type\": string,\n        \"file_name\": string,\n        \"file_url\": string\n    }\n}\n\n</code></pre>\n<p><strong>audio-reference</strong> – a reference from audio services such Spotify and YouTube. Metadata contains information about the audio source.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": string,\n    \"type\": \"audio-reference\",\n    \"metadata\": {\n        \"source\": \"spotify\" | \"youtube\",\n        \"source_url\": string\n    }\n}\n\n</code></pre>\n","_postman_id":"5c7c9572-15af-425e-9b44-241bf10222c2"},{"name":"Playlist Endpoints","item":[{"name":"Get Playlist","id":"df44c3b0-bf3c-424b-9e81-6f0966dca64a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.harmix.ai/playlists/:playlist_id","description":"<p>Get a playlist detailed metadata for a unique playlist identifier.</p>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","name":"Playlist Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["playlists",":playlist_id"],"host":["api","harmix","ai"],"query":[],"variable":[{"description":{"content":"<p>Unique playlist identifier.</p>\n","type":"text/plain"},"type":"any","value":"6758364f-60a8-8009-a6d1-97a3614f31bc","key":"playlist_id"}]}},"response":[{"id":"b0960424-b376-4ce8-82f2-f263ae964a39","name":"Existing playlist","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.harmix.ai/playlists/:playlist_id","protocol":"https","host":["api","harmix","ai"],"path":["playlists",":playlist_id"],"variable":[{"key":"playlist_id","value":"6758364f-60a8-8009-a6d1-97a3614f31bc","description":"Unique identifier of a playlist."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"content-type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n    \"title\": \"Test playlist\",\n    \"metadata\": {\n        \"bpm\": 160\n    },\n    \"create_date\": \"2024-12-15T10:49:52.699Z\",\n    \"tracks_number\": 10,\n    \"tracks\": [\n        {\n            \"system_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n            \"add_time\": \"2024-12-15T10:49:52.699Z\",\n            \"metadata\": {\n                \"title\": \"Test track\",\n                \"artist\": \"Test artist\",\n                \"duration\": 180\n            }\n        }\n    ]\n}"}],"_postman_id":"df44c3b0-bf3c-424b-9e81-6f0966dca64a"},{"name":"Create Playlist","id":"0afb4344-341d-4569-89d8-2d2ceed49c6f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"title\": \"New playlist\",\n    \"tracks\": [\n        {\n            \"system_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\"\n        }\n    ]\n}\n","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/playlists","description":"<p>Create a new playlist from a list of internal tracks.</p>\n<h3 id=\"body-json\">Body JSON</h3>\n<ul>\n<li><p><code>title</code> <strong>(REQUIRED)</strong>: A title for the playlist.</p>\n</li>\n<li><p><code>user_id</code> <strong>(OPTIONAL)</strong>: An identifier of the user who owns the playlist.</p>\n</li>\n<li><p><code>tracks</code> <strong>(REQUIRED)</strong>: A list of tracks to include in the playlist.</p>\n<ul>\n<li><code>system_id</code> <strong>(REQUIRED)</strong>: Unique track identifier.</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","name":"Playlist Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["playlists"],"host":["api","harmix","ai"],"query":[],"variable":[]}},"response":[{"id":"46c30dab-1b36-4f95-8ffa-a07893c980ad","name":"201 Created","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"title\": \"New playlist\",\n    \"tracks\": [\n        {\n            \"system_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\"\n        }\n    ]\n}\n","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/playlists"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"content-type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n    \"title\": \"New playlist\",\n    \"metadata\": {\n        \"bpm\": 160\n    },\n    \"create_date\": \"2024-12-15T10:49:52.699Z\",\n    \"tracks_number\": 1,\n    \"tracks\": [\n        {\n            \"system_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n            \"add_time\": \"2024-12-15T10:49:52.699Z\",\n            \"metadata\": {\n                \"title\": \"Test track\",\n                \"artist\": \"Test artist\",\n                \"duration\": 180\n            }\n        }\n    ]\n}"}],"_postman_id":"0afb4344-341d-4569-89d8-2d2ceed49c6f"},{"name":"Add Track to Playlist","id":"81e7509c-cb4c-4956-a908-b1736bd34d92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"https://api.harmix.ai/playlists/:playlist_id/tracks/:system_id","description":"<p>Add a track to a specific playlist.</p>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","name":"Playlist Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["playlists",":playlist_id","tracks",":system_id"],"host":["api","harmix","ai"],"query":[],"variable":[{"description":{"content":"<p>Unique playlist identifier.</p>\n","type":"text/plain"},"type":"any","value":"6758364f-60a8-8009-a6d1-97a3614f31bc","key":"playlist_id"},{"description":{"content":"<p>Internal system identifier of the track.</p>\n","type":"text/plain"},"type":"any","value":"c5f7274f-a2f0-5c00-851a-d27404e56476","key":"system_id"}]}},"response":[{"id":"8834b9b9-c8ab-43ef-bebf-6541238a9be2","name":"200 OK","originalRequest":{"method":"POST","header":[],"url":{"raw":"https://api.harmix.ai/playlists/:playlist_id/tracks/:system_id","protocol":"https","host":["api","harmix","ai"],"path":["playlists",":playlist_id","tracks",":system_id"],"variable":[{"key":"playlist_id","value":"6758364f-60a8-8009-a6d1-97a3614f31bc","description":"Unique playlist identifier."},{"key":"system_id","value":"c5f7274f-a2f0-5c00-851a-d27404e56476","description":"Internal system identifier of the track."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"content-type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \":playlist_id\",\n    \"title\": \"Test playlist\",\n    \"metadata\": {\n        \"bpm\": 160\n    },\n    \"create_date\": \"2024-12-15T10:49:52.699Z\",\n    \"tracks_number\": 10,\n    \"tracks\": [\n        {\n            \"system_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n            \"add_time\": \"2024-12-15T10:49:52.699Z\",\n            \"metadata\": {\n                \"title\": \"Test track\",\n                \"artist\": \"Test artist\",\n                \"duration\": 180\n            }\n        },\n        {\n            \"system_id\": \":track_id\",\n            \"add_time\": \"2024-12-15T10:49:52.699Z\",\n            \"metadata\": {\n                \"title\": \"Test track new\",\n                \"artist\": \"Test artist new\",\n                \"duration\": 164\n            }\n        }\n    ]\n}"}],"_postman_id":"81e7509c-cb4c-4956-a908-b1736bd34d92"},{"name":"Delete Track from Playlist","id":"6b9a3185-9af5-4494-a79e-0471b66d9710","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api.harmix.ai/playlists/:playlist_id/tracks/:system_id","description":"<p>Delete a specific track from a playlist.</p>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","name":"Playlist Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["playlists",":playlist_id","tracks",":system_id"],"host":["api","harmix","ai"],"query":[],"variable":[{"description":{"content":"<p>Unique playlist identifier.</p>\n","type":"text/plain"},"type":"any","value":"6758364f-60a8-8009-a6d1-97a3614f31bc","key":"playlist_id"},{"description":{"content":"<p>Internal system identifier of the track.</p>\n","type":"text/plain"},"type":"any","value":"c5f7274f-a2f0-5c00-851a-d27404e56476","key":"system_id"}]}},"response":[{"id":"b6424c14-8694-4988-8fbf-49e09910d3f0","name":"202 Accepted","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api.harmix.ai/playlists/:playlist_id/tracks/:system_id","protocol":"https","host":["api","harmix","ai"],"path":["playlists",":playlist_id","tracks",":system_id"],"variable":[{"key":"playlist_id","value":"6758364f-60a8-8009-a6d1-97a3614f31bc","description":"Unique playlist identifier."},{"key":"system_id","value":"c5f7274f-a2f0-5c00-851a-d27404e56476","description":"Internal system identifier of the track."}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"content-type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n    \"title\": \"Test playlist\",\n    \"bpm\": 160,\n    \"create_date\": \"2024-12-15T10:49:52.699Z\",\n    \"tracks_number\": 10,\n    \"tracks\": [\n        {\n            \"system_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n            \"add_time\": \"2024-12-15T10:49:52.699Z\",\n            \"metadata\": {\n                \"title\": \"Test track\",\n                \"artist\": \"Test artist\",\n                \"duration\": 180\n            }\n        }\n    ]\n}"}],"_postman_id":"6b9a3185-9af5-4494-a79e-0471b66d9710"},{"name":"Recommend New Tracks for a Given Playlist","id":"cb84796e-c561-4e5c-9144-078f6c3bfed3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"playlist_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n    \"size\": 10\n}\n","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/playlists/recommendations/tracks","description":"<p>Get recommendations for new tracks for a given playlist. The Harmix recommendation system analyses the tracks in the playlist and its metadata to suggest tracks for your playlist.</p>\n<p>The list of suggested tracks is returned together with their metadata. Each track also comes with a <code>score</code> – a metric of how well it fits in the given playlist.</p>\n<blockquote>\n<p>These tracks are not added to the playlist automatically. You can add tracks you like with the <a href=\"#81e7509c-cb4c-4956-a908-b1736bd34d92\">POST Add Track to Playlist</a> endpoint. </p>\n</blockquote>\n<h3 id=\"body-json\">Body JSON</h3>\n<ul>\n<li><p><code>playlist_id</code> <strong>(REQUIRED)</strong>: Unique playlist identifier.</p>\n</li>\n<li><p><code>size</code> <strong>(REQUIRED)</strong>: Number of tracks to recommend. The maximum value is 100.</p>\n</li>\n<li><p><code>cluster</code> <strong>(OPTIONAL) [DEFAULT: <code>false</code>]</strong>: Determines how the recommended tracks are grouped. When set to <code>true</code>, the system will group the tracks in the playlist into clusters, and the recommendations will be made based on these clusters. When set to <code>false</code>, the tracks are not grouped into clusters, and the recommendations are made from the entire playlist.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":true,"source":{"_postman_id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","name":"Playlist Endpoints","type":"folder"}},"urlObject":{"protocol":"https","path":["playlists","recommendations","tracks"],"host":["api","harmix","ai"],"query":[],"variable":[]}},"response":[{"id":"43f2fbca-281a-49ff-8d69-95d03a2b79da","name":"200 OK","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"playlist_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n    \"size\": 10\n}\n","options":{"raw":{"language":"json"}}},"url":"https://api.harmix.ai/playlists/recommendations/tracks"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"content-type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"total\": 10,\n    \"tracks\": [\n        {\n            \"system_id\": \"6758364f-60a8-8009-a6d1-97a3614f31bc\",\n            \"score\": 0.8,\n            \"metadata\": {\n                \"title\": \"Test track\",\n                \"artist\": \"Test artist\",\n                \"duration\": 180\n            }\n        }\n    ]\n}"}],"_postman_id":"cb84796e-c561-4e5c-9144-078f6c3bfed3"}],"id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd","description":"<p>The Playlist Endpoints let you create, retrieve and manage playlists on Harmix.</p>\n<p>A <strong>Playlist</strong> is a list of tracks combined around a similar theme. It consists of tracks from your Harmix catalog. Besides that, the playlist has a title and common metadata.</p>\n<p>These playlist metadata properties are supported by now:</p>\n<ul>\n<li><code>bpm</code>: int – the average value of bpm over all tracks in the playlist</li>\n</ul>\n<p>Harmix provides you with recommended playlists for your request, and you can create one from a list of internal tracks. Explore all opportunities at the endpoints of this collection.</p>\n<blockquote>\n<p>The maximum size of a playlist is 1,000 tracks.</p>\n</blockquote>\n","auth":{"type":"apikey","apikey":{"value":"<value>","key":"<key>"},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"d76459a9-7bbe-43c0-82a6-6dff662cdc74","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"73cd7dad-a011-486a-938a-27c1dd2c44f6","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"61e0c388-c0d9-4f85-8d9d-eaa1c5840dfd"},{"name":"Additional Endpoints","item":[{"name":"All-Search by Metadata","id":"3143cfc0-1043-44f0-b3c7-a6503a18208d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.harmix.ai/all-search?query=<SEARCH-QUERY>&session_id=<USER-SESSION-ID>","description":"<p>The all-search endpoint is a powerful search feature that processes a simple search query to return a diverse array of results, including tracks, artists, playlists, albums, etc. By integrating multiple categories into a single query response, this endpoint provides users with a holistic and intuitive search experience, ensuring they find exactly what they're looking for with minimal effort.</p>\n<blockquote>\n<p>Results are sorted by relevance, from highest to lowest. </p>\n</blockquote>\n<h3 id=\"query-parameters\">Query Parameters</h3>\n<ul>\n<li><p><code>query</code> <strong>(REQUIRED)</strong>: A string input that represents the user's search term. This parameter accepts a simple text string and processes it to retrieve a comprehensive set of results, including tracks, artists, playlists, albums, etc. The query can include keywords, phrases, or partial names. It is designed to handle various user inputs, from specific titles and artist names to general music genres and podcast topics, ensuring a broad search capability.</p>\n</li>\n<li><p><code>session_id</code> <strong>(OPTIONAL)</strong>: A unique identifier associated with a user session or a user's client-side web account. It is utilized to track and report user interactions with Harmix based on their requests. After, the Harmix team subsequently analyzes this data to gain insights and improve the product's performance and user experience. This parameter can represent a session, user ID, or any other ID uniquely identifying the user's interaction with Harmix. <em>We highly recommend always to use this parameter in your requests.</em></p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["all-search"],"host":["api","harmix","ai"],"query":[{"key":"query","value":"<SEARCH-QUERY>"},{"key":"session_id","value":"<USER-SESSION-ID>"}],"variable":[]}},"response":[{"id":"ae0c02c3-6898-421b-a3b2-2559ffefc3f5","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.harmix.ai/all-search?query=levitating dua lipa&session_id=12345678","protocol":"https","host":["api","harmix","ai"],"path":["all-search"],"query":[{"key":"query","value":"levitating dua lipa"},{"key":"session_id","value":"12345678"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"results\": {\n        \"tracks\": [\n            {\n                \"id\": \"<id>\",\n                \"title\": \"Levitating\",\n                \"title_short\": \"Levitating\",\n                \"duration\": 203,\n                ...\n            }\n        ],\n        \"artists\": [\n            {\n                \"id\": \"<id>\",\n                \"name\": \"Dua Lipa\",\n                ...\n            },\n            ...\n        ],\n        \"albums\": [\n            {\n                \"id\": \"<id>\",\n                \"title\": \"Future Nostalgia\",\n                ...\n            },\n            ...\n        ],\n        \"playlists\": [\n            {\n                \"id\": \"<id>\",\n                \"title\": \"Levitating\",\n                ...\n            },\n            ...\n        ]\n    }\n}"}],"_postman_id":"3143cfc0-1043-44f0-b3c7-a6503a18208d"}],"id":"5e7a1a2c-6d6a-487d-80ea-6a735fc8b573","description":"<p>Harmix allows for a comprehensive and all-encompassing search functionality, enabling users to effortlessly discover tracks, artists, playlists, and more with a single query.</p>\n","_postman_id":"5e7a1a2c-6d6a-487d-80ea-6a735fc8b573"}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"a55ab518-1997-4a9d-a154-b91eb37faf20"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"5b19b339-bbf8-4aef-8719-7054eddcc178"}}],"variable":[{"key":"baseUrl","value":"https://farming-simulator.pstmn.io"}]}