{"info":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","description":"<html><head></head><body><h1 id=\"wochit-frame-whitelabel-video-editor\">Wochit Frame - White‑label Video&nbsp;Editor</h1>\n<p>Add Wochit Frame Editor to your platform and have your customers create professional videos swiftly and intuitively, without leaving your site.</p>\n<p>Haven't found what you are looking for?<br>Please&nbsp;<a href=\"https://www.wochit.com/contact/\">contact us</a>&nbsp;for further information, business inquiries, or detailed instructions.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Wochit Frame - White‑label Video Editor","slug":"wochit-frame-whitelabel-video-editor"}],"owner":"13711385","collectionId":"c098e231-2f37-4629-b2d6-a3e9de968a42","publishedId":"2sAXxJha4w","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"06a9f4"},"publishDate":"2024-10-02T11:50:41.000Z"},"item":[{"name":"Quick Start","item":[],"id":"6f2fe82a-cdbc-4ca0-96a2-2686e5cd083c","description":"<h1 id=\"embedding-wochit---overview\">Embedding Wochit - Overview</h1>\n<p>The Wochit Video Editor (\"Wochit Frame\") can be fully customized to fit your brand and offer the right templates for your audience. <a href=\"https://admin.wochit.com\">Log-in to our admin site</a> to customize your Video Editor.</p>\n<p><strong>Get your video editor up and running in just 3 steps!</strong></p>\n<ol>\n<li><p><a href=\"#ce869aa3-e83c-47a2-8c88-6658812381e6\">Generate A User Token</a></p>\n</li>\n<li><p><a href=\"#d830f00c-4734-4b0b-9fb1-2fc0bf683a6a\">Embed your video editor</a></p>\n</li>\n<li><p><a href=\"#36497199-85bb-422d-a425-24f3e7d6a228\">Listen to a Webhook</a></p>\n</li>\n</ol>\n<p>The general flow of the integration is as follows:</p>\n<img src=\"https://content.pstmn.io/c13efdfe-a479-4193-bf74-b95284ad2e52/U2NyZWVuc2hvdCAyMDI0LTEwLTAyIGF0IDE0LjUxLjA4LnBuZw==\" alt=\"Wochit%20Frame%20Integration%20Flow,%20how%20to%20embed%20a%20video%20editor%20in%20your%20website\" />\n\n<p>Our recommendation would be to add a link or a button to your app, offering end-users to create their very own video. As can be seen in the diagram above, once an end-user chooses to create a video, this is the expected flow:</p>\n<ol>\n<li><p><a href=\"#ce869aa3-e83c-47a2-8c88-6658812381e6\">Generate A User Token</a> for the end-user</p>\n</li>\n<li><p>Use the token to <a href=\"#22563ac7-1a28-48a9-8363-26615ead0753\">Embed your video editor</a>: an iFrame with your pre-customized Wochit Video Editor.</p>\n</li>\n<li><p>Now it's our part! Inside the Wochit Video Editor, your end-user may choose from a variety of templates, visuals and sounds to make the perfect video for their business.</p>\n</li>\n<li><p>While your customer enjoys the power of video creation, keep yourself aware of their actions. Once the video is ready, we will use a <a href=\"#36497199-85bb-422d-a425-24f3e7d6a228\">Webhook</a> to push the video along with its metadata back to your backoffice.</p>\n</li>\n</ol>\n","_postman_id":"6f2fe82a-cdbc-4ca0-96a2-2686e5cd083c","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}}},{"name":"Single Account Setup","item":[{"name":"Single Account User Authentication","id":"ce869aa3-e83c-47a2-8c88-6658812381e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secret_key}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"id\": \"{{user_id}}\",\n        \"email\": \"{{user_email}}\",\n        \"firstName\": \"{{user_first_name}}\",\n        \"lastName\": \"{{user_last_name}}\"\n    }\n}"},"url":"https://authentication.wochit.com/api/v1/embedded/users/tokens","description":"<h1 id=\"single-account-setup---user-authentication\">Single Account Setup - User Authentication</h1>\n<h2 id=\"generate-a-user-token-single-account-setup\">Generate a User Token (Single-Account Setup)</h2>\n<p>A user token must be generated and used for each video editor session. This token is mandatory for accessing the editor and is essential for securely identifying the user, linking the session to their account, and enabling the provision of relevant user analytics.</p>\n<p>Below is the detailed API for authenticating a user entity in the Wochit platform.<br />During the authentication process new user entity will be created in Wochit in case this user does not exist yet and a token will be created to authenticate this user in future calls.</p>\n<img src=\"https://content.pstmn.io/b1e08387-983a-4902-a896-22ee87a2008d/Y3JlYXRlLXVzZXItdG9rZW4tYmUtdG8tYmUtZmxvdy4yZGVkNmExYi5wbmc=\" />\n\n<h2 id=\"definitions\">Definitions:</h2>\n<ul>\n<li><p><strong>Channel User</strong>: Your end-user interacting with your platform to create a video.</p>\n</li>\n<li><p><strong>Channel Client</strong>: The front-end application that communicates with the backend to fulfill user requests.</p>\n</li>\n<li><p><strong>Channel Server</strong>: The backend server responsible for handling requests from the front-end and communicating with external services.</p>\n</li>\n<li><p><strong>Wochit Service</strong>: The external video creation service that provides authentication tokens.</p>\n</li>\n</ul>\n<h2 id=\"steps\">Steps:</h2>\n<ol>\n<li><p>The <strong>Channel User</strong> clicks on the \"Create a video\" button in your application.</p>\n</li>\n<li><p>The <strong>Channel Client</strong> (front-end) sends a request to the <strong>Channel Server</strong> (backend) to obtain a user token.</p>\n</li>\n<li><p>The <strong>Channel Server</strong> makes an HTTP POST request to the <strong>Wochit authentication service</strong> to retrieve a user token.</p>\n</li>\n<li><p>The <strong>Wochit service</strong> responds with the requested user token.</p>\n</li>\n<li><p>The <strong>Channel Server</strong> returns this <strong>Wochit User Token</strong> to the <strong>Channel Client</strong>.</p>\n</li>\n<li><p>The <strong>Channel Client</strong> then sets the <strong>Wochit User Token</strong> in the Wochit JS module for further use.</p>\n</li>\n</ol>\n<h3 id=\"request\">Request</h3>\n<p>Call Wochit REST API to generate a user-token. This token will be used later on to open the Video Editor.</p>\n<h4 id=\"header-parameters\">Header Parameters:</h4>\n<ul>\n<li><em>Client ID</em> and <em>Secret Key</em> - these are your API keys. Please refer to our <a href=\"https://admin.wochit.com/developers/integration-setup\">Developer Tools</a> to obtain your keys.</li>\n</ul>\n<p>NOTE: Your API keys carry many privileges, be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.</p>\n<h4 id=\"body-parameters\">Body Parameters:</h4>\n<ul>\n<li><p>ID - mandatory. This is a unique identifier of your platform user.</p>\n</li>\n<li><p>Email</p>\n</li>\n<li><p>First Name</p>\n</li>\n<li><p>Last Name (optional, highly recommended).</p>\n</li>\n</ul>\n<p>These parameters will be used for statistics and usage reports.</p>\n<h3 id=\"response\">Response</h3>\n<p>Successful response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"token\": {\n    \"value\": &lt;token-value&gt;,\n    \"expirationDate\": &lt;token-expiration-date&gt;\n  }\n}\n\n</code></pre>\n<p>The token value is the <em>userToken</em>. Use <em>userToken</em> to <a href=\"https:///embed.html#set-configuration\">open the Wochit Video Editor</a>.<br />The token expiration time is 24 hours from the creation time.</p>\n","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","embedded","users","tokens"],"host":["authentication","wochit","com"],"query":[{"disabled":true,"key":"","value":""}],"variable":[]}},"response":[{"id":"98118ee4-3450-4f4d-ae61-8135c00b7cc2","name":"Successful Response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secret_key}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"id\": \"{{user_id}}\",\n        \"email\": \"{{user_email}}\",\n        \"firstName\": \"{{user_first_name}}\",\n        \"lastName\": \"{{user_last_name}}\"\n    }\n}"},"url":"https://authentication.wochit.com/api/v1/embedded/users/tokens","description":"# User Authentication\n\n## Get a user token\n\nA user token is a unique access token that is used to authenticate the user. It allows us to securely identify the user, link it to your account, and provide you with related user analytics later on.\n\n### Request\n\nCall Wochit REST API to get a user-token. This token will be used later on to open the Video Editor.\n\n#### Header Parameters:\n* *Client ID* and *Secret Key* - these are your API keys. Please refer to our [Developer Tools](https://admin.wochit.com/developers/integration-setup) to obtain your keys.\n\nNOTE: Your API keys carry many privileges, be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.\n\n#### Body Parameters:\n* ID - mandatory. This is a unique identifier of your platform user.\n* Email, First Name, Last Name - optional (highly recommended). These parameters will be used for statistics and usage reports.\n\n### Response\n\nSuccessful response:\n```json\n{\n  \"token\": {\n    \"value\": <token-value>,\n    \"expirationDate\": <token-expiration-date>\n  }\n}\n```\n\nThe token value is the *userToken*. Use *userToken* to [open the Wochit Video Editor](/embed.html#set-configuration). \nThe token expiration time is 24 hours from the creation time.\n\n### Error handling\n\nWe use conventional HTTP response codes to indicate the success or failure of an API request. Here are some possible error responses:\n\n400 - Bad Request:\n```json\n{\n    \"code\": 400,\n    \"type\": \"Bad Request\",\n    \"requestId\": \"cd1573f505be1e12aa023e500db50a09\",\n    \"errors\": [\n        {\n            \"parameter\": \"use1\",\n            \"message\": \"UNRECOGNIZED_PROPERTY\",\n            \"details\": \"Unrecognized field \\\"use1\\\" (class models.requests.CreateInsideUserTokenRequestModel), not marked as ignorable\"\n        }\n    ]\n}\n```\n\n401 - Unauthorized:\n```json\n{\n    \"code\": 401,\n    \"type\": \"Unauthorized\",\n    \"requestId\": \"a01bba8890f480fc0aef7d3723feb523\",\n    \"errors\": [\n        {\n            \"message\": \"HTTP 401 Unauthorized\"\n        }\n    ]\n}\n```\n\n500 - Internal Server Error (Rare):\n```json\n{\n    \"code\": 500,\n    \"type\": \"Internal Server Error\",\n    \"requestId\": \"90a5f277e13f78e26dbfd0d02c37f2d7\",\n    \"errors\": []\n}\n```"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"token\": {\n    \"value\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n    \"expirationDate\": \"2023-05-18T10:30:00Z\"\n  }\n}"},{"id":"8bf2df32-65fc-4b0b-809a-162c885ca8c9","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secret_key}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"id\": \"{{user_id}}\",\n        \"email\": \"{{user_email}}\",\n        \"firstName\": \"{{user_first_name}}\",\n        \"lastName\": \"{{user_last_name}}\"\n    }\n}"},"url":"https://authentication.wochit.com/api/v1/embedded/users/tokens","description":"# User Authentication\n\n## Get a user token\n\nA user token is a unique access token that is used to authenticate the user. It allows us to securely identify the user, link it to your account, and provide you with related user analytics later on.\n\n### Request\n\nCall Wochit REST API to get a user-token. This token will be used later on to open the Video Editor.\n\n#### Header Parameters:\n* *Client ID* and *Secret Key* - these are your API keys. Please refer to our [Developer Tools](https://admin.wochit.com/developers/integration-setup) to obtain your keys.\n\nNOTE: Your API keys carry many privileges, be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.\n\n#### Body Parameters:\n* ID - mandatory. This is a unique identifier of your platform user.\n* Email, First Name, Last Name - optional (highly recommended). These parameters will be used for statistics and usage reports.\n\n### Response\n\nSuccessful response:\n```json\n{\n  \"token\": {\n    \"value\": <token-value>,\n    \"expirationDate\": <token-expiration-date>\n  }\n}\n```\n\nThe token value is the *userToken*. Use *userToken* to [open the Wochit Video Editor](/embed.html#set-configuration). \nThe token expiration time is 24 hours from the creation time.\n\n### Error handling\n\nWe use conventional HTTP response codes to indicate the success or failure of an API request. Here are some possible error responses:\n\n400 - Bad Request:\n```json\n{\n    \"code\": 400,\n    \"type\": \"Bad Request\",\n    \"requestId\": \"cd1573f505be1e12aa023e500db50a09\",\n    \"errors\": [\n        {\n            \"parameter\": \"use1\",\n            \"message\": \"UNRECOGNIZED_PROPERTY\",\n            \"details\": \"Unrecognized field \\\"use1\\\" (class models.requests.CreateInsideUserTokenRequestModel), not marked as ignorable\"\n        }\n    ]\n}\n```\n\n401 - Unauthorized:\n```json\n{\n    \"code\": 401,\n    \"type\": \"Unauthorized\",\n    \"requestId\": \"a01bba8890f480fc0aef7d3723feb523\",\n    \"errors\": [\n        {\n            \"message\": \"HTTP 401 Unauthorized\"\n        }\n    ]\n}\n```\n\n500 - Internal Server Error (Rare):\n```json\n{\n    \"code\": 500,\n    \"type\": \"Internal Server Error\",\n    \"requestId\": \"90a5f277e13f78e26dbfd0d02c37f2d7\",\n    \"errors\": []\n}\n```"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 400,\n    \"type\": \"Bad Request\",\n    \"requestId\": \"cd1573f505be1e12aa023e500db50a09\",\n    \"errors\": [\n        {\n            \"parameter\": \"use1\",\n            \"message\": \"UNRECOGNIZED_PROPERTY\",\n            \"details\": \"Unrecognized field \\\"use1\\\" (class models.requests.CreateInsideUserTokenRequestModel), not marked as ignorable\"\n        }\n    ]\n}"},{"id":"f287e275-efd3-4878-94bf-0a8a16b148d0","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secret_key}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"id\": \"{{user_id}}\",\n        \"email\": \"{{user_email}}\",\n        \"firstName\": \"{{user_first_name}}\",\n        \"lastName\": \"{{user_last_name}}\"\n    }\n}"},"url":"https://authentication.wochit.com/api/v1/embedded/users/tokens","description":"# User Authentication\n\n## Get a user token\n\nA user token is a unique access token that is used to authenticate the user. It allows us to securely identify the user, link it to your account, and provide you with related user analytics later on.\n\n### Request\n\nCall Wochit REST API to get a user-token. This token will be used later on to open the Video Editor.\n\n#### Header Parameters:\n* *Client ID* and *Secret Key* - these are your API keys. Please refer to our [Developer Tools](https://admin.wochit.com/developers/integration-setup) to obtain your keys.\n\nNOTE: Your API keys carry many privileges, be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.\n\n#### Body Parameters:\n* ID - mandatory. This is a unique identifier of your platform user.\n* Email, First Name, Last Name - optional (highly recommended). These parameters will be used for statistics and usage reports.\n\n### Response\n\nSuccessful response:\n```json\n{\n  \"token\": {\n    \"value\": <token-value>,\n    \"expirationDate\": <token-expiration-date>\n  }\n}\n```\n\nThe token value is the *userToken*. Use *userToken* to [open the Wochit Video Editor](/embed.html#set-configuration). \nThe token expiration time is 24 hours from the creation time.\n\n### Error handling\n\nWe use conventional HTTP response codes to indicate the success or failure of an API request. Here are some possible error responses:\n\n400 - Bad Request:\n```json\n{\n    \"code\": 400,\n    \"type\": \"Bad Request\",\n    \"requestId\": \"cd1573f505be1e12aa023e500db50a09\",\n    \"errors\": [\n        {\n            \"parameter\": \"use1\",\n            \"message\": \"UNRECOGNIZED_PROPERTY\",\n            \"details\": \"Unrecognized field \\\"use1\\\" (class models.requests.CreateInsideUserTokenRequestModel), not marked as ignorable\"\n        }\n    ]\n}\n```\n\n401 - Unauthorized:\n```json\n{\n    \"code\": 401,\n    \"type\": \"Unauthorized\",\n    \"requestId\": \"a01bba8890f480fc0aef7d3723feb523\",\n    \"errors\": [\n        {\n            \"message\": \"HTTP 401 Unauthorized\"\n        }\n    ]\n}\n```\n\n500 - Internal Server Error (Rare):\n```json\n{\n    \"code\": 500,\n    \"type\": \"Internal Server Error\",\n    \"requestId\": \"90a5f277e13f78e26dbfd0d02c37f2d7\",\n    \"errors\": []\n}\n```"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 401,\n    \"type\": \"Unauthorized\",\n    \"requestId\": \"a01bba8890f480fc0aef7d3723feb523\",\n    \"errors\": [\n        {\n            \"message\": \"HTTP 401 Unauthorized\"\n        }\n    ]\n}"},{"id":"f715a629-0c7f-484c-b247-d87e092ca57c","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secret_key}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"id\": \"{{user_id}}\",\n        \"email\": \"{{user_email}}\",\n        \"firstName\": \"{{user_first_name}}\",\n        \"lastName\": \"{{user_last_name}}\"\n    }\n}"},"url":"https://authentication.wochit.com/api/v1/embedded/users/tokens","description":"# User Authentication\n\n## Get a user token\n\nA user token is a unique access token that is used to authenticate the user. It allows us to securely identify the user, link it to your account, and provide you with related user analytics later on.\n\n### Request\n\nCall Wochit REST API to get a user-token. This token will be used later on to open the Video Editor.\n\n#### Header Parameters:\n* *Client ID* and *Secret Key* - these are your API keys. Please refer to our [Developer Tools](https://admin.wochit.com/developers/integration-setup) to obtain your keys.\n\nNOTE: Your API keys carry many privileges, be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.\n\n#### Body Parameters:\n* ID - mandatory. This is a unique identifier of your platform user.\n* Email, First Name, Last Name - optional (highly recommended). These parameters will be used for statistics and usage reports.\n\n### Response\n\nSuccessful response:\n```json\n{\n  \"token\": {\n    \"value\": <token-value>,\n    \"expirationDate\": <token-expiration-date>\n  }\n}\n```\n\nThe token value is the *userToken*. Use *userToken* to [open the Wochit Video Editor](/embed.html#set-configuration). \nThe token expiration time is 24 hours from the creation time.\n\n### Error handling\n\nWe use conventional HTTP response codes to indicate the success or failure of an API request. Here are some possible error responses:\n\n400 - Bad Request:\n```json\n{\n    \"code\": 400,\n    \"type\": \"Bad Request\",\n    \"requestId\": \"cd1573f505be1e12aa023e500db50a09\",\n    \"errors\": [\n        {\n            \"parameter\": \"use1\",\n            \"message\": \"UNRECOGNIZED_PROPERTY\",\n            \"details\": \"Unrecognized field \\\"use1\\\" (class models.requests.CreateInsideUserTokenRequestModel), not marked as ignorable\"\n        }\n    ]\n}\n```\n\n401 - Unauthorized:\n```json\n{\n    \"code\": 401,\n    \"type\": \"Unauthorized\",\n    \"requestId\": \"a01bba8890f480fc0aef7d3723feb523\",\n    \"errors\": [\n        {\n            \"message\": \"HTTP 401 Unauthorized\"\n        }\n    ]\n}\n```\n\n500 - Internal Server Error (Rare):\n```json\n{\n    \"code\": 500,\n    \"type\": \"Internal Server Error\",\n    \"requestId\": \"90a5f277e13f78e26dbfd0d02c37f2d7\",\n    \"errors\": []\n}\n```"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 500,\n    \"type\": \"Internal Server Error\",\n    \"requestId\": \"90a5f277e13f78e26dbfd0d02c37f2d7\",\n    \"errors\": []\n}"}],"_postman_id":"ce869aa3-e83c-47a2-8c88-6658812381e6"}],"id":"0a9a0844-b13a-4664-8fa9-05863e44a181","description":"<h1 id=\"single-account-setup\">Single Account Setup</h1>\n<p>The standard and most commonly implemented method for integrating the Wochit Video Editor into your platform. The Single Account Setup is the recommended approach for most use cases, offering a streamlined integration process.</p>\n<p>This section covers the essential steps for integrating the Wochit Video Editor using a single account configuration. Here, you'll find the necessary API calls and processes to authenticate users and manage their access to the Wochit platform.</p>\n","_postman_id":"0a9a0844-b13a-4664-8fa9-05863e44a181","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}}},{"name":"Multi Account Setup","item":[{"name":"Create New Account","id":"a524eb88-98f2-44f9-8823-10f80e076285","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"channel-id","value":"{{channel_id}}"},{"key":"Authorization","value":"Bearer {{api_key}}"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"{{customer_name}}\",\n    \"organization\": {\n        \"partnerId\": \"{{customer_partner_id}}\"\n    },\n    \"adminUserRequestModel\": {\n        \"firstName\": \"{{contact_first_name}}\",\n        \"lastName\": \"{{contact_last_name}}\",\n        \"email\": \"{{contact_email}}\",\n        \"phone\": \"{{contact_phone}}\"\n    },\n    \"templateCategoryIds\": [\n      \"1\",\"2\",\"3\"\n    ]\n}"},"url":"https://studio-api.wochit.com/api/v1/customers","description":"<h1 id=\"multi-account-setup---create-a-new-customer\">Multi Account Setup - Create a New Customer</h1>\n<p>Below is the detailed API for creating a new customer entity in the Wochit platform:</p>\n<p><strong>POST</strong> <a href=\"https://studio-api.wochit.com/api/v1/customers\"><b>https://studio-api.wochit.com/api/v1/customers</b></a></p>\n<h3 id=\"request-body-parameters\">Request Body Parameters:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Type</th>\n<th>Values</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td>String</td>\n<td></td>\n<td><em>(Required Unique)</em> customer's name</td>\n</tr>\n<tr>\n<td>organization.partnerId</td>\n<td>String</td>\n<td></td>\n<td><em>(Required Unique)</em> Your customer's unique ID. This unique ID will be used to recognize your customer in future references.</td>\n</tr>\n<tr>\n<td>adminUserRequestModel.firstName</td>\n<td>String</td>\n<td></td>\n<td><em>(Optional)</em> The contact person's first name</td>\n</tr>\n<tr>\n<td>adminUserRequestModel.lastName</td>\n<td>String</td>\n<td></td>\n<td><em>(Optional)</em> The contact person's last name</td>\n</tr>\n<tr>\n<td>adminUserRequestModel.email</td>\n<td>String</td>\n<td></td>\n<td><em>(Optional)</em> The contact person's email</td>\n</tr>\n<tr>\n<td>adminUserRequestModel.phone</td>\n<td>String</td>\n<td></td>\n<td><em>(Optional)</em> The contact person's phone number</td>\n</tr>\n<tr>\n<td>templateCategoryIds</td>\n<td>Array</td>\n<td>[\"1\",\"2\",\"3\"]</td>\n<td><em>(Optional)</em> Limit customers template selection to specific categories (obtained by the channel information route)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>Successful response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"organizationId\": 12345\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","customers"],"host":["studio-api","wochit","com"],"query":[],"variable":[]}},"response":[{"id":"c50127e7-2ef6-481b-893d-2b7cc6eba248","name":"Successful Response","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"channel-id","value":"{{channel_id}}"},{"key":"Authorization","value":"Bearer {{api_key}}"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"{{customer_name}}\",\n    \"organization\": {\n        \"partnerId\": \"{{customer_partner_id}}\"\n    },\n    \"adminUserRequestModel\": {\n        \"firstName\": \"{{contact_first_name}}\",\n        \"lastName\": \"{{contact_last_name}}\",\n        \"email\": \"{{contact_email}}\",\n        \"phone\": \"{{contact_phone}}\"\n    },\n    \"templateCategoryIds\": [\n      \"1\",\"2\",\"3\"\n    ]\n}"},"url":"https://studio-api.wochit.com/api/v1/customers","description":"## Create New Customer\n\nBelow is the detailed API for creating a new customer entity in the Wochit platform:\n\n**POST https://studio-api.wochit.com/api/v1/customers**\n\n### Request Body Parameters:\n\n| Property                        | Type   | Values        | Description                                                                                                        |\n| ------------------------------- | ------ | ------------- | ------------------------------------------------------------------------------------------------------------------ |\n| name                            | String |               | _(Required Unique)_ customer's name                                                                                |\n| organization.partnerId          | String |               | _(Required Unique)_ Your customer's unique ID                                                                      |\n| adminUserRequestModel.firstName | String |               | _(Optional)_ The contact person's first name                                                                       |\n| adminUserRequestModel.lastName  | String |               | _(Optional)_ The contact person's last name                                                                        |\n| adminUserRequestModel.email     | String |               | _(Optional)_ The contact person's email                                                                            |\n| adminUserRequestModel.phone     | String |               | _(Optional)_ The contact person's phone number                                                                     |\n| templateCategoryIds             | Array  | [\"1\",\"2\",\"3\"] | _(Optional)_ Limit customers template selection to specific categories (obtained by the channel information route) |\n\n### Response\n\nSuccessful response:\n```json\n{\n  \"organizationId\": 12345\n}\n```"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"organizationId\": 12345\n}"}],"_postman_id":"a524eb88-98f2-44f9-8823-10f80e076285"},{"name":"Retrieve Channel (Account) Information","id":"f4ecfc70-358d-49f8-8f57-5532b9381fb5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"channel-id","value":"{{channel_id}}"},{"key":"Authorization","value":"Bearer {{api_key}}"}],"url":"https://studio-api.wochit.com/api/v1/channels/channel_id","description":"<h1 id=\"multi-account-setup---retrieve-channel-information\">Multi Account Setup - Retrieve Channel Information</h1>\n<p>You can retrieve data about your channel (like available template categories) in order to properly adjust your customer's settings &amp; experience:</p>\n<p><strong>GET</strong> <a href=\"https://studio-api.wochit.com/api/v1/channels/%7BchannelId%7D\"><b>https://studio-api.wochit.com/api/v1/channels/{channelId}</b></a></p>\n<h3 id=\"response\">Response</h3>\n<p>Successful response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"templateCategories\": [\n    {\n      \"id\": \"1\",\n      \"name\": \"Shopping\"\n    },\n    {\n      \"id\": \"2\",\n      \"name\": \"Blogging\"\n    }\n  ]\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","channels","channel_id"],"host":["studio-api","wochit","com"],"query":[],"variable":[]}},"response":[{"id":"7bc47ccc-d117-4a44-ac2b-6a5a9b15d99b","name":"Successful Response","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"channel-id","value":"{{channel_id}}"},{"key":"Authorization","value":"Bearer {{api_key}}"}],"url":"https://studio-api.wochit.com/api/v1/channels/{{channel_id}}","description":"## Retrieve Channel Information\n\nYou can retrieve data about your channel (like available template categories) in order to properly adjust your customer's settings & experience:\n\n**GET https://studio-api.wochit.com/api/v1/channels/{channelId}**\n\n### Response\n\nSuccessful response:\n```json\n{\n  \"templateCategories\": [\n    {\n      \"id\": \"1\",\n      \"name\": \"Shopping\"\n    },\n    {\n      \"id\": \"2\",\n      \"name\": \"Blogging\"\n    }\n  ]\n}\n```"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"templateCategories\": [\n    {\n      \"id\": \"1\",\n      \"name\": \"Shopping\"\n    },\n    {\n      \"id\": \"2\",\n      \"name\": \"Blogging\"\n    }\n  ]\n}"}],"_postman_id":"f4ecfc70-358d-49f8-8f57-5532b9381fb5"},{"name":"Update Existing Channel (Update Account)","id":"38a37eeb-63bb-47b5-aef3-b26b1479dc31","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"channel-id","value":"{{channel_id}}"},{"key":"Authorization","value":"Bearer {{api_key}}"}],"body":{"mode":"raw","raw":"{\n  \"organization\": {\n    \"partnerId\": \"{{customer_partner_id}}\"\n  },\n  \"fieldsUpdates\": {\n    \"templateCategoryIds\": [\n      \"1\",\"2\",\"3\"\n    ]\n  }\n}"},"url":"https://studio-api.wochit.com/api/v1/customers","description":"<h1 id=\"multi-account-setup---update-channel\">Multi Account Setup - Update Channel</h1>\n<p>Below is the detailed API for updating an existing customer entity in the Wochit platform:<br />As of the PATCH HTTP method, every field that will be sent in the request will result in an update of that field in the Customer entity, otherwise, if the field will not be sent - it will not be updated.<br />If a 'null' value will be sent - the field will be deleted.</p>\n<p><strong>PATCH</strong> <a href=\"https://studio-api.wochit.com/api/v1/customers\"><b>https://studio-api.wochit.com/api/v1/customers</b></a></p>\n<h3 id=\"request-body-parameters\">Request Body Parameters:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Type</th>\n<th>Values</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>organization.partnerId</td>\n<td>String</td>\n<td></td>\n<td><em>(Required Unique)</em> Your customer's unique ID</td>\n</tr>\n<tr>\n<td>fieldsUpdates.hostedMedia.provider</td>\n<td>Number</td>\n<td>1</td>\n<td><em>(Optional)</em> Contact to Wochit support for more information</td>\n</tr>\n<tr>\n<td>fieldsUpdates.templateCategoryIds</td>\n<td>Array</td>\n<td>[\"1\",\"2\",\"3\"]</td>\n<td><em>(Optional)</em> Limit customers template selection to specific categories (obtained by the channel information route)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>Successful response: 202 Accepted (empty body)</p>\n","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","customers"],"host":["studio-api","wochit","com"],"query":[],"variable":[]}},"response":[{"id":"6aa59593-0fed-4c1a-98fa-3aa9dd85f2bd","name":"Successful Response","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"channel-id","value":"{{channel_id}}"},{"key":"Authorization","value":"Bearer {{api_key}}"}],"body":{"mode":"raw","raw":"{\n  \"organization\": {\n    \"partnerId\": \"{{customer_partner_id}}\"\n  },\n  \"fieldsUpdates\": {\n    \"templateCategoryIds\": [\n      \"1\",\"2\",\"3\"\n    ]\n  }\n}"},"url":"https://studio-api.wochit.com/api/v1/customers","description":"## Update Existing Customer\n\nBelow is the detailed API for updating an existing customer entity in the Wochit platform:\nAs of the PATCH HTTP method, every field that will be sent in the request will result in an update of that field in the Customer entity, otherwise, if the field will not be sent - it will not be updated.\nIf a 'null' value will be sent - the field will be deleted.\n\n**PATCH https://studio-api.wochit.com/api/v1/customers**\n\n### Request Body Parameters:\n\n| Property                           | Type   | Values        | Description                                                                                                        |\n| ---------------------------------- | ------ | ------------- | ------------------------------------------------------------------------------------------------------------------ |\n| organization.partnerId             | String |               | _(Required Unique)_ Your customer's unique ID                                                                      |\n| fieldsUpdates.hostedMedia.provider | Number | 1             | _(Optional)_ Contact to Wochit support for more information                                                        |\n| fieldsUpdates.templateCategoryIds  | Array  | [\"1\",\"2\",\"3\"] | _(Optional)_ Limit customers template selection to specific categories (obtained by the channel information route) |\n\n### Response\n\nSuccessful response: 202 Accepted (empty body)"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"38a37eeb-63bb-47b5-aef3-b26b1479dc31"},{"name":"Multi Account - User Authentication","id":"8723cfee-5ca0-4505-8b1b-c29bd81acaca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"client-id","value":"{{client_id}}"},{"key":"Authorization","value":"Bearer {{api_key}}"}],"body":{"mode":"raw","raw":"{\n  \"user\": {\n    \"id\": \"{{user_id}}\",\n    \"email\": \"{{user_email}}\",\n    \"firstName\": \"{{user_first_name}}\",\n    \"lastName\": \"{{user_last_name}}\"\n  },\n  \"organization\": {\n    \"partnerId\": \"{{customer_partner_id}}\"\n  }\n}"},"url":"https://authentication.wochit.com/api/v1/embedded/users/tokens","description":"<h1 id=\"multi-account-setup---user-authentication\">Multi Account Setup - User Authentication</h1>\n<h2 id=\"generate-a-user-token-multi-account-setup\">Generate a User Token (Multi-Account Setup)</h2>\n<p>A user token must be generated and used for each video editor session. This token is mandatory for accessing the editor and is essential for securely identifying the user, linking the session to their account, and enabling the provision of relevant user analytics.</p>\n<p>Below is the detailed API for authenticating a user entity in the Wochit platform.<br />During the authentication process new user entity will be created in Wochit in case this user does not exist yet and a token will be created to authenticate this user in future calls.</p>\n<img src=\"https://content.pstmn.io/b1e08387-983a-4902-a896-22ee87a2008d/Y3JlYXRlLXVzZXItdG9rZW4tYmUtdG8tYmUtZmxvdy4yZGVkNmExYi5wbmc=\" />\n\n<h2 id=\"definitions\">Definitions:</h2>\n<ul>\n<li><p><strong>Channel User</strong>: Your end-user interacting with your platform to create a video.</p>\n</li>\n<li><p><strong>Channel Client</strong>: The front-end application that communicates with the backend to fulfill user requests.</p>\n</li>\n<li><p><strong>Channel Server</strong>: The backend server responsible for handling requests from the front-end and communicating with external services.</p>\n</li>\n<li><p><strong>Wochit Service</strong>: The external video creation service that provides authentication tokens.</p>\n</li>\n</ul>\n<h2 id=\"steps\">Steps:</h2>\n<ol>\n<li><p>The <strong>Channel User</strong> clicks on the \"Create a video\" button in your application.</p>\n</li>\n<li><p>The <strong>Channel Client</strong> (front-end) sends a request to the <strong>Channel Server</strong> (backend) to obtain a user token.</p>\n</li>\n<li><p>The <strong>Channel Server</strong> makes an HTTP POST request to the <strong>Wochit authentication service</strong> to retrieve a user token.</p>\n</li>\n<li><p>The <strong>Wochit service</strong> responds with the requested user token.</p>\n</li>\n<li><p>The <strong>Channel Server</strong> returns this <strong>Wochit User Token</strong> to the <strong>Channel Client</strong>.</p>\n</li>\n<li><p>The <strong>Channel Client</strong> then sets the <strong>Wochit User Token</strong> in the Wochit JS module for further use.</p>\n</li>\n</ol>\n<p>Below is the detailed API for authenticating a user entity in the Wochit platform.<br />Authentication is done by calling the Wochit API. During the authentication process new user entity will be created in Wochit in case this user does not exist yet and a token will be created to authenticate this user in future calls.</p>\n<p>Request Properties</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user.id</td>\n<td>String</td>\n<td><em>(Required Unique)</em> Your unique user identifier</td>\n</tr>\n<tr>\n<td>email</td>\n<td>String</td>\n<td><em>(Optional)</em> The user's email</td>\n</tr>\n<tr>\n<td>firstName</td>\n<td>String</td>\n<td><em>(Optional)</em> The user's first name</td>\n</tr>\n<tr>\n<td>lastName</td>\n<td>String</td>\n<td><em>(Optional)</em> The user's last name</td>\n</tr>\n<tr>\n<td>organization.partnerId</td>\n<td>String</td>\n<td><em>(Required Unique)</em> Your customer's unique ID</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>Successful response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"token\": {\n    \"value\":  \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n    \"expirationDate\": 1621332600000\n  }\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","embedded","users","tokens"],"host":["authentication","wochit","com"],"query":[],"variable":[]}},"response":[{"id":"6f5764ce-6ef7-47a5-9f8f-8d14355804e1","name":"Successful Response","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"client-id","value":"{{client_id}}"},{"key":"Authorization","value":"Bearer {{api_key}}"}],"body":{"mode":"raw","raw":"{\n  \"user\": {\n    \"id\": \"{{user_id}}\",\n    \"email\": \"{{user_email}}\",\n    \"firstName\": \"{{user_first_name}}\",\n    \"lastName\": \"{{user_last_name}}\"\n  },\n  \"organization\": {\n    \"partnerId\": \"{{customer_partner_id}}\"\n  }\n}"},"url":"https://authentication.wochit.com/api/v1/embedded/users/tokens","description":"## User Authentication\n\nBelow is the detailed API for authenticating a user entity in the Wochit platform.\nAuthentication is done by calling the Wochit API. During the authentication process new user entity will be created in Wochit in case this user does not exist yet and a token will be created to authenticate this user in future calls.\n\n### Request Properties\n\n| Property               | Type   | Values | Description                                     |\n| ---------------------- | ------ | ------ | ----------------------------------------------- |\n| user.id                | String |        | _(Required Unique)_ Your unique user identifier |\n| email                  | String |        | _(Optional)_ The user's email                   |\n| firstName              | String |        | _(Optional)_ The user's first name              |\n| lastName               | String |        | _(Optional)_ The user's last name               |\n| organization.partnerId | String |        | _(Required Unique)_ Your customer's unique ID   |\n\n### Response\n\nSuccessful response:\n```json\n{\n  \"token\": {\n    \"value\":  \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n    \"expirationDate\": 1621332600000\n  }\n}\n```"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"token\": {\n    \"value\":  \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n    \"expirationDate\": 1621332600000\n  }\n}"}],"_postman_id":"8723cfee-5ca0-4505-8b1b-c29bd81acaca"}],"id":"f0e1efcc-8603-4410-b733-7f5cc73574ce","description":"<h1 id=\"multi-account-setup\">Multi Account Setup</h1>\n<p>This section covers the advanced multi-account (aka \"multi-channel\") setup for integrating the Wochit Video Editor.<br />Use this approach when you need to manage multiple customers under your primary account, providing a more flexible and scalable integration.</p>\n<p>The Multi Account Setup allows you to:</p>\n<ol>\n<li><p>Retrieve channel information</p>\n</li>\n<li><p>Create and manage customer accounts</p>\n</li>\n<li><p>Update existing customer settings</p>\n</li>\n<li><p>Authenticate users within specific customer contexts</p>\n</li>\n</ol>\n<p>This setup is ideal for platforms that serve multiple distinct customer bases or require separate configurations for different user groups.</p>\n","_postman_id":"f0e1efcc-8603-4410-b733-7f5cc73574ce","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}}},{"name":"Wochit Frame Javascript Module","item":[{"name":"Install the Wochit Javascript Module","item":[],"id":"1921a267-eadf-459a-8b53-4acf20390e24","description":"<p>The Wochit JavaScript module may be installed as an NPM package, or as an HTML script snippet.</p>\n<h3 id=\"npm-setup\">NPM Setup</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-sh\">npm i @wochit/embedded\n\n</code></pre>\n<h3 id=\"html-snippet-setup\">HTML Snippet Setup</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-html\">&lt;script type=\"application/javascript\"&gt;\n(function (window, document, tag, url, name, a, m) {\n    window['__wochit_object_name__'] = name;\n    window[name] =\n      window[name] ||\n      function () {\n        (window[name].q = window[name].q || []).push(arguments);\n};\n    (a = document.createElement(tag)), (m = document.getElementsByTagName(tag)[0]);\n    a.async = 1;\n    a.src = url;\n    m.parentNode.insertBefore(a, m);\n  })(window, document, 'script', 'https://embedded.wochit.com/latest.min.js', 'wt');\n&lt;/script&gt;\n\n</code></pre>\n","_postman_id":"1921a267-eadf-459a-8b53-4acf20390e24","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"22563ac7-1a28-48a9-8363-26615ead0753","id":"22563ac7-1a28-48a9-8363-26615ead0753","name":"Wochit Frame Javascript Module","type":"folder"}}},{"name":"Wochit Frame Javascript Configuration","item":[],"id":"0c3b7d1b-cefd-43ad-a745-ea57b9e0e766","description":"<p>Call the config() method to set up the integration context. This method must be called only <strong>once</strong> in the scope, where <em>Client ID</em> and <em>userToken</em> are easily available.</p>\n<h3 id=\"npm-setup\">NPM Setup</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">import { config } from '@wochit/embedded';\nconfig({ clientId: clientId, userToken: userToken });\n\n</code></pre>\n<h3 id=\"html-snippet-setup\">HTML Snippet Setup</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-html\">window.wt('config', { clientId: clientId, userToken: userToken });\n\n</code></pre>\n<hr />\n<p><strong>clientId</strong> <code>string</code><br />Your unique <em>Client ID</em>.<br />Log-in to the Wochit <a href=\"https://admin.wochit.com/developers/integration-setup\">Developers’ Tools</a> to obtain your <em>Client ID</em>.</p>\n<hr />\n<p><strong>userToken</strong> <code>string</code><br />A user token that is the unique key generated every time a user accesses the Wochit Video Editor, as explained <a href=\"#ce869aa3-e83c-47a2-8c88-6658812381e6\">above</a>.</p>\n<hr />\n","_postman_id":"0c3b7d1b-cefd-43ad-a745-ea57b9e0e766","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"22563ac7-1a28-48a9-8363-26615ead0753","id":"22563ac7-1a28-48a9-8363-26615ead0753","name":"Wochit Frame Javascript Module","type":"folder"}}},{"name":"Open Wochit Frame Editor","item":[],"id":"0ee021a7-b222-4bc3-8fa2-e22bd6f285d6","description":"<h1 id=\"open-wochit-frame-editor-in-your-website\">Open Wochit Frame Editor in Your Website</h1>\n<p>Call openVideoEditor() to open your customized Wochit Video Editor in an embedded iFrame.<br />The following example shows how to create a button or a link that triggers the openVideoEditor action:</p>\n<h3 id=\"npm-setup\">NPM Setup</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">import { openVideoEditor } from '@wochit/embedded';\ndocument.querySelector('.video-editor-btn').addEventListener('click', () =&gt; {\n  openVideoEditor({\n    videoContext: 'custom-video-context',\n  }); \n});\n\n</code></pre>\n<h3 id=\"html-snippet-setup\">HTML Snippet Setup</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">document.querySelector('.video-editor-btn').addEventListener('click', () =&gt; {\n  window.wt('openVideoEditor', {\n    videoContext: 'custom-video-context',\n  });\n});\n\n</code></pre>\n<h3 id=\"customize-the-wochit-video-editor\">Customize the Wochit Video Editor</h3>\n<p>To customize the Wochit Video Editor, you may include one or more of the following parameters in the configuration object passed to the openVideoEditor function:</p>\n<p><strong>videoContext</strong> <code>string</code> (Optional)<br />A unique identifier to link any video being edited in the Wochit Video Editor to your internal systems. While optional, it's highly valuable for integration. Examples include customer IDs, page IDs, or any custom metadata.<br />This identifier is returned in Webhooks, API responses, and Javascript callbacks, enabling automated workflows and efficient video management within your ecosystem.</p>\n<p><strong>videoId</strong> <code>string</code> (Optional)<br />Specifying a video ID allows users to retrieve and modify either a previously generated video or a saved draft, enabling seamless continuation of editing work. (<a href=\"#36497199-85bb-422d-a425-24f3e7d6a228\">Working with Webhooks)</a></p>\n<p><strong>on</strong> <code>object</code> (Optional)<br />While your end-user interacts with the Wochit Video Editor iFrame, events will be triggered to notify you of the user's actions and allow you to react to these. (<a href=\"#c9018007-4ef7-4570-922c-a475048bc5da\">Triggered Events</a>)</p>\n<p><strong>showCreativeGallery</strong> <code>boolean</code> (Optional)<br />Whether to allow users to choose from Wochit's extensive library of rights-cleared stock photos and videos image and video creative library.</p>\n<p><strong>showUploadGallery</strong> <code>boolean</code> (Optional)<br />Whether to allow users to upload their own content from their device.</p>\n<p><strong>destLanguage</strong> <code>string</code> (Optional)<br />Pass language code to adjust the Video Editor UI. Available options are: en, es, fr and de.</p>\n<p><strong>aspectRatios</strong> <code>string[]</code> (Optional)<br />To filter the templates with specific aspect ratios, pass a list of comma-separated aspect ratios.</p>\n<p><strong>galleryAssets</strong> <code>object[]</code> (Optional)<br />You may pass a list of image / video URLs. The Wochit Video Editor will show these assets under the \"My Gallery\" tab, for the end-user to choose for their video.</p>\n<p><strong>linkedFields</strong> <code>object</code> (Optional)<br />Wochit's Video Editor can jump-start the templates with pre-injected data, personalized to each user.</p>\n<p><strong>categoryNames</strong> <code>string[]</code> (Optional)<br />Each template in the template gallery belongs to one or more categories. Use the categoryNames parameter to filter the template gallery for specific categories.</p>\n<p><strong>categoryIds</strong> <code>string[]</code> (Optional)<br />Each template in the template gallery has its own unique identifier. Use the categoryId parameter to filter the template gallery for specific categories.</p>\n<p><strong>containerEl</strong> <code>HTMLElement</code> (Optional)<br />By default, the Wochit Video Editor will open as a modal in your website / app. If you wish to embed the Video Editor as an inline element inside a page, you can pass a container element to the containerEl property.</p>\n<p><strong>blockAiMenu</strong> <code>boolean</code> (Optional)<br />Controls the visibility of AI-powered features in the editor interface. When set to `true`, AI menu options will be hidden even for accounts with AI capabilities enabled. Defaults to `false`.<br />* Note that displaying AI features requires both this parameter to be `false` and appropriate account-level permissions.</p>\n<p><strong>templateLanguageFilter</strong> <code>string</code> (Optional)<br />Filters templates by language. To show templates in a specific language, provide the full language name (for example: 'English'). When the language filter is disabled in the admin settings, this parameter restricts available templates to the specified language only.<br />Set to null or omit this parameter to use system defaults.</p>\n","_postman_id":"0ee021a7-b222-4bc3-8fa2-e22bd6f285d6","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"22563ac7-1a28-48a9-8363-26615ead0753","id":"22563ac7-1a28-48a9-8363-26615ead0753","name":"Wochit Frame Javascript Module","type":"folder"}}},{"name":"Triggered Javascript Events","item":[],"id":"c9018007-4ef7-4570-922c-a475048bc5da","description":"<h1 id=\"front-end-interaction-callbacks\">Front-End Interaction Callbacks</h1>\n<p>As the user interacts with the Wochit Video Editor, several events will be triggered. You can implement callback functions on your side to react to these events.</p>\n<p><strong>Important</strong>: A faster and safer way to retrieve the video file at the end of the process is by implementing a listener to a <a href=\"#36497199-85bb-422d-a425-24f3e7d6a228\">Webhook endpoint</a>.</p>\n<p>For technical assistance, contact <a href=\"https://www.wochit.com/contact/\">Wochit support</a>.</p>\n<h3 id=\"npm-setup\">NPM Setup</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">openVideoEditor({\n    videoContext: 'my-page-context',\n    on: {\n      loaded: ($iframe) =&gt; {\n        console.log('loaded', $iframe);\n      },\n      ready: () =&gt; {\n        console.log('ready');\n      },\n      abort: (payload) =&gt; {\n        console.log('abort', payload);\n      },\n      produce: (payload) =&gt; {\n        console.log('produce', payload);\n      },\n    },\n  }); \n});\n\n</code></pre>\n<h3 id=\"html-snippet-setup\">HTML Snippet Setup</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">  window.wt('openVideoEditor', {\n    videoContext: 'my-page-context',\n    on: {\n      loaded: ($iframe) =&gt; {\n        console.log('loaded', $iframe);\n      },\n      ready: () =&gt; {\n        console.log('ready');\n      },\n      abort: (payload) =&gt; {\n        console.log('abort', payload);\n      },\n      produce: (payload) =&gt; {\n        console.log('produce', payload);\n      },\n    },\n  });\n});\n\n</code></pre>\n<h2 id=\"event-types\">Event Types</h2>\n<h3 id=\"onloaded\">on.loaded</h3>\n<p>Triggered when the Video Editor resources have been loaded.</p>\n<h3 id=\"onready\">on.ready</h3>\n<p>Triggered when the Video Editor is ready to use and the user can start working.</p>\n<h3 id=\"ondraft_new\">on.draft_new</h3>\n<p>Triggered when the Video Draft has been created.<br />Payload example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"videoContext\": \"ABC\",\n  \"videoId\": \"6094092472a9105747957aa3\",\n  \"awaitingAiContent\": true  // Only present for AI-generated stories\n}\n\n</code></pre>\n<p>The <code>awaitingAiContent</code> flag indicates that this draft represents an AI-requested video that is currently locked while waiting for the AI generation job to complete. This flag will only be present in the payload for AI-generated video drafts.</p>\n<h3 id=\"onai_draft_ready\">on.ai_draft_ready</h3>\n<p>Triggered when an AI-generated video draft is ready for editing. This event fires after the AI generation process completes and the draft becomes available for user interaction.<br />Payload example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"videoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"ABC\",\n  \"title\": \"AI Generated Video Title\"\n}\n\n</code></pre>\n<p>Note: This client-side event does not include the <code>thumbnailUrl</code>. Always use the <a href=\"https://docs.wochit.com/#8e0cfdb0-ef71-4b68-895f-afcbf608c4b3\">AI Draft Ready Webhook</a> as your primary source of data to ensure reliable and secure event handling which includes the thumbnail URL with all the required metadata.</p>\n<h3 id=\"ondraft_delete\">on.draft_delete</h3>\n<p>Triggered when the Video Draft has been deleted by the user.</p>\n<p>Payload example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"videoContext\": \"ABC\",\n  \"videoId\": \"6094092472a9105747957aa3\"\n}\n\n</code></pre>\n<h3 id=\"onproduce\">on.produce</h3>\n<p>Triggered when the user clicks the 'Produce' button. A payload with the Wochit videoId will be passed to the event.</p>\n<p>Payload example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"duration\": 18.5341,\n  \"title\": \"Video Title\",\n  \"videoContext\": \"ABC\",\n  \"videoId\": \"6094092472a9105747957aa3\",\n  \"videoState\": \"PROCESSING\"\n}\n\n</code></pre>\n<h3 id=\"onabort\">on.abort</h3>\n<p>Triggered when the user clicks the 'Exit' button or chooses to close the Video Editor.</p>\n<h3 id=\"onproduce_done\">on.produce_done</h3>\n<p>Triggered as soon as a video is produced. A payload with a link to the video and additional metadata will be passed to the event.</p>\n<p>Payload example (Success):</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"state\": \"DONE\",\n  \"videoId\": \"6094092472a9105747957aa3\",\n  \"duration\": 35.192,\n  \"videoContext\": \"string-sent-when-opened-the-video-editor\",\n  \"title\": \"The video title\",\n  \"videoUrl\": \"https://example.com/direct-link-to-video\",\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\"\n}\n\n</code></pre>\n<p>Payload example (Failure - Rare):</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"state\": \"FAILED\",\n  \"videoId\": \"6094092472a9105747957aa3\",\n  \"duration\": null,\n  \"videoContext\": null,\n  \"title\": null,\n  \"videoUrl\": null,\n  \"thumbnailUrl\": null\n}\n\n</code></pre>\n<h2 id=\"attribute-descriptions\">Attribute Descriptions</h2>\n<ul>\n<li><p><strong>state</strong> (string): Indicates the state of the video. '<strong>PROCESSING</strong>' is the initial state, '<strong>DONE</strong>' means successful production, '<strong>FAILED</strong>' means production failed.</p>\n</li>\n<li><p><strong>wochitVideoId</strong> (string): Wochit's unique identifier for this video. Can be used to re-edit the video.</p>\n</li>\n<li><p><strong>duration</strong> (float): The video duration in seconds.</p>\n</li>\n<li><p><strong>videoContext</strong> (string): String initiated when calling openVideoEditor(). Connects the video to the video editor instance.</p>\n</li>\n<li><p><strong>title</strong> (string): The title of the video. Editable by the user in the video editor.</p>\n</li>\n<li><p><strong>videoUrl</strong> (string): Direct link to the video. Links expire after 24 hours.</p>\n</li>\n<li><p><strong>thumbnailUrl</strong> (string): Direct link to the video thumbnail. Links expire after 24 hours.</p>\n</li>\n</ul>\n<p>Important: A faster and safer way to retrieve the video file at the end of the process is by implementing a listener to a <a href=\"#36497199-85bb-422d-a425-24f3e7d6a228\">Webhook endpoint</a>.</p>\n<p>For technical assistance, contact Wochit support.</p>\n","_postman_id":"c9018007-4ef7-4570-922c-a475048bc5da","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"22563ac7-1a28-48a9-8363-26615ead0753","id":"22563ac7-1a28-48a9-8363-26615ead0753","name":"Wochit Frame Javascript Module","type":"folder"}}},{"name":"Personalize the Experience","item":[],"id":"56de09c8-334d-494b-91b0-6d878cc6187d","description":"<h1 id=\"personalize-the-experience\">Personalize the Experience</h1>\n<p>All default values for the Wochit Video Editor are defined in our <a href=\"https://admin.wochit.com/my-video-editor\">admin tool</a>.<br />However, sometimes, you may need to personalize the experience for specific users. For example - you may want to add more features to premium users; or set up a different UI language for users based on their localization. This can be done by setting overriding the defaults and passing specific parameters to the openVideoEditor() function.</p>\n<h3 id=\"add-personal-asset-gallery\">Add personal asset gallery</h3>\n<p>In case your platform already stores photos or videos associated with your customer (e.g. assets they've uploaded directly to your platform), it is fairly easy to present them with their own gallery inside the Wochit Video Editor. All you have to do is pass a list of image / video URLs. These assets will be shown in the 'My Gallery' tab for the user to pick and choose for their video creation. Personalized galleries may be organized in folders.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">galleryAssets: [\n  {\n    title: 'My Project',\n    assets: [\n      {\n        url: 'https://cdn1.sample.com/image1.jpg',\n        type: 'image',\n      },\n      {\n        url: 'https://cdn1.sample.com/video.mp4',\n        thumbnailUrl: 'https://cdn1.sample.com/videoThumbnail.jpg',\n        duration: 2.21, \n        type: 'video',\n      },\n    ],\n  },\n  {\n    title: 'My Profile',\n    assets: [\n      {\n        url: 'https://cdn1.sample.com/image2.jpg',\n        type: 'image',\n      },\n      {\n        url: 'https://cdn1.sample.com/video2.mp4',\n        thumbnailUrl: 'https://cdn1.sample.com/videoThumbnail2.jpg',\n        duration: 5.21, \n        type: 'video',\n      },\n    ],\n  },\n]\n\n</code></pre>\n<h3 id=\"linked-fields\">Linked fields</h3>\n<p>The Wochit Video Editor can jump-start the templates with pre-injected data, personalized to each user. Use Linked Fields to auto-fill texts like user name, address, project name, etc; as well as to pre-select assets for the video, such as: company logo, project pictures and so on.</p>\n<p><a href=\"https://www.wochit.com/contact/\">Click here</a> to learn how Linked Fields can speed up the video creation process to literally 2 clicks per video.</p>\n","_postman_id":"56de09c8-334d-494b-91b0-6d878cc6187d","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"22563ac7-1a28-48a9-8363-26615ead0753","id":"22563ac7-1a28-48a9-8363-26615ead0753","name":"Wochit Frame Javascript Module","type":"folder"}}}],"id":"22563ac7-1a28-48a9-8363-26615ead0753","description":"<h1 id=\"wochit-frame-javascript-module\">Wochit Frame Javascript Module</h1>\n<p>This section guides you through the process of embedding the Wochit Video Editor into your web application. It covers installation of the Wochit JavaScript module, configuration, opening the video editor, handling events, and personalizing the user experience.</p>\n<p>The embedding process involves client-side JavaScript integration, allowing you to seamlessly incorporate the Wochit Video Editor into your platform. Follow the steps outlined in this section to provide your users with a powerful, customized video creation experience directly within your application.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"5474b795-a7cc-4f98-83af-69507754b062","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"4e3852cb-7a2d-472d-8d4a-0ff3afe41dac","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"22563ac7-1a28-48a9-8363-26615ead0753"},{"name":"Listen To a Webhook","item":[{"name":"Video Production Webhooks","id":"5659cf44-5c7a-435b-88ca-4703102a4415","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"type\" : \"eventType\",\n    \"videoContext\": \"string-sent-when-opened-the-video-editor\",\n    \"wochitVideoId\": \"6094092472a9105747957aa3\",\n    \"thumbnailUrl\": \"...\",    \n    \"videoUrl\": \"...\", \n    \"title\": \"...\",\n    \"videoDuration\" : 0.0\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/your-webhook","description":"<h1 id=\"video-production-webhooks\">Video Production Webhooks</h1>\n<p>A webhook will be triggered as soon as a video is produced. A payload with a link to the video alongside some additional metadata will be pushed to your webhook endpoint.</p>\n<p>We send a notification when a video has been produced successfully, video production has failed, or video has been deleted from the Wochit servers.</p>\n<p>Once a video event is triggered, a POST request will be sent to the provided Webhook address. Expect the following JSON structure (the content of the object is defined according to its type):</p>\n<h3 id=\"attributes\">Attributes:</h3>\n<p><strong>type</strong> <code>string</code><br />This property indicates the state of the video:</p>\n<ul>\n<li><p><strong>video.ready</strong> means that the video has been produced successfully</p>\n</li>\n<li><p><strong>video.failed</strong> means that the video production failed</p>\n</li>\n<li><p><strong>video.delete</strong> means a video was deleted</p>\n</li>\n</ul>\n<p><strong>wochitVideoId</strong> <code>string</code><br />Wochit unique identifier for this video. You can use it to re-edit the video.</p>\n<p><strong>videoDuration</strong> <code>float</code><br />The video duration in seconds.</p>\n<p><strong>videoContext</strong> <code>string</code><br />String initiated when calling openVideoEditor(). videoContext connects the video to the video editor instance, so you can know where the video belongs to.</p>\n<p><strong>title</strong> <code>string</code><br />The title of the video. The user can edit the video title in the video editor.</p>\n<p><strong>videoUrl</strong> <code>string</code><br />Direct link to the video. Links have an expiration time of 24 hours so make sure you download the video to your system and use your own storage / CDN.</p>\n<p><strong>thumbnailUrl</strong> <code>string</code><br />Direct link to the thumbnail (poster frame) of the video. Links have an expiration time of 24 hours so make sure to download it to your system and use your own storage / CDN.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"36497199-85bb-422d-a425-24f3e7d6a228","id":"36497199-85bb-422d-a425-24f3e7d6a228","name":"Listen To a Webhook","type":"folder"}},"urlObject":{"protocol":"https","path":["your-webhook"],"host":["your-webhook-endpoint","com"],"query":[],"variable":[]}},"response":[{"id":"c9bd3344-6241-42a3-b189-d83b97de6467","name":"Video Ready","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"state\": \"DONE\",\n  \"videoId\": \"6094092472a9105747957aa3\",\n  \"duration\": 35.192, \n  \"videoContext\": \"VideoContext that was sent to the video editor\",\n  \"title\": \"The video title\",\n  \"videoUrl\": \"https://example.com/direct-link-to-video\",\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/your-webhook"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\" : \"video.ready\",\n    \"videoContext\": \"string-sent-when-opened-the-video-editor\",\n    \"wochitVideoId\": \"6094092472a9105747957aa3\",\n    \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\",    \n    \"videoUrl\": \"https://example.com/direct-link-to-video\", \n    \"title\": \"The video title\",\n    \"videoDuration\" : 35.9\n}"},{"id":"b5034db8-b782-419a-a1cf-036b26f6750d","name":"Video Production Failed","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"state\": \"DONE\",\n  \"videoId\": \"6094092472a9105747957aa3\",\n  \"duration\": 35.192, \n  \"videoContext\": \"VideoContext that was sent to the video editor\",\n  \"title\": \"The video title\",\n  \"videoUrl\": \"https://example.com/direct-link-to-video\",\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/your-webhook"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\" : \"video.failed\",\n    \"videoContext\": \"string-sent-when-opened-the-video-editor\",\n    \"wochitVideoId\": \"6094092472a9105747957aa3\",\n    \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\",    \n    \"videoUrl\": \"https://example.com/direct-link-to-video\", \n    \"title\": \"The video title\",\n    \"videoDuration\" : 35.9\n}"},{"id":"70923def-1e8c-4ba0-87f3-de23b55a3182","name":"Video Deleted","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"state\": \"DONE\",\n  \"videoId\": \"6094092472a9105747957aa3\",\n  \"duration\": 35.192, \n  \"videoContext\": \"VideoContext that was sent to the video editor\",\n  \"title\": \"The video title\",\n  \"videoUrl\": \"https://example.com/direct-link-to-video\",\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/your-webhook"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\" : \"video.delete\",\n    \"wochitVideoId\": \"6094092472a9105747957aa3\",\n    \"title\": \"The video title\"\n}"}],"_postman_id":"5659cf44-5c7a-435b-88ca-4703102a4415"},{"name":"Drafts Management Webhooks","id":"03d6ebc8-1f83-473e-b1b7-926ddaf2ab8f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"type\" : \"eventType\",\n    \"videoContext\": \"string-sent-when-opened-the-video-editor\",\n    \"wochitVideoId\": \"6094092472a9105747957aa3\",\n    \"thumbnailUrl\": \"...\",    \n    \"videoUrl\": \"...\", \n    \"title\": \"...\",\n    \"videoDuration\" : 0.0\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/your-webhook","description":"<h1 id=\"drafts-management-webhooks\">Drafts Management Webhooks</h1>\n<p>Webhooks are also used for managing drafts. You'll receive notifications when drafts are created, updated, or deleted.</p>\n<h3 id=\"draft-creation\">Draft Creation</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"draft.new\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\",\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\",    \n  \"title\": \"Draft title\"\n}\n\n</code></pre>\n<h3 id=\"draft-update\">Draft Update</h3>\n<p>Triggered each time the user makes changes to a video draft.</p>\n<ul>\n<li>The draft.update webhook is triggered on every autosave of the draft, but we do not send it by default. If you wish to subscribe to this event, please <a href=\"https://www.wochit.com/contact\">Contact us</a>.</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"draft.update\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\",\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\",    \n  \"title\": \"Updated draft title\"\n}\n\n</code></pre>\n<h3 id=\"draft-deletion\">Draft Deletion</h3>\n<p>Triggered once a user deletes a draft within the video editor</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"draft.delete\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\"\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\",  \n  \"title\": \"Updated draft title\"\n}\n\n</code></pre>\n<h3 id=\"draft-exit\">Draft Exit</h3>\n<p>Triggered once a user exits the video editor</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"draft.exit\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\",\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\",    \n  \"title\": \"The video title\" \n}\n\n</code></pre>\n<p>Ensure your webhook endpoint is set up to handle these events appropriately.</p>\n<h3 id=\"attributes\">Attributes:</h3>\n<hr />\n<p><strong>type</strong> <code>string</code><br />The type of the event.</p>\n<hr />\n<p><strong>videoContext</strong> <code>string</code><br />String initiated when calling openVideoEditor(). <a href=\"#0ee021a7-b222-4bc3-8fa2-e22bd6f285d6\">videoContext</a> connects the video to the Video Editor instance, so you can associate the video with the right end-user, customer or page it belongs to.</p>\n<hr />\n<p><strong>wochitVideoId</strong> <code>string</code><br />Wochit unique identifier for this video. You can use it to <a href=\"#0ee021a7-b222-4bc3-8fa2-e22bd6f285d6\">re-edit the video</a>.</p>\n<hr />\n<p><strong>thumbnailUrl</strong> <code>string (optional)</code><br />Direct link to the thumbnail of the video. Links have an expiration time of 24 hours so make sure you download the video to your system and use your own storage / CDN.</p>\n<hr />\n<p><strong>title</strong> <code>string</code><br />The title of the video. The title is given by the end-user.</p>\n<hr />\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"36497199-85bb-422d-a425-24f3e7d6a228","id":"36497199-85bb-422d-a425-24f3e7d6a228","name":"Listen To a Webhook","type":"folder"}},"urlObject":{"protocol":"https","path":["your-webhook"],"host":["your-webhook-endpoint","com"],"query":[],"variable":[]}},"response":[{"id":"4b4d2a73-eca2-4861-be37-a020d2e417b9","name":"Drafts Management Webhook","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"type\" : \"eventType\",\n    \"videoContext\": \"string-sent-when-opened-the-video-editor\",\n    \"wochitVideoId\": \"6094092472a9105747957aa3\",\n    \"thumbnailUrl\": \"...\",    \n    \"videoUrl\": \"...\", \n    \"title\": \"...\",\n    \"videoDuration\" : 0.0\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/your-webhook"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"draft.new\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\",\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\",    \n  \"title\": \"Draft title\"\n}"}],"_postman_id":"03d6ebc8-1f83-473e-b1b7-926ddaf2ab8f"},{"name":"AI Drafts Webhooks","id":"8e0cfdb0-ef71-4b68-895f-afcbf608c4b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"type\" : \"ai.draft.new\",\n    \"videoContext\": \"string-sent-when-opened-the-video-editor\",\n    \"wochitVideoId\": \"6094092472a9105747957aa3\",\n    \"thumbnailUrl\": \"...\",    \n    \"title\": \"...\",\n    \"videoDuration\" : 0.0\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/your-webhook","description":"<h1 id=\"ai-drafts-webhooks\">AI Drafts Webhooks</h1>\n<p>Wochit Frame video editor offers AI-powered video creation capabilities.</p>\n<p>This feature is available upon request. Please <a href=\"https://www.wochit.com/contact/\">contact us</a> for further information, business inquiries, or detailed instructions.</p>\n<p>Once an AI draft video is requested by your client, the creation process may take some time.</p>\n<p>While the AI draft creation is in progress, the video cannot be edited.<br />However, the Frame editor can still be initialized using the AI draft's video ID.<br />When users access the Frame editor during this process, they will be presented with a loading or preparation screen, indicating that the AI draft is still being generated, and then redirected to the editing page.</p>\n<p>We recommend labeling the draft entity on your end with a specific 'AI in progress' status. This will help distinguish AI-generated drafts that are still being processed from other types of content in your system.</p>\n<h3 id=\"ai-draft-creation-webhook\">AI Draft Creation Webhook</h3>\n<p>We will send an <strong>ai.draft.new</strong> webhook notification when the process begins, allowing you to manage the necessary entities on your end.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"ai.draft.new\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\", \n  \"title\": \"Temporary AI Draft Title\"\n}\n\n</code></pre>\n<h3 id=\"ai-draft-ready-webhook\">AI Draft Ready Webhook</h3>\n<p>Upon completion of the AI draft generation process, an event will be triggered indicating that the draft is ready for editing.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"ai.draft.ready\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\", \n  \"title\": \"AI Draft Title\",\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\"   \n}\n\n</code></pre>\n<h3 id=\"ai-draft-failed-webhook\">AI Draft Failed Webhook</h3>\n<p>Although rare, AI draft generation may occasionally fail. In such cases, an 'AI Draft Failed' event will be triggered. We recommend implementing appropriate error handling to manage these infrequent occurrences and ensure a seamless user experience.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"draft.failed\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\"\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\",  \n  \"title\": \"Updated draft title\"\n}\n\n</code></pre>\n<h3 id=\"attributes\">Attributes:</h3>\n<hr />\n<p><strong>type</strong> <code>string</code><br />The type of the event.</p>\n<hr />\n<p><strong>videoContext</strong> <code>string</code><br />String initiated when calling openVideoEditor(). <a href=\"#0ee021a7-b222-4bc3-8fa2-e22bd6f285d6\">videoContext</a> connects the video to the Video Editor instance, so you can associate the video with the right end-user, customer or page it belongs to.</p>\n<hr />\n<p><strong>wochitVideoId</strong> <code>string</code><br />Wochit unique identifier for this video. You can use it to <a href=\"#0ee021a7-b222-4bc3-8fa2-e22bd6f285d6\">re-edit the video</a>.</p>\n<hr />\n<p><strong>thumbnailUrl</strong> <code>string (optional)</code><br />Direct link to the thumbnail of the video. Links have an expiration time of 24 hours so make sure you download the video to your system and use your own storage / CDN.</p>\n<hr />\n<p><strong>title</strong> <code>string</code><br />The title of the video. The title is given by the end-user.</p>\n<hr />\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"36497199-85bb-422d-a425-24f3e7d6a228","id":"36497199-85bb-422d-a425-24f3e7d6a228","name":"Listen To a Webhook","type":"folder"}},"urlObject":{"protocol":"https","path":["your-webhook"],"host":["your-webhook-endpoint","com"],"query":[],"variable":[]}},"response":[{"id":"4361440f-7e4b-4b9e-9bd4-8eebd73ca4ff","name":"AI Draft New","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"type\" : \"eventType\",\n    \"videoContext\": \"string-sent-when-opened-the-video-editor\",\n    \"wochitVideoId\": \"6094092472a9105747957aa3\",\n    \"thumbnailUrl\": \"...\",    \n    \"videoUrl\": \"...\", \n    \"title\": \"...\",\n    \"videoDuration\" : 0.0\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/your-webhook"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"ai.draft.new\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\", \n  \"title\": \"Temporary AI Draft Title\"\n}"},{"id":"da96f55f-8aaf-488d-aad3-a096aca20366","name":"AI Draft Ready","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"type\" : \"eventType\",\n    \"videoContext\": \"string-sent-when-opened-the-video-editor\",\n    \"wochitVideoId\": \"6094092472a9105747957aa3\",\n    \"thumbnailUrl\": \"...\",    \n    \"videoUrl\": \"...\", \n    \"title\": \"...\",\n    \"videoDuration\" : 0.0\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/your-webhook"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"ai.draft.ready\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\", \n  \"title\": \"AI Draft Title\",\n  \"thumbnailUrl\": \"http://example.com/direct-link-to-thumbnail\"   \n}"},{"id":"f7b196dc-c7b5-40c6-afbe-468f0c393b11","name":"AI Draft Failure","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"type\" : \"eventType\",\n    \"videoContext\": \"string-sent-when-opened-the-video-editor\",\n    \"wochitVideoId\": \"6094092472a9105747957aa3\",\n    \"thumbnailUrl\": \"...\",    \n    \"videoUrl\": \"...\", \n    \"title\": \"...\",\n    \"videoDuration\" : 0.0\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/your-webhook"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"ai.draft.failed\",\n  \"wochitVideoId\": \"6094092472a9105747957aa3\",\n  \"videoContext\": \"VideoContext that was sent to the video editor\"\n}"}],"_postman_id":"8e0cfdb0-ef71-4b68-895f-afcbf608c4b3"}],"id":"36497199-85bb-422d-a425-24f3e7d6a228","description":"<h1 id=\"webhooks\">Webhooks</h1>\n<p>Webhooks allow your application to receive real-time updates about the status of videos and drafts, enabling you to take appropriate actions in your system as soon as events occur in the Wochit platform.</p>\n<h2 id=\"define-your-webhook\">Define Your Webhook</h2>\n<p>You can update your Webhook URL by submitting the <a href=\"https://admin.wochit.com/developers/integration-setup\">Integration Setup</a> form.</p>\n<h2 id=\"important\">Important!</h2>\n<ul>\n<li><p>If you allow your users to save drafts, ensure that no more than one user works on the draft simultaneously, as auto-save can override the other user's changes.</p>\n</li>\n<li><p>The draft.update webhook is triggered on every autosave of the draft, but we do not send it by default. If you wish to subscribe to this event, please <a href=\"https://www.wochit.com/contact\">Contact us</a>.</p>\n</li>\n<li><p>The videoContext in the draft.update and draft.exit webhook is identical to the videoContext you used when first initiating the draft edit. It's strongly advised that you maintain a mapping between the wochit Video Id and the videoContext for future reference.</p>\n</li>\n</ul>\n<h2 id=\"ip-whitelisting\">IP whitelisting</h2>\n<p>You might need to whitelist Wochit IPs to allow receiving our Webhook calls:</p>\n<ul>\n<li><p>54.81.68.237</p>\n</li>\n<li><p>54.147.58.230</p>\n</li>\n<li><p>52.1.193.159</p>\n</li>\n<li><p>18.204.107.61</p>\n</li>\n<li><p>100.25.120.71</p>\n</li>\n</ul>\n<p>Need any technical assistance? <a href=\"https://www.wochit.com/contact\">Contact us!</a></p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"8c62d456-68ba-4cd4-ade6-1203df6d736c","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"ac12196f-664d-436f-b9ea-80410c24be5e","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"36497199-85bb-422d-a425-24f3e7d6a228"},{"name":"API Reference","item":[{"name":"Drafts & Videos","item":[{"name":"Clone Draft","id":"89b8cdaf-0812-48d0-9b50-c06c18a1d54b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{user_token}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/users/drafts/{{draft_id}}/clone","description":"<p>Clone a video draft.<br />The API responses include the following attributes:</p>\n<hr />\n<p><strong>wochitVideoId</strong> (String)<br />Wochit unique identifier for this video. You can use it to <a href=\"https:///embed.html#customize-the-wochit-video-editor-by-using-the-following-properties\">re-edit the video</a>.</p>\n<hr />\n<p><strong>title</strong> (String)<br />The title of the video. The title is given by the end-user.</p>\n<hr />\n<p><strong>thumbnail</strong> (String)<br />Direct link to the thumbnail of the video. Links have an expiration time of 24 hours so make sure you download the video to your system and use your own storage / CDN.</p>\n<hr />\n<p><strong><strong>If you encounter any errors</strong></strong>, please provide the `requestId` in the response for further assistance.</p>\n","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","users","drafts","{{draft_id}}","clone"],"host":["api","wochit","com"],"query":[],"variable":[]}},"response":[{"id":"d6e696a5-67a7-4b03-ad8b-0a6356605be5","name":"Successful Response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{user_token}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/users/drafts/{{draft_id}}/clone","description":"Clone a video draft.  \nThe API responses include the following attributes:\n\n---\n\n**wochitVideoId** (String)  \nWochit unique identifier for this video. You can use it to [re-edit the video](https:///embed.html#customize-the-wochit-video-editor-by-using-the-following-properties).\n\n---\n\n**title** (String)  \nThe title of the video. The title is given by the end-user.\n\n---\n\n**thumbnail** (String)  \nDirect link to the thumbnail of the video. Links have an expiration time of 24 hours so make sure you download the video to your system and use your own storage / CDN.\n\n---\n\n****If you encounter any errors****, please provide the \\`requestId\\` in the response for further assistance."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"wochitVideoId\": \"63ce6eaa7304484941234524\",\n  \"title\": \"My Video\",\n  \"thumbnail\": \"https://example.com/direct-link-to-thumbnail\"\n}"},{"id":"b6543adc-d71b-4d0d-b253-c75c99547f55","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{user_token}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/users/drafts/{{draft_id}}/clone","description":"Clone a video draft.  \nThe API responses include the following attributes:\n\n---\n\n**wochitVideoId** (String)  \nWochit unique identifier for this video. You can use it to [re-edit the video](https:///embed.html#customize-the-wochit-video-editor-by-using-the-following-properties).\n\n---\n\n**title** (String)  \nThe title of the video. The title is given by the end-user.\n\n---\n\n**thumbnail** (String)  \nDirect link to the thumbnail of the video. Links have an expiration time of 24 hours so make sure you download the video to your system and use your own storage / CDN.\n\n---\n\n****If you encounter any errors****, please provide the \\`requestId\\` in the response for further assistance."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"wochitVideoId\": \"63ce6eaa7304484941234524\",\n  \"title\": \"My Video\",\n  \"thumbnail\": \"https://example.com/direct-link-to-thumbnail\"\n}"},{"id":"3d54dfec-caaf-4aa2-8997-b650827a36c0","name":"Bad Request","originalRequest":{"header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"code\": 400,\n  \"type\": \"Bad Request\",\n  \"requestId\": \"a43e6ee3def25828cad8a2e9270b08c0\",\n  \"errors\": []\n}"},{"id":"78640c65-e834-4846-be25-6096dd8123b4","name":"500 - Internal Server Error","originalRequest":{"method":"GET","header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 500,\n    \"type\": \"Internal Server Error\",\n    \"requestId\": \"90a5f277e13f78e26dbfd0d02c37f2d7\",\n    \"errors\": []\n}"}],"_postman_id":"89b8cdaf-0812-48d0-9b50-c06c18a1d54b"},{"name":"Delete Draft","id":"18e2fbb7-f0d1-4551-bf4b-c9482c02ffa3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{user_token}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/users/drafts/{{draft_id}}","description":"<p>Delete an existing video draft.</p>\n<p>For successful deletion, the response will be a `204 No Content` status code.</p>\n<hr />\n<p><strong><strong>If you encounter any errors</strong></strong>, please provide the `requestId` in the response for further assistance.</p>\n","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","users","drafts","{{draft_id}}"],"host":["api","wochit","com"],"query":[],"variable":[]}},"response":[{"id":"adf4ed6d-c2dd-4007-a653-7fbd26ff9936","name":"Successful Response","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{user_token}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/users/drafts/{{draft_id}}","description":"Delete an existing video draft.\n\nFor successful deletion, the response will be a \\`204 No Content\\` status code.\n\n---\n\n****If you encounter any errors****, please provide the \\`requestId\\` in the response for further assistance."},"status":"No Content","code":204,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"41ae493f-815a-486c-a525-7b6d7178ec42","name":"Unauthorized","originalRequest":{"header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"code\": 401,\n  \"type\": \"Unauthorized\",\n  \"requestId\": \"dea7bfbd46d3a73a3f51f002550b5959\",\n  \"errors\": [\n    {\n      \"parameter\": null,\n      \"message\": \"Unauthorized\",\n      \"details\": null\n    }\n  ]\n}"},{"id":"4b5d6a5e-04a8-45f4-900e-02dfa865c5c2","name":"Bad Request","originalRequest":{"header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"code\": 400,\n  \"type\": \"Bad Request\",\n  \"requestId\": \"a43e6ee3def25828cad8a2e9270b08c0\",\n  \"errors\": []\n}"},{"id":"588682e5-9033-4000-87d5-ac0133d59f0d","name":"500 - Internal Server Error","originalRequest":{"method":"GET","header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 500,\n    \"type\": \"Internal Server Error\",\n    \"requestId\": \"90a5f277e13f78e26dbfd0d02c37f2d7\",\n    \"errors\": []\n}"}],"_postman_id":"18e2fbb7-f0d1-4551-bf4b-c9482c02ffa3"},{"name":"Clone Video","id":"86dbea12-5dce-4aee-80d2-2f69ad287332","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{user_token}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/users/videos/{{video_id}}/clone","description":"<p>Clone a produced video.<br />The API responses include the following attributes:</p>\n<hr />\n<p><strong>wochitVideoId</strong> (String)<br />Wochit unique identifier for this video. You can use it to <a href=\"#0ee021a7-b222-4bc3-8fa2-e22bd6f285d6\">re-edit the video</a>.</p>\n<hr />\n<p><strong>title</strong> (String)<br />The title of the video. The title is given by the end-user.</p>\n<hr />\n<p><strong>thumbnail</strong> (String)<br />Direct link to the thumbnail of the video. Links have an expiration time of 24 hours so make sure you download the video to your system and use your own storage / CDN.</p>\n<hr />\n<p><strong><strong>If you encounter any errors</strong></strong>, please provide the `requestId` in the response for further assistance.</p>\n","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","users","videos","{{video_id}}","clone"],"host":["api","wochit","com"],"query":[],"variable":[]}},"response":[{"id":"5a5d759b-1d22-4857-b42e-71e22a39f53b","name":"Successful Response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{user_token}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/users/videos/{{video_id}}/clone","description":"Clone a produced video.  \nThe API responses include the following attributes:\n\n---\n\n**wochitVideoId** (String)  \nWochit unique identifier for this video. You can use it to [re-edit the video](#0ee021a7-b222-4bc3-8fa2-e22bd6f285d6).\n\n---\n\n**title** (String)  \nThe title of the video. The title is given by the end-user.\n\n---\n\n**thumbnail** (String)  \nDirect link to the thumbnail of the video. Links have an expiration time of 24 hours so make sure you download the video to your system and use your own storage / CDN.\n\n---\n\n****If you encounter any errors****, please provide the \\`requestId\\` in the response for further assistance."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"wochitVideoId\": \"63ce6eaa7304484941234524\",\n  \"title\": \"My Video\",\n  \"thumbnail\": \"https://example.com/direct-link-to-thumbnail\"\n}"},{"id":"8006e279-6791-4f26-a37e-a5098aff246e","name":"Unauthorized","originalRequest":{"header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"code\": 401,\n  \"type\": \"Unauthorized\",\n  \"requestId\": \"dea7bfbd46d3a73a3f51f002550b5959\",\n  \"errors\": [\n    {\n      \"parameter\": null,\n      \"message\": \"Unauthorized\",\n      \"details\": null\n    }\n  ]\n}"},{"id":"c1a5e103-0b57-480c-b8b0-a5685d0d2056","name":"Bad Request","originalRequest":{"header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"code\": 400,\n  \"type\": \"Bad Request\",\n  \"requestId\": \"a43e6ee3def25828cad8a2e9270b08c0\",\n  \"errors\": []\n}"},{"id":"1a0a8f06-0e20-48f4-938d-08c1cf5be5a1","name":"500 - Internal Server Error","originalRequest":{"method":"GET","header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 500,\n    \"type\": \"Internal Server Error\",\n    \"requestId\": \"90a5f277e13f78e26dbfd0d02c37f2d7\",\n    \"errors\": []\n}"}],"_postman_id":"86dbea12-5dce-4aee-80d2-2f69ad287332"},{"name":"Delete Video","id":"06be93f5-3ff1-4d41-b626-4b878c759729","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{user_token}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/users/videos/{{video_id}}","description":"<p>Delete an existing video.</p>\n<hr />\n<p><strong><strong>If you encounter any errors</strong></strong>, please provide the `requestId` in the response for further assistance.</p>\n","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","users","videos","{{video_id}}"],"host":["api","wochit","com"],"query":[],"variable":[]}},"response":[{"id":"335edb9c-64d3-4b76-abfc-f8912252a28a","name":"Successful Response","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{user_token}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/users/videos/{{video_id}}","description":"Delete an existing video.\n\n---\n\n****If you encounter any errors****, please provide the \\`requestId\\` in the response for further assistance."},"status":"No Content","code":204,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"f2d36456-a5ff-44d0-b1c7-4eb5e3195c6d","name":"Unauthorized","originalRequest":{"header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"code\": 401,\n  \"type\": \"Unauthorized\",\n  \"requestId\": \"dea7bfbd46d3a73a3f51f002550b5959\",\n  \"errors\": [\n    {\n      \"parameter\": null,\n      \"message\": \"Unauthorized\",\n      \"details\": null\n    }\n  ]\n}"},{"id":"ace94c14-7a05-48da-8bbf-2823f5931e76","name":"Bad Request","originalRequest":{"header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"code\": 400,\n  \"type\": \"Bad Request\",\n  \"requestId\": \"a43e6ee3def25828cad8a2e9270b08c0\",\n  \"errors\": []\n}"},{"id":"09e93cc7-9bbc-4af9-8115-095f06fb32d3","name":"500 - Internal Server Error","originalRequest":{"method":"GET","header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 500,\n    \"type\": \"Internal Server Error\",\n    \"requestId\": \"90a5f277e13f78e26dbfd0d02c37f2d7\",\n    \"errors\": []\n}"}],"_postman_id":"06be93f5-3ff1-4d41-b626-4b878c759729"}],"id":"cb97f266-ad94-4ed1-82b0-a1b6513dc125","description":"<h1 id=\"drafts--videos\">Drafts &amp; Videos</h1>\n<p>This section covers API endpoints for managing drafts and videos.</p>\n<p>Please note that to access these APIs, you need your <strong>Client ID</strong> and a generated <strong>User Token</strong>.<br />You can find the Client ID in your <a href=\"https://admin.wochit.com/developers/integration-setup\">Developer Tools</a>.<br />The user token is a unique key that should be <a href=\"#ce869aa3-e83c-47a2-8c88-6658812381e6\">generated</a> each time a user accesses the Wochit Video Editor.</p>\n<p>A draft\\produced video can be deleted or cloned only by the user who created it.<br />This is a default setup to help you secure your user's actions.</p>\n<p>If you need to remove this limitation please <a href=\"https://www.wochit.com/contact\">contact us</a>.<br />If you encounter any errors, please provide the `requestId` for further assistance.</p>\n","_postman_id":"cb97f266-ad94-4ed1-82b0-a1b6513dc125","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}}},{"name":"Template Categories","id":"b889c8a5-0c8e-4ad0-85de-356d37e4f226","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"secret-key","value":"{{secret_key}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/accounts/templates/categories","description":"<h1 id=\"template-categories\">Template Categories</h1>\n<p>Each template in the template gallery belongs to one or more categories. You can choose the entire set of templates you'd like to include in your Video Editor in the <a href=\"https://admin.wochit.com/my-video-editor\">admin panel</a> under <em>Templates -&gt; Wochit Template Packages</em>.<br />Have your own set of templates and categories in the <a href=\"https://admin.wochit.com/my-video-editor\">admin panel</a> under <em>Templates -&gt; My Templates -&gt; Create</em>.</p>\n<p>Use the template IDs to filter templates when you <a href=\"#0ee021a7-b222-4bc3-8fa2-e22bd6f285d6\">open the video creator</a>.<br />To extract the IDs of your template categories using the API, use this request.</p>\n<p>Please refer to the <a href=\"https://admin.wochit.com/developers/integration-setup\">Developer Tools</a> to obtain your <em>Client ID</em> and <em>Secret Key</em>.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response will be structured in a JSON format and will include the registered and owned categories:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"registered\": [\n    {\n      \"id\": \"62543d82f22d3777bc28986c\",\n      \"name\": \"Education\"\n    }\n  ],\n  \"owned\": [\n    {\n      \"id\": \"647f33677387131d481f2d30\",\n      \"name\": \"My Category\"\n    }\n  ]\n}\n\n</code></pre>\n<h4 id=\"response-properties\">Response Properties:</h4>\n<p><strong>registered</strong> <code>object[]</code><br />List of categories selected in the Wochit Admin.</p>\n<p><strong>owned</strong> <code>object[]</code><br />Your custom categories created using the Wochit Studio application.</p>\n<ul>\n<li><p><strong>id</strong> <code>string</code><br />  A Unique identifier of each category. Use the <a href=\"https:///embed.html#customize-the-wochit-video-editor-by-using-the-following-properties\">categoryIds</a> property to filter the template gallery.</p>\n</li>\n<li><p><strong>name</strong> <code>string</code><br />  The Name of the category. Use the <a href=\"https:///embed.html#customize-the-wochit-video-editor-by-using-the-following-properties\">categoryNames</a> property to filter the template gallery.</p>\n</li>\n</ul>\n<hr />\n<p><strong>If you encounter any errors</strong>, please provide the `requestId` in the response for further assistance.</p>\n","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","accounts","templates","categories"],"host":["api","wochit","com"],"query":[],"variable":[]}},"response":[{"id":"b8a20524-201f-4af6-8ce7-c5e865fa2ce4","name":"Successful Response","originalRequest":{"method":"POST","header":[{"key":"secret-key","value":"{{secret_key}}"},{"key":"client-id","value":"{{client_id}}"},{"key":"Content-Type","value":"application/json"}],"url":"https://api.wochit.com/v1/accounts/templates/categories","description":"# Template Categories\n\nEach template in the template gallery belongs to one or more categories. You can choose the entire set of templates you'd like to include in your Video Editor in the [admin panel](https://admin.wochit.com/my-video-editor) under _Templates -> Wochit Template Packages_.  \nHave your own set of templates and categories in the [admin panel](https://admin.wochit.com/my-video-editor) under _Templates -> My Templates -> Create_.\n\nUse the template IDs to filter templates when you [open the video creator](#0ee021a7-b222-4bc3-8fa2-e22bd6f285d6).  \nTo extract the IDs of your template categories using the API, use this request.\n\nPlease refer to the [Developer Tools](https://admin.wochit.com/developers/integration-setup) to obtain your _Client ID_ and _Secret Key_.\n\n### Response\n\nThe response will be structured in a JSON format and will include the registered and owned categories:\n\n``` json\n{\n  \"registered\": [\n    {\n      \"id\": \"62543d82f22d3777bc28986c\",\n      \"name\": \"Education\"\n    }\n  ],\n  \"owned\": [\n    {\n      \"id\": \"647f33677387131d481f2d30\",\n      \"name\": \"My Category\"\n    }\n  ]\n}\n\n ```\n\n#### Response Properties:\n\n**registered** `object[]`  \nList of categories selected in the Wochit Admin.\n\n**owned** `object[]`  \nYour custom categories created using the Wochit Studio application.\n\n- **id** `string`  \n    A Unique identifier of each category. Use the [categoryIds](https:///embed.html#customize-the-wochit-video-editor-by-using-the-following-properties) property to filter the template gallery.\n    \n- **name** `string`  \n    The Name of the category. Use the [categoryNames](https:///embed.html#customize-the-wochit-video-editor-by-using-the-following-properties) property to filter the template gallery.\n    \n\n---\n\n**If you encounter any errors**, please provide the \\`requestId\\` in the response for further assistance."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"registered\": [\n    {\n      \"id\": \"62543d82f22d3777bc28986c\",\n      \"name\": \"Education\"\n    }\n  ],\n  \"owned\": [\n    {\n      \"id\": \"647f33677387131d481f2d30\",\n      \"name\": \"My Category\"\n    }\n  ]\n}"},{"id":"ef5d3d18-1ffc-4539-b253-8cdfcde349a3","name":"Bad Request","originalRequest":{"header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"code\": 400,\n  \"type\": \"Bad Request\",\n  \"requestId\": \"a43e6ee3def25828cad8a2e9270b08c0\",\n  \"errors\": []\n}"},{"id":"4413504c-1221-4fc4-91f6-831994742dce","name":"Unauthorized Copy","originalRequest":{"header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"code\": 401,\n  \"type\": \"Unauthorized\",\n  \"requestId\": \"dea7bfbd46d3a73a3f51f002550b5959\",\n  \"errors\": [\n    {\n      \"parameter\": null,\n      \"message\": \"Unauthorized\",\n      \"details\": null\n    }\n  ]\n}"},{"id":"649f5f5f-3d04-48a3-88ed-48f21705d924","name":"500 - Internal Server Error Copy","originalRequest":{"method":"GET","header":[]},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 500,\n    \"type\": \"Internal Server Error\",\n    \"requestId\": \"90a5f277e13f78e26dbfd0d02c37f2d7\",\n    \"errors\": []\n}"}],"_postman_id":"b889c8a5-0c8e-4ad0-85de-356d37e4f226"}],"id":"531aada4-3a4d-4432-b53d-a090692a352d","description":"<h1 id=\"api-reference\">API Reference</h1>\n<p>Enhance your integration by utilizing API calls to efficiently manage drafts and videos, while also enabling the extraction of template category IDs.</p>\n","_postman_id":"531aada4-3a4d-4432-b53d-a090692a352d","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}}},{"name":"asset server","item":[{"name":" fetch","id":"a474faec-cfcf-4ae1-a821-37c6eda2a51f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"localhost:8080/webapi/fetch/asset?uuid=cb505c4e_c5c2_4fcf_a9c3_1dfc8c7bf986_asset_server","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}},"urlObject":{"port":"8080","path":["webapi","fetch","asset"],"host":["localhost"],"query":[{"key":"uuid","value":"cb505c4e_c5c2_4fcf_a9c3_1dfc8c7bf986_asset_server"}],"variable":[]}},"response":[],"_postman_id":"a474faec-cfcf-4ae1-a821-37c6eda2a51f"}],"id":"2a6b2058-5a66-408a-8d29-e4fe4f1d2b4f","_postman_id":"2a6b2058-5a66-408a-8d29-e4fe4f1d2b4f","description":"","auth":{"type":"bearer","bearer":{"token":"{{user_token}}"},"isInherited":true,"source":{"_postman_id":"c098e231-2f37-4629-b2d6-a3e9de968a42","id":"c098e231-2f37-4629-b2d6-a3e9de968a42","name":"Wochit API","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"token":"{{user_token}}"}},"event":[{"listen":"prerequest","script":{"id":"2f3c39fb-2ada-4e05-b028-a631a90b5bc4","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"13c246f8-d292-43d1-9a77-a4e6e9a86d19","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"{{client_id}}\n","value":"client_id","type":"string"},{"key":"{{secret_key}}","value":"secret_key","type":"string"}]}