{"info":{"_postman_id":"eb8df3f1-2b2c-43f5-8338-148fbddf91d0","name":"CrowdReply API - Clients","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"5613076","collectionId":"eb8df3f1-2b2c-43f5-8338-148fbddf91d0","publishedId":"2sB2qi9xwq","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-06-04T12:44:32.000Z"},"item":[{"name":"Get Brands","id":"e709e25f-3f62-4bbe-9144-ff909f704fad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-api-key","value":"123","type":"text"}],"url":"https://crowdreply.io/api/geo/brands","description":"<p>Retrieve all brands associated with your account. Use this endpoint to get your brand IDs, which are required when creating tasks.</p>\n<p>Since <code>brand</code> is now a required field for all task creation requests, you can use this endpoint to fetch your available brands and their IDs before creating tasks via the API.</p>\n<p>Query Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includeArchived</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Set to <code>\"true\"</code> to include archived brands in the response. Defaults to <code>false</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Notes:</p>\n<ul>\n<li><p>The <code>_id</code> field in each brand object is the brand ID you should pass as <code>brand</code> in <code>taskData</code> when creating tasks.</p>\n</li>\n<li><p>Only brands with <code>status: \"active\"</code> can be used for task creation.</p>\n</li>\n</ul>\n","urlObject":{"path":["geo","brands"],"host":["https://crowdreply.io/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"e709e25f-3f62-4bbe-9144-ff909f704fad"},{"name":"Get Projects (Tags in UI)","id":"47cba524-5f77-4fad-a0e9-e30837f4157a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-api-key","value":"123","type":"text"}],"url":"https://crowdreply.io/api/projects","urlObject":{"path":["projects"],"host":["https://crowdreply.io/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"47cba524-5f77-4fad-a0e9-e30837f4157a"},{"name":"Create Thread Posting Task","id":"76d77d58-fa43-4c69-8dbc-7853077c6692","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"x-api-key","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"taskData\": {\n    \"platform\": \"reddit\", // required, should be \"reddit\" only\n    \"taskType\": \"post\", // required, should be \"post\" only\n    \"type\": \"RedditPostTask\", // required, should be \"RedditPostTask\" only\n    \"subredditUrl\": \"https://www.reddit.com/r/CRM/\", // required, should be a valid Reddit subreddit URL\n    \"postTitle\": \"Post title\", // required, title of the Reddit thread\n    \"content\": \"Content - Plain text or markdown format only\", // required for a standard text thread post\n    \"brand\": \"brandId\", // required, brand ID\n    \"project\": \"projectId\", // optional, project ID (referred to as \"Tag\" in the UI)\n    \"flair\": \"flair text\" // optional\n  },\n\n  // initialUpvotesOrder is optional\n  // use this if you want upvotes to be sent after the thread is published\n  // example below means: send 1 upvotes every 5 minutes until the full quantity is delivered\n  // if scheduleAt is later than triggerAt, the system will use scheduleAt as the actual upvote trigger time\n  \"initialUpvotesOrder\": {\n    \"delivery\": {\n      \"upvotesPerInterval\": 1, // required, 1 upvote to send per interval - Only \"1\" is allowed\n      \"intervalUnit\": \"5_minutes\" // required, can be one of: \"minute\", \"5_minutes\", \"10_minutes\"\n    },\n    \"quantity\": 10, // required if initialUpvotesOrder is provided, total number of upvotes to send\n    \"triggerAt\": \"2025-06-11T00:00:00.000Z\" // optional, should be a valid future date string; if omitted, upvotes will be triggered as soon as possible after the thread is published\n  },\n\n  \"scheduleAt\": \"2025-06-10T00:00:00.000Z\" // optional, should be a valid future date string (YYYY-MM-DDT00:00:00)\n}","options":{"raw":{"language":"json"}}},"url":"https://crowdreply.io/api/tasks","description":"<p>Creates a Reddit thread posting task for a specific subreddit.</p>\n<p>In <code>taskData</code>, <code>platform</code> must be <code>\"reddit\"</code>, <code>taskType</code> must be <code>\"post\"</code>, and <code>type</code> must be <code>\"RedditPostTask\"</code>.</p>\n<p>Required fields in <code>taskData</code>:</p>\n<ul>\n<li><p><code>subredditUrl</code>: must be a valid Reddit subreddit URL</p>\n</li>\n<li><p><code>postTitle</code>: the title of the Reddit thread</p>\n</li>\n<li><p><code>brand</code>: the brand ID this task belongs to</p>\n</li>\n</ul>\n<p>Optional fields in <code>taskData</code>:</p>\n<ul>\n<li><p><code>project</code>: project ID (displayed as \"Tag\" in the UI)</p>\n</li>\n<li><p><code>flair</code>: flair text</p>\n</li>\n<li><p><code>content</code>: thread content in plain text or markdown format</p>\n</li>\n</ul>\n<p>You can optionally include <code>initialUpvotesOrder</code> if you want upvotes to be sent after the thread is published. When provided, include:</p>\n<ul>\n<li><p><code>quantity</code>: total number of upvotes to send</p>\n</li>\n<li><p><code>triggerAt</code>: a valid future date string</p>\n</li>\n<li><p><code>delivery.upvotesPerInterval</code>: 1 upvote to send per interval - Only <code>\"1\"</code> is allowed</p>\n</li>\n<li><p><code>delivery.intervalUnit</code>: must be one of <code>\"day\"</code>, <code>\"minute\"</code>, <code>\"5_minutes\"</code>, or <code>\"10_minutes\"</code></p>\n</li>\n</ul>\n<p>You can also pass <code>scheduleAt</code> to publish the thread at a later time. <code>scheduleAt</code> must be a valid future date string.</p>\n","urlObject":{"path":["tasks"],"host":["https://crowdreply.io/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"76d77d58-fa43-4c69-8dbc-7853077c6692"},{"name":"Create Comment Task","id":"28518530-a6e3-4667-9a3e-80bd3c5afbce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"x-api-key","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"taskData\": {\n    \"platform\": \"reddit\", // required, should be \"reddit\" only\n    \"taskType\": \"comment\", // required, should be \"comment\" only\n    \"type\": \"RedditCommentTask\", // required, should be \"RedditCommentTask\" only\n    \"threadUrl\": \"https://www.reddit.com/r/smarthome/comments/16nymul/whats_the_best_doorbell_camera/\", // required, should be a valid Reddit thread/post URL\n    \"content\": \"Content - Plain text or markdown format only\", // required, comment content in plain text or markdown format\n    \"brand\": \"brandId\", // required, brand ID\n    \"project\": \"projectId\" // optional, project ID (referred to as \"Tag\" in the UI)\n  },\n\n  // initialUpvotesOrder is optional\n  // use this if you want upvotes to be sent after the comment is published\n  // example below means: send 1 upvote every 5 minutes until the full quantity is delivered\n  \"initialUpvotesOrder\": {\n    \"quantity\": 9, // required if initialUpvotesOrder is provided, total number of upvotes to send\n    \"triggerAt\": \"2026-03-27T07:00:00.000Z\", // optional, valid future date string; if omitted, upvotes are triggered as soon as possible after the comment is published\n    \"delivery\": {\n      \"upvotesPerInterval\": 1, // required, 1 upvote to send per interval - Only \"1\" is allowed\n      \"intervalUnit\": \"5_minutes\" // required, can be one of: \"minute\", \"5_minutes\", \"10_minutes\"\n    }\n  },\n  // shouldAssignOP is optional\n  // set this to true if you want the system to try assigning the task to the original poster of the Reddit thread\n  \"shouldAssignOP\": false,\n  \"scheduleAt\": \"2026-03-26T07:00:00.000Z\" // optional, valid future date string; use it to schedule the comment for later instead of posting as soon as possible\n}","options":{"raw":{"language":"json"}}},"url":"https://crowdreply.io/api/tasks","description":"<p>Creates a Reddit comment task for a specific thread.</p>\n<p>In <code>taskData</code>, <code>platform</code> must be <code>\"reddit\"</code>, <code>taskType</code> must be <code>\"comment\"</code>, and <code>type</code> must be <code>\"RedditCommentTask\"</code>.</p>\n<p>Required fields in <code>taskData</code>:</p>\n<ul>\n<li><p><code>threadUrl</code>: must be a valid Reddit thread/post URL</p>\n</li>\n<li><p><code>content</code>: the comment content in plain text or markdown format</p>\n</li>\n<li><p><code>brand</code>: the brand ID this task belongs to</p>\n</li>\n</ul>\n<p>Optional fields in <code>taskData</code>:</p>\n<ul>\n<li><code>project</code>: project ID (displayed as \"Tag\" in the UI)</li>\n</ul>\n<p>You can optionally include <code>initialUpvotesOrder</code> if you want upvotes to be sent after the comment is published. When provided, include:</p>\n<ul>\n<li><p><code>quantity</code>: total number of upvotes to send</p>\n</li>\n<li><p><code>triggerAt</code>: a valid future date string</p>\n</li>\n<li><p><code>delivery.upvotesPerInterval</code>: 1 upvote to send per interval - Only <code>\"1\"</code> is allowed</p>\n</li>\n<li><p><code>delivery.intervalUnit</code>: must be one of <code>\"minute\"</code>, <code>\"5_minutes\"</code>, or <code>\"10_minutes\"</code></p>\n</li>\n</ul>\n<p>You can also pass <code>scheduleAt</code> to publish the comment at a later time. <code>scheduleAt</code> must be a valid future date string.</p>\n<p>You may also pass <code>shouldAssignOP: true</code> to try assigning the task to the original poster of the Reddit thread.</p>\n","urlObject":{"path":["tasks"],"host":["https://crowdreply.io/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"28518530-a6e3-4667-9a3e-80bd3c5afbce"},{"name":"Create Reply Task","id":"01b0870a-0053-42b7-924e-52227e457614","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"x-api-key","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"taskData\": {\n        \"taskType\": \"reply\", // required, should be \"reply\" only\n        \"type\": \"RedditReplyTask\", // required, should be \"RedditReplyTask\" only\n        \"platform\": \"reddit\", // required, should be \"reddit\" only\n        \"project\": \"projectId\", // required\n        \"content\": \"Content - Plain text or markdown format only\", // required\n        \"threadUrl\": \"https://www.reddit.com/r/smarthome/comments/16nymul/comment/lo4oghi/\" // required and threadUrl should be a correct reddit comment URL\n    },\n\n    // scheduleAt is optional and it should be a valid date string (YYYY-MM-DDT00:00:00)\n    \"scheduleAt\": \"2025-06-10T00:00:00\",\n\n    // The `shouldAssignOP` flag is optional and is only applicable for tasks of type `RedditCommentTask` or `RedditReplyTask`.\n    // If `shouldAssignOP` is true, the task should be assigned to the original poster (OP) of the post/thread.\n    // This flag helps automate task assignment based on the context of the post or comment thread.\n    // Only one of shouldAssignOP or shouldAssignOriginalCommenter can be set as true\n    \"shouldAssignOP\": true,\n\n    // The `shouldAssignOriginalCommenter` flag is optional and is only applicable for tasks of type `RedditReplyTask`.\n    // If `shouldAssignOriginalCommenter` is true, the task should be assigned to the original commenter of the parent comment.\n    // This flag helps automate task assignment based on the context of the post or comment thread.\n    \"shouldAssignOriginalCommenter\": true\n}\n\n\n{\n  \"taskData\": {\n    \"platform\": \"reddit\", // required, must be \"reddit\"\n    \"taskType\": \"reply\", // required, must be \"reply\"\n    \"type\": \"RedditReplyTask\", // required, must be \"RedditReplyTask\"\n    \"threadUrl\": \"https://www.reddit.com/r/smarthome/comments/16nymul/comment/lo4oghi/\", // required, must be a valid Reddit comment URL (not a thread/post URL)\n    \"content\": \"Content - Plain text or markdown format only\", // required, reply content in plain text or markdown\n    \"brand\": \"brandId\", // required, brand ID\n    \"project\": \"projectId\" // optional, project ID (displayed as \"Tag\" in the UI)\n  },\n\n  // initialUpvotesOrder is optional\n  // use this if you want upvotes to be sent after the reply is published\n  // example below means: send 1 upvote every 5 minutes until the full quantity is delivered\n  // if scheduleAt is later than triggerAt, the system will use scheduleAt as the actual upvote trigger time\n  \"initialUpvotesOrder\": {\n    \"quantity\": 9, // required if initialUpvotesOrder is provided, total number of upvotes to send\n    \"triggerAt\": \"2026-03-27T07:00:00.000Z\", // optional, valid future date string; if omitted, upvotes are triggered as soon as possible after the reply is published\n    \"delivery\": {\n      \"upvotesPerInterval\": 1, // required, 1 upvote to send per interval - Only \"1\" is allowed\n      \"intervalUnit\": \"5_minutes\" // required, can be one of: \"minute\", \"5_minutes\", \"10_minutes\"\n    }\n  },\n\n  // shouldAssignOP is optional\n  // set true if you want the system to try assigning the task to the original poster of the Reddit thread\n  // only one of shouldAssignOP or shouldAssignOriginalCommenter can be true at a time\n  \"shouldAssignOP\": false,\n\n  // shouldAssignOriginalCommenter is optional and only applicable for RedditReplyTask\n  // set true if you want the system to try assigning the task to the author of the parent comment being replied to\n  // only one of shouldAssignOP or shouldAssignOriginalCommenter can be true at a time\n  \"shouldAssignOriginalCommenter\": false,\n\n  \"scheduleAt\": \"2026-03-26T07:00:00.000Z\" // optional, valid future date string for scheduled publishing\n}","options":{"raw":{"language":"json"}}},"url":"https://crowdreply.io/api/tasks","description":"<p>Creates a Reddit reply task on a specific comment within a Reddit thread.</p>\n<p>In <code>taskData</code>, <code>platform</code> must be <code>\"reddit\"</code>, <code>taskType</code> must be <code>\"reply\"</code>, and <code>type</code> must be <code>\"RedditReplyTask\"</code>.</p>\n<p>Required fields in <code>taskData</code>:</p>\n<ul>\n<li><p><code>threadUrl</code>: must be a valid Reddit comment URL (not a thread URL)</p>\n</li>\n<li><p><code>content</code>: the reply content in plain text or markdown format</p>\n</li>\n<li><p><code>brand</code>: the brand ID this task belongs to</p>\n</li>\n</ul>\n<p>Optional fields in <code>taskData</code>:</p>\n<ul>\n<li><code>project</code>: project ID (displayed as \"Tag\" in the UI)</li>\n</ul>\n<p>You can optionally include <code>initialUpvotesOrder</code> if you want upvotes to be sent after the reply is published. When provided, include:</p>\n<ul>\n<li><p><code>quantity</code>: total number of upvotes to send</p>\n</li>\n<li><p><code>triggerAt</code>: a valid future date string</p>\n</li>\n<li><p><code>delivery.upvotesPerInterval</code>: 1 upvote to send per interval - Only <code>\"1\"</code> is allowed</p>\n</li>\n<li><p><code>delivery.intervalUnit</code>: must be one of <code>\"minute\"</code>, <code>\"5_minutes\"</code>, or <code>\"10_minutes\"</code></p>\n</li>\n</ul>\n<p>You can also pass <code>scheduleAt</code> to publish the reply at a later time. <code>scheduleAt</code> must be a valid future date string.</p>\n<p>You may pass <code>shouldAssignOP</code> or <code>shouldAssignOriginalCommenter</code>, but only one of them can be <code>true</code> at a time. <code>shouldAssignOP</code> attempts to assign the task to the original poster of the thread. <code>shouldAssignOriginalCommenter</code> attempts to assign the task to the author of the parent comment being replied to.</p>\n","urlObject":{"path":["tasks"],"host":["https://crowdreply.io/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"01b0870a-0053-42b7-924e-52227e457614"},{"name":"Edit Reddit Task Request","id":"89a69b81-27a7-4ae6-8b25-8c1f01801b1e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"x-api-key","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{\n  // Required: The new content for the task edit request\n  // Must be in markdown format or plain text (HTML is not allowed)\n  // Cannot contain tracking links (e.g., utm parameters)\n  \"content\": \"This is the updated content for the task.\\n\\nYou can use **markdown** formatting here.\\n\\n- Bullet points\\n- More items\"\n}","options":{"raw":{"language":"json"}}},"url":"https://crowdreply.io/api/tasks/:taskId/create-edit-request","description":"<p>Creates an edit request for an existing Reddit task. This endpoint allows clients to request changes to the content of a task that has already been created. The edit request will be processed and reviewed before being applied to the task.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>taskId</code> (string, required): The unique identifier of the task to be edited</li>\n</ul>\n<p><strong>Request Body:</strong></p>\n<ul>\n<li><code>content</code> (string, required): The new content for the task. Must be in markdown format or plain text. HTML tags are not allowed. Tracking links (e.g., UTM parameters) are also not permitted.</li>\n</ul>\n<p><strong>Validations:</strong></p>\n<ul>\n<li><p>Content field is required</p>\n</li>\n<li><p>Content must be markdown or plain text (no HTML)</p>\n</li>\n<li><p>Content cannot contain tracking links</p>\n</li>\n</ul>\n<p><strong>Response:</strong><br />Returns the created edit request object with details about the request status and processing information.</p>\n","urlObject":{"path":["tasks",":taskId","create-edit-request"],"host":["https://crowdreply.io/api"],"query":[],"variable":[{"type":"any","value":"","key":"taskId"}]}},"response":[],"_postman_id":"89a69b81-27a7-4ae6-8b25-8c1f01801b1e"},{"name":"Refund Task Request","id":"2cf61cc5-564f-435e-94d8-aca51eb3cc78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"x-api-key","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://crowdreply.io/api/tasks/:taskId/refund","description":"<p>Requests a refund for a published Reddit task (post, comment, or reply). The refund will be processed if the task meets all eligibility criteria.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>id</code> (string, required): The unique identifier of the task to be refunded</li>\n</ul>\n<p><strong>Eligibility Requirements:</strong></p>\n<ul>\n<li><p>Task must be published</p>\n</li>\n<li><p>Task must not already be refunded</p>\n</li>\n<li><p>Task must not have any published edit requests</p>\n</li>\n<li><p>Task must not have any pending (assigned) edit requests</p>\n</li>\n<li><p>The Reddit post/comment must be deleted or removed from Reddit</p>\n</li>\n<li><p>Task content must not be in restricted niches (e.g., IPTV, affiliate marketing)</p>\n</li>\n</ul>\n<p><strong>Refund Amount:</strong></p>\n<ul>\n<li>75% of the original task price will be refunded to the client's balance</li>\n</ul>\n<p><strong>Response:</strong></p>\n<ul>\n<li><p>Success: Returns <code>{ msg: \"Task refunded successfully\" }</code></p>\n</li>\n<li><p>Error: Returns <code>{ error: \"Error message\" }</code> with status code 403 or appropriate error status</p>\n</li>\n</ul>\n<p><strong>Note:</strong> The refund is processed as a transaction and will be added to the client's balance upon successful completion.</p>\n","urlObject":{"path":["tasks",":taskId","refund"],"host":["https://crowdreply.io/api"],"query":[],"variable":[{"type":"any","value":"","key":"taskId"}]}},"response":[],"_postman_id":"2cf61cc5-564f-435e-94d8-aca51eb3cc78"},{"name":"Comment/Thread/Reply Reddit Task Send upvotes order","id":"3decbd22-3fa7-42a8-a08f-9a54ec3a4da3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"x-api-key","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{\n  // example below means: send 1 upvote every 5 minutes until the full quantity is delivered\n  \"delivery\": {\n    \"upvotesPerInterval\": 1, // required, 1 upvote to send per interval - Only \"1\" is allowed\n    \"intervalUnit\": \"5_minutes\" // required, can be one of: \"minute\", \"5_minutes\", \"10_minutes\"\n  },\n  \"quantity\": 10, // required, total number of upvotes to send\n  \"triggerAt\": \"2025-06-11T00:00:00.000Z\" // optional, valid future date string (must be within 30 days); if omitted, upvotes are triggered immediately\n}","options":{"raw":{"language":"json"}}},"url":"https://crowdreply.io/api/tasks/:taskId/upvotes","description":"<p>Sends an upvotes order for a published Reddit comment task, reply task, or thread task. The task must be in <code>\"published\"</code> status.</p>\n<p>Pass the <code>taskId</code> as a URL parameter and the upvote order object in the request body.</p>\n<ul>\n<li><p><code>upvotesPerInterval</code>: number of upvotes to send in each interval</p>\n</li>\n<li><p><code>intervalUnit</code>: must be one of <code>\"minute\"</code>, <code>\"5_minutes\"</code>, or <code>\"10_minutes\"</code></p>\n</li>\n</ul>\n","urlObject":{"path":["tasks",":taskId","upvotes"],"host":["https://crowdreply.io/api"],"query":[],"variable":[{"type":"any","value":"","key":"taskId"}]}},"response":[],"_postman_id":"3decbd22-3fa7-42a8-a08f-9a54ec3a4da3"},{"name":"Upvotes/Downvotes Request","id":"62876010-e56f-4e01-a571-74a887dfc4ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"x-api-key","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"type\": \"comment-upvotes\", // type can be one of: post-upvotes, post-downvotes, comment-upvotes, comment-downvote \n    \"url\": \"https://www.reddit.com/r/smarthome/comments/1nzt6xn/comment/ni5259w/\", // reddit thread URL or comment/reply URL\n    \"delivery\": {\n        \"upvotesPerInterval\": 3,\n        \"intervalUnit\": \"2_minutes\" // intervalUnit can be one these options only - (\"minute\" | \"day\" | \"6_minutes\" | \"2_minutes\" | \"5_minutes\" | \"10_minutes\")\n    }, // Delivery speed, in this example, 3 upvotes to send every 2 minutes \n    \"quantity\": 10, // total number of upvotes to send\n    \"triggerAt\": \"2025-06-11T00:00:00\" // optional OR Future Date, if left out, it will send upvotes/downvotes immediately\n}","options":{"raw":{"language":"json"}}},"url":"https://crowdreply.io/api/upvotes","description":"<p>This POST request is a standalone upvotes/downvotes request where you can send a thread URL or a comment URL to send upvotes or downvotes.</p>\n","urlObject":{"path":["upvotes"],"host":["https://crowdreply.io/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"62876010-e56f-4e01-a571-74a887dfc4ce"},{"name":"Cancel Task","id":"7694122f-5c06-434c-9c7a-38e8545b9e39","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"x-api-key","value":"123","type":"text"}],"url":"https://crowdreply.io/api/tasks/:taskId/cancel-task","description":"<p>Cancel (Post | Comment | Reply) Task</p>\n","urlObject":{"path":["tasks",":taskId","cancel-task"],"host":["https://crowdreply.io/api"],"query":[],"variable":[{"type":"any","value":"","key":"taskId"}]}},"response":[],"_postman_id":"7694122f-5c06-434c-9c7a-38e8545b9e39"},{"name":"Cancel Task Group","id":"1e37fa7c-a00b-42bc-ad95-b635ba46002c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"x-api-key","value":"123","type":"text"}],"url":"https://crowdreply.io/api/taskgroup/:taskGroupId/cancel-task","description":"<p>Cancel (Post | Comment | Reply) Task</p>\n","urlObject":{"path":["taskgroup",":taskGroupId","cancel-task"],"host":["https://crowdreply.io/api"],"query":[],"variable":[{"type":"any","value":"","key":"taskGroupId"}]}},"response":[],"_postman_id":"1e37fa7c-a00b-42bc-ad95-b635ba46002c"},{"name":"Get Task","id":"5d9ea953-5180-4572-adaa-198301a2eb7f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"x-api-key","value":"123","type":"text"}],"url":"https://crowdreply.io/api/tasks/:taskId","urlObject":{"path":["tasks",":taskId"],"host":["https://crowdreply.io/api"],"query":[],"variable":[{"type":"any","value":"","key":"taskId"}]}},"response":[],"_postman_id":"5d9ea953-5180-4572-adaa-198301a2eb7f"},{"name":"Get Tasks","id":"73f09fd6-e50b-4cb5-8ef7-3af0c7d2deed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"x-api-key","value":"123","type":"text"}],"url":"https://crowdreply.io/api/tasks?filters[type]=RedditCommentTask&filters[search]=&filters[status]=all&filters[project]=all&filters[dateFrom]=&filters[dateTo]=&filters[upvotesFrom]=&filters[upvotesTo]=&filters[rankFrom]=&filters[rankTo]=&pageNum=1","description":"<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">class TaskTrackingListFilters {\n  type?: \"all\" | \"RedditPostTask\" | \"RedditCommentTask\" | \"RedditReplyTask\";\n  search?: string;\n  status?: \n'all' | \"assigned\" | \"assignment-pending\" | \"submitted\" | \n\"published\" | \"user-deleted\" | \"automoderation-removed\" | \n\"mod-removed\" | \"main-comment-removed-deleted\" | \n\"thread-archived-locked\" | \"cancelled\" | \"awaiting-approval\" | \"views-screenshot-pending\";\n  project?: string;\n  dateFrom?: string;\n  dateTo?: string;\n  upvotesFrom?: string;\n  upvotesTo?: string;\n  rankFrom?: string;\n  rankTo?: string;\n}\n\n</code></pre>\n","urlObject":{"path":["tasks"],"host":["https://crowdreply.io/api"],"query":[{"key":"filters[type]","value":"RedditCommentTask"},{"key":"filters[search]","value":""},{"key":"filters[status]","value":"all"},{"key":"filters[project]","value":"all"},{"key":"filters[dateFrom]","value":""},{"key":"filters[dateTo]","value":""},{"key":"filters[upvotesFrom]","value":""},{"key":"filters[upvotesTo]","value":""},{"key":"filters[rankFrom]","value":""},{"key":"filters[rankTo]","value":""},{"key":"pageNum","value":"1"}],"variable":[]}},"response":[],"_postman_id":"73f09fd6-e50b-4cb5-8ef7-3af0c7d2deed"},{"name":"Get API and Webhook Details","id":"47da0edd-52c6-442d-a3f1-329ee8736534","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-api-key","value":"123","type":"text"}],"url":"https://crowdreply.io/api/api-webhook-details","urlObject":{"path":["api-webhook-details"],"host":["https://crowdreply.io/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"47da0edd-52c6-442d-a3f1-329ee8736534"},{"name":"Webhooks Feature","id":"bd1f1500-6c6c-4ab4-825c-8ab8b81939e8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"description":"<ol>\n<li><p>Set your Webhook URL</p>\n</li>\n<li><p>Test the Webhook URL</p>\n</li>\n<li><p>Whenever a <strong>RedditCommentTask OR RedditReplyTask</strong> status gets <strong>published</strong> OR <strong>mod-removed</strong> OR <strong>main-comment-removed-deleted</strong> OR <strong>thread-archived-locked</strong> OR <strong>cancelled</strong> OR <strong>user-deleted</strong>, you will receive a webhook notification containing the task body</p>\n</li>\n<li><p>Whenever a <strong>RedditPostTask</strong> status gets <strong>published</strong> OR <strong>mod-removed</strong> OR <strong>views-screenshot-pending</strong> OR <strong>cancelled</strong>, you will receive a webhook notification containing the task body<br /> ----<br /> Sample body received in webhook:</p>\n</li>\n</ol>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"_id\": \"taskId\",\n  \"threadUrl\": \"https://www.reddit.com/r/30PlusSkinCare/comments/1lwzbq2/how_to_get_rid_of_loose_skin/\",\n  \"taskType\": \"comment\",\n  \"client\": \"id\",\n  \"project\": {\n    \"_id\": \"projectId\",\n    \"name\": \"Test\",\n    \"owner\": \"id\",\n    \"createdAt\": \"2025-03-10T13:05:54.213Z\",\n    \"updatedAt\": \"2025-03-10T13:05:54.213Z\",\n    \"__v\": 0\n  },\n  \"platform\": \"reddit\",\n  \"status\": \"published\",\n  \"content\": \"Stay consistent with strength training and hydration. skin takes time to tighten up\",\n  \"clientPrice\": 5,\n  \"taskSubmission\": [\n    {\n      \"createdAt\": \"2025-07-12T18:53:26.261Z\",\n      \"screenshotProofUrl\": \"tasks/6870ef471c2b072afc25f50b/6a73be14-6e27-4e35-95eb-070d5a2f1df0.jpeg\",\n      \"submissionUrl\": \"https://www.reddit.com/r/30PlusSkinCare/comments/1lwzbq2/comment/n2rt4ar\",\n      \"randomCommentsSubmission\": null\n    }\n  ],\n  \"type\": \"RedditCommentTask\",\n  \"createdAt\": \"2025-07-11T11:02:31.865Z\",\n  \"updatedAt\": \"2025-07-12T18:55:01.528Z\",\n  \"__v\": 0,\n  \"assignedAt\": \"2025-07-11T21:30:02.504Z\",\n  \"assignmentDeadline\": \"2025-07-12T03:30:02.504Z\",\n  \"latestCommentDetails\": {\n    \"subreddit\": \"30PlusSkinCare\",\n    \"author\": \"KRYPTON5762\",\n    \"body\": \"Stay consistent with strength training and hydration. skin takes time to tighten up\",\n    \"score\": 1,\n    \"permalink\": \"/r/30PlusSkinCare/comments/1lwzbq2/how_to_get_rid_of_loose_skin/n2rt4ar/\",\n    \"rank\": 32,\n    \"parent_id\": \"t3_1lwzbq2\",\n    \"kind\": \"top-level-comment\",\n    \"author_is_blocked\": false,\n    \"created_utc\": \"1752346371\",\n    \"edited\": null,\n    \"banned_by\": null,\n    \"removal_reason\": null,\n    \"collapsed_reason_code\": null,\n    \"mod_reason_by\": null,\n    \"mod_reason_title\": null,\n    \"topLevelCommentUpvotes\": 14,\n    \"updatedAt\": \"2025-07-12T18:53:26.261Z\"\n  },\n  \"publishedAt\": \"2025-07-12T18:55:01.533Z\"\n}\n\n</code></pre>\n","urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"bd1f1500-6c6c-4ab4-825c-8ab8b81939e8"},{"name":"Get Remaining Balance","id":"08b9a9a9-3ff9-47b3-a425-2cbf706f2782","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"x-api-key","value":"123","type":"text"}],"url":"https://crowdreply.io/api/billing/balance","urlObject":{"path":["billing","balance"],"host":["https://crowdreply.io/api"],"query":[],"variable":[]}},"response":[],"_postman_id":"08b9a9a9-3ff9-47b3-a425-2cbf706f2782"}],"event":[{"listen":"prerequest","script":{"id":"bdcec1c4-af1f-455c-8323-45a9077c34b2","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"2867ecb5-39a4-41ac-b314-e53611f9f993","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"variable":[{"key":"base_url","value":"https://crowdreply.io/api"},{"key":"x_api_key","value":"123"}]}