Stylezone API — API Endpoints
This page documents all 41 available API endpoints grouped by section.
boards
GET /boards/{board_id}/styles/
Name | In | Type | Required | Description | Example |
board_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | BoardStylesModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — BoardStylesModel
Field | Type | Required | Description | Example |
styles | array[object] | Yes | Styles | — |
Example: board styles example
{ "styles": [ { "_id": "63d642921a8e2b2d95633a26", "main_version": "62f3cd0617183b163be0d169", "metadata": {} }, { "_id": "63d642921a8e2b2d95633a31", "main_version": "63109fbde3c4ef95b08f8042", "metadata": {} }, { "_id": "63d642921a8e2b2d95633a4e", "main_version": "6321c4f80c3992ffc8285ac8", "metadata": {} } ] }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Board example
{ "error": "Board '69a7ed886af22fccf30da05c' not found", "data": {} }bulk_operations
GET /bulk_operations/{bulk_id}/
Name | In | Type | Required | Description | Example |
bulk_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | BulkStatusResponseModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — BulkStatusResponseModel
Field | Type | Required | Description | Example |
status | object | Yes | StatusModel | — |
garment_id | string | Yes | Garment Id | — |
401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Bulk example
{ "error": "Bulk '69a7ed8b0d331881ed0da05e' not found", "data": {} }garments
POST /garments/
Request Body (Optional) — CreateGarmentModel [application/json]
Field | Type | Required | Description | Example |
name | string | Yes | Name | — |
desc | string | No | Desc | — |
status | string | No | Status | — |
metadata | any | Yes | Metadata | — |
owner_id | string | Yes | Owner Id | — |
board_id | string | Yes | Board Id | — |
style_id | string | No | Style Id | — |
Status | Description | Schema |
200 | — | PollModel |
401 | — | ErrorModel |
403 | — | ErrorModel |
404 | — | ErrorModel |
200 — PollModel
Field | Type | Required | Description | Example |
id | string | Yes | Id | — |
poll_url | string | Yes | Poll Url | — |
Example: success
{ "id": "69a7ed8b0d331881ed0da061", "poll_url": "https://browzwear.stylezone.com/69a7ed8b0d331881ed0da062/" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }403 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: forbidden example
{ "error": "Permission denied" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da063' not found", "data": {} }Example: Not found Board example
{ "error": "Board '69a7ed8b0d331881ed0da064' not found", "data": {} }GET /garments/{garment_id}/
Name | In | Type | Required | Description | Example |
garment_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | GarmentModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — GarmentModel
Field | Type | Required | Description | Example |
id | string | Yes | Id | — |
name | string | Yes | Name | — |
description | string | Yes | Description | — |
owner_id | string | Yes | Owner Id | — |
parent_id | string | Yes | Parent Id | — |
group_id | string | Yes | Group Id | — |
style_id | string | Yes | Style Id | — |
style_name | string | Yes | Style Name | — |
version_num | integer | Yes | Version Num | — |
creation_time | string | Yes | Creation Time | — |
modification_time | string | Yes | Modification Time | — |
colorways | any | Yes | Colorways | — |
metadata | array[object] | Yes | Metadata | — |
metadata_categories | array[object] | Yes | Metadata Categories | — |
images | any | Yes | Images | — |
garment_audit_log | array[any] | Yes | Garment Audit Log | — |
style_audit_log | array[any] | Yes | Style Audit Log | — |
style_data | object | Yes | StyleDataModel | — |
Example: Garment example
{ "id": "63109fbde3c4ef95b08f8042", "name": "Light Hoodie", "description": "", "owner_id": "61fa9795937750fd43de2492", "parent_id": "61fbbff33449b9445c3e7043", "group_id": "61fbbff33449b9445c3e7042", "style_id": "63d642921a8e2b2d95633a31", "style_name": "Light Hoodie", "version_num": 1, "creation_time": "2022-09-01T12:04:13.593000+00:00", "modification_time": "2024-06-18T13:26:32.455000+00:00", "colorways": { "36": "RAPTURE ", "21": "HIGH RISE", "27": "MEDIUM GRAY HEATHER", "28": "GRAY RIDGE", "29": "VANILLA HEATHER", "31": "ISLAND GREEN", "32": "DARK SAPPHIRE", "33": "DEEP LAKE", "34": "BRILLIANT WHITE", "35": "RAPTURE ROSE" }, "style_data": { "_id": "63d642921a8e2b2d95633a31", "parent_id": "61fbbff33449b9445c3e7043", "owner_id": "61fa9795937750fd43de2492", "group_id": "61fbbff33449b9445c3e7042", "tokens": [], "flags": { "collection_item": true, "hidden": false }, "name": "Light Hoodie", "main_version": "63109fbde3c4ef95b08f8042", "desc": "", "status": "", "versions_count": 1, "likes": [], "likes_cnt": 0, "res_id": "63d642921a8e2b2d95633a31", "_ut": "2024-06-23T06:50:37.123000+00:00", "metadata": { "fields": [], "categories": [] }, "ctime": "2022-09-01T12:04:13.593000+00:00", "mtime": "2024-06-23T06:50:37.123000+00:00", "rtime": "2023-07-26T05:17:16.429000+00:00", "audit_log": [ { "_ut": "2024-01-16T09:23:18.563000+00:00", "type": "new_version", "data": { "garment_id": "65a64b06c754cca99bc64dc8", "version_num": 2 } } ], "id": "63d642921a8e2b2d95633a31", "shared_styles": [ { "_id": "63d642921a8e2b2d95633a45", "parent_id": "632067a4f464fd12d2ae22e4", "metadata": {} }, { "_id": "63d642921a8e2b2d95633a46", "parent_id": "632067a4f464fd12d2ae22e4", "metadata": {} }, { "_id": "63d642921a8e2b2d95633a57", "parent_id": "63232e8c06d58dd2d8d188f4", "metadata": {} } ], "tags": null, "tags_count": null }, "metadata": [ { "label": "Field 1", "category_id": "category", "data_type": "single_select", "user_types": [ "guest", "member", "admin" ], "rules": { "choices": [ { "choice_id": "value-1", "choice": "Value 1" } ] }, "key": "field-1", "value": null }, { "label": "Field 3", "category_id": "category", "data_type": "date", "user_types": [ "admin", "member" ], "rules": {}, "key": "field-3", "value": null } ], "metadata_categories": [ { "category_id": "category", "label": "Category 1" }, { "category_id": "category-1", "label": "Category 2" }, { "category_id": "category-2", "label": "" } ], "images": { "default": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)", "square": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)" }, "garment_audit_log": [ { "timestamp": "2022-09-13T11:11:08.476000+00:00", "type": "upload", "data": { "resource_ids": [ "6320654ca9276d6c606e3d05" ], "user_id": "61fa9795937750fd43de2492" } } ], "style_audit_log": [ { "timestamp": "2024-01-16T09:23:18.563000+00:00", "type": "new_version", "data": { "garment_id": "65a64b06c754cca99bc64dc8", "version_num": 2 } } ] }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da05f' not found", "data": {} }POST /garments/{garment_id}/
Name | In | Type | Required | Description | Example |
garment_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Request Body (Optional) — Body [application/json]
Status | Description | Schema |
200 | — | null |
401 | — | ErrorModel |
404 | — | ErrorModel |
401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da060' not found", "data": {} }POST /garments/{garment_id}/colorways
Name | In | Type | Required | Description | Example |
garment_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Request Body (Optional) — Body [application/json]
Status | Description | Schema |
200 | — | inline |
400 | — | ErrorModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — Response 200
Field | Type | Required | Description | Example |
id | string | No | — | — |
Example: success example
{ "id": "custom-2" }400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: name missing example
{ "error": "name is required" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da066' not found", "data": {} }GET /garments/{garment_id}/comments
Name | In | Type | Required | Description | Example |
garment_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | GarmentCommentsModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — GarmentCommentsModel
Field | Type | Required | Description | Example |
comments | array[object] | Yes | Comments | — |
Example: Garment Comments example
{ "comments": [ { "id": "658137d3178e5c33a14d36a4", "parent_id": "6399b6357cfbb3ac843f81c9", "text": "example comment 2d", "mentioned_users": [], "user_id": "654cd761d57d9306aecad384", "timestamp": "2023-12-19T06:27:31.825000+00:00", "is_internal": false, "outline_id": "63845864530275527f58e8de", "serial_number": 2, "data": { "location": { "x": 168.75, "y": 266.25, "angle": 1, "scale": 0, "anchor": [ 0.5, 0.5 ] } } }, { "id": "658137d3178e5c33a14d36b5", "parent_id": "6399b6357cfbb3ac843f81c9", "text": "example comment 3d", "mentioned_users": [], "user_id": "654cd761d57d9306aecad384", "timestamp": "2023-12-19T06:27:31.825000+00:00", "is_internal": true, "outline_id": "63845864530275527f58e8de", "data": { "location": { "x": 712.42578125, "y": 322.12109375, "camera3D": { "alpha": 1.28578266514016, "beta": 0.21877397941460106, "radius": 1.25, "target": [ 0.10281790095339761, 0.013074920583035188, -0.1557192626522719 ] }, "pinCoordsFor3D": { "x": 0.17924659418963124, "y": 0.92823835683615, "z": 0.026821938586482894 } } } } ] }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da065' not found", "data": {} }GET /garments/{garment_id}/outlines/{outline_id}/af_download
Name | In | Type | Required | Description | Example |
garment_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
outline_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
302 | — | — |
401 | — | ErrorModel |
404 | — | ErrorModel |
401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da073' not found", "data": {} }Example: Not found Outline example
{ "error": "Outline '69a7ed8b0d331881ed0da074' not found", "data": {} }POST /garments/{garment_id}/outlines/{outline_id}/edit
Resource Edit
Name | In | Type | Required | Description | Example |
garment_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
outline_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Request Body (Optional) — Body [application/json]
Status | Description | Schema |
200 | — | inline |
400 | — | ErrorModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — Response 200
Field | Type | Required | Description | Example |
new_name | string | No | — | — |
Example: success example
{ "new_name": "New outline name" }400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Error name is required example
{ "error": "name is required" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da075' not found", "data": {} }Example: Not found Outline example
{ "error": "Outline '69a7ed8b0d331881ed0da076' not found", "data": {} }GET /garments/{garment_id}/resources/
Name | In | Type | Required | Description | Example |
garment_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | MultiOutlinesModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — MultiOutlinesModel
Field | Type | Required | Description | Example |
resources | array[object] | Yes | Resources | — |
Example: Multiple outlines example
{ "resources": [ { "id": "64f8683d72593bde47fee370", "type": "image", "name": "image-06-09-2023-11:53:33", "creation_time": "2023-09-06T11:53:33+00:00", "modification_time": "2023-10-09T11:23:31.455000+00:00", "filename": null, "mimetype": "image/png", "download_url": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)" }, { "id": "6563201ec49f3652de7907ad", "type": "image", "name": "Generate TP and configure Template 1", "creation_time": "2023-11-26T10:38:22+00:00", "modification_time": "2023-11-26T10:44:39.445000+00:00", "filename": "Generate TP and configure Template 1.png", "mimetype": "image/png", "download_url": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)" } ] }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da070' not found", "data": {} }POST /garments/{garment_id}/resources/
Resource Upload
Name | In | Type | Required | Description | Example |
garment_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Request Body (Optional) — CreateOutlineModel [application/json]
Field | Type | Required | Description | Example |
type | string | Yes | Type | — |
name | string | No | Name | — |
filename | string | No | Filename | — |
url | string | No | Url | — |
colorway_id | string | No | Colorway Id | — |
token | string | No | Token | — |
preview_image | string | No | Preview Image | — |
angles | array[AngleDict] | No | Angles | — |
Example: file upload example
{ "type": "file", "name": "My file", "url": "https://example.com/file.txt", "colorway_id": "1", "filename": "file.txt" }Example: image upload example
{ "type": "image", "name": "My image", "url": "https://example.com/image.jpg", "colorway_id": "1", "filename": "image.jpg" }Example: turntable upload example
{ "type": "turntable", "angles": [ { "image_url": "https://example.com/angle1.jpg" } ], "colorway_id": "1", "name": "My turntable" }Example: 3d upload example
{ "type": "_3d", "name": "My glb", "url": "https://example.com/glb.glb", "colorway_id": "1", "filename": "glb.glb", "preview_image": "https://example.com/preview.jpg" }Example: bw upload example
{ "type": "bw", "name": "My bw", "url": "https://example.com/bw.bw", "filename": "bw.bw" }Status | Description | Schema |
200 | — | inline |
400 | — | ErrorModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — Response 200
Field | Type | Required | Description | Example |
id | string | No | — | — |
Example: file upload example
{ "type": "file", "name": "My file", "url": "https://example.com/file.txt", "colorway_id": "1", "filename": "file.txt" }Example: image upload example
{ "type": "image", "name": "My image", "url": "https://example.com/image.jpg", "colorway_id": "1", "filename": "image.jpg" }Example: turntable upload example
{ "type": "turntable", "angles": [ { "image_url": "https://example.com/angle1.jpg" } ], "colorway_id": "1", "name": "My turntable" }Example: 3d upload example
{ "type": "_3d", "name": "My glb", "url": "https://example.com/glb.glb", "colorway_id": "1", "filename": "glb.glb", "preview_image": "https://example.com/preview.jpg" }Example: bw upload example
{ "type": "bw", "name": "My bw", "url": "https://example.com/bw.bw", "filename": "bw.bw" }Example: success example
{ "id": "69a7ed8b0d331881ed0da072" }400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Error Unknown resource type example
{ "error": "Unknown resource type" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da071' not found", "data": {} }GET /garments/{garment_id}/resources/{outline_id}/
Name | In | Type | Required | Description | Example |
garment_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
outline_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | SingleOutlineModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — SingleOutlineModel
Field | Type | Required | Description | Example |
id | string | Yes | Id | — |
type | string | Yes | Type | — |
name | string | Yes | Name | — |
creation_time | string | Yes | Creation Time | — |
modification_time | string | Yes | Modification Time | — |
filename | string | Yes | Filename | — |
mimetype | string | Yes | Mimetype | — |
download_url | string | Yes | Download Url | — |
Example: Single outline example
{ "id": "64f8683d72593bde47fee370", "type": "image", "name": "image-06-09-2023-11:53:33", "creation_time": "2023-09-06T11:53:33+00:00", "modification_time": "2023-10-09T11:23:31.455000+00:00", "colorway_id": "45", "filename": null, "mimetype": "image/png", "download_url": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)", "images": { "list": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)", "card": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)", "preview": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)" } }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da06f' not found", "data": {} }global_search
POST /global_search/
Global search groups, boards, styles, garments, users for the given term
Request Body (Optional) — GlobalSearchBodyModel [application/json]
Field | Type | Required | Description | Example |
term | string | Yes | Term | — |
skip | integer | Yes | Skip | — |
limit | integer | Yes | Limit | — |
filters | object | Yes | SearchFiltersModel | — |
Status | Description | Schema |
200 | — | GlobalSearchModel |
400 | — | ErrorModel |
401 | — | ErrorModel |
200 — GlobalSearchModel
Field | Type | Required | Description | Example |
results | object | Yes | GlobalSearchResultsModel | — |
total_count | integer | Yes | Total Count | — |
has_more | boolean | Yes | Has More | — |
400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Error term is required example
{ "error": "term is required" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }groups
GET /groups/
Status | Description | Schema |
200 | — | GroupsModel |
401 | — | ErrorModel |
200 — GroupsModel
Field | Type | Required | Description | Example |
groups | array[object] | Yes | Groups | — |
has_more | boolean | Yes | Has More | — |
Example: Groups example
{ "groups": [ { "_id": "6577f19332d9b89c7a2c775d", "name": "first group", "type": "members" }, { "_id": "659e6394a477d939999a13dd", "name": "Public", "type": "public" }, { "_id": "659e6d5b7f8b89caf89a0096", "name": "new collection1", "type": "collection" }, { "_id": "65a8dbc6324751f26821663c", "name": "group1", "type": "members" }, { "_id": "66017b464ccb1aca4d1b0eab", "name": "Public files", "type": "public" }, { "_id": "6633891ccf726adbab0f4fa8", "name": "My Test", "type": "collection" } ], "has_more": false }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }POST /groups/
Request Body (Optional) — CreateGroupModel [application/json]
Field | Type | Required | Description | Example |
name | string | Yes | Name | — |
owner_id | string | Yes | Owner Id | — |
group_type | string | Yes | Group Type | — |
description | string | No | Description | — |
Status | Description | Schema |
200 | — | PollModel |
400 | — | ErrorModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — PollModel
Field | Type | Required | Description | Example |
id | string | Yes | Id | — |
poll_url | string | Yes | Poll Url | — |
Example: success
{ "id": "69a7ed8b0d331881ed0da068", "poll_url": "https://browzwear.stylezone.com/69a7ed8b0d331881ed0da069/" }400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: name missing example
{ "error": "name is required" }Example: Invalid group type example
{ "error": "Invalid group type" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da067' not found", "data": {} }GET /groups/{group_id}/boards/
Name | In | Type | Required | Description | Example |
group_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | GroupBoardsModel |
401 | — | ErrorModel |
200 — GroupBoardsModel
Field | Type | Required | Description | Example |
boards | array[object] | Yes | Boards | — |
Example: Groups boards example
{ "boards": [ { "_id": "658138fa642c05bc574d2eb9", "flags": { "user_uploads": false, "user_trash": false, "collection_default": false, "hidden": false }, "name": "test Board" } ] }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }POST /groups/{group_id}/boards/
Name | In | Type | Required | Description | Example |
group_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Request Body (Optional) — CreateBoardModel [application/json]
Field | Type | Required | Description | Example |
name | string | Yes | Name | — |
owner_id | string | Yes | Owner Id | — |
place_after | string | No | Place After | — |
Status | Description | Schema |
200 | — | inline |
400 | — | ErrorModel |
401 | — | ErrorModel |
200 — Response 200
Field | Type | Required | Description | Example |
success | boolean | No | — | — |
board_id | string | No | — | — |
Example: success example
{ "success": true, "board_id": "69a7ed8b0d331881ed0da06e" }400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: name missing example
{ "error": "name is required" }Example: owner_id missing example
{ "error": "owner_id is required" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }POST /groups/{group_id}/users/
Name | In | Type | Required | Description | Example |
group_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Request Body (Optional) — object [application/json]
Schema: object
Status | Description | Schema |
200 | — | null |
400 | — | ErrorModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: users missing example
{ "error": "users is required" }Example: Invalid role example
{ "error": "Invalid role" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Group example
{ "error": "Group '69a7ed8b0d331881ed0da06a' not found", "data": {} }Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da06b' not found", "data": {} }DELETE /groups/{group_id}/users/
Name | In | Type | Required | Description | Example |
group_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | null |
400 | — | ErrorModel |
401 | — | ErrorModel |
403 | — | ErrorModel |
404 | — | ErrorModel |
400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: users missing example
{ "error": "users is required" }Example: Invalid role example
{ "error": "Invalid role" }Example: Error User not exist in group example
{ "error": "User not exist in group" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }403 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Error Can't leave group with no moderators example
{ "error": "Can't leave group with no moderators" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Group example
{ "error": "Group '69a7ed8b0d331881ed0da06c' not found", "data": {} }Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da06d' not found", "data": {} }POST /groups/{group_id}/users/{user_id}/
Name | In | Type | Required | Description | Example |
group_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
user_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Request Body (Optional) — object [application/json]
Schema: object
Status | Description | Schema |
200 | — | null |
400 | — | ErrorModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: users missing example
{ "error": "users is required" }Example: Invalid role example
{ "error": "Invalid role" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Group example
{ "error": "Group '69a7ed8b0d331881ed0da06a' not found", "data": {} }Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da06b' not found", "data": {} }DELETE /groups/{group_id}/users/{user_id}/
Name | In | Type | Required | Description | Example |
group_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
user_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | null |
400 | — | ErrorModel |
401 | — | ErrorModel |
403 | — | ErrorModel |
404 | — | ErrorModel |
400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: users missing example
{ "error": "users is required" }Example: Invalid role example
{ "error": "Invalid role" }Example: Error User not exist in group example
{ "error": "User not exist in group" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }403 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Error Can't leave group with no moderators example
{ "error": "Can't leave group with no moderators" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Group example
{ "error": "Group '69a7ed8b0d331881ed0da06c' not found", "data": {} }Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da06d' not found", "data": {} }permissions
GET /permissions/{perm_key}/
Name | In | Type | Required | Description | Example |
perm_key | path | string (pattern: ^[^/]+$) | Yes | — | — |
Status | Description | Schema |
200 | — | PermissionsModel |
400 | — | ErrorModel |
401 | — | ErrorModel |
200 — PermissionsModel
Field | Type | Required | Description | Example |
public | boolean | Yes | Public | — |
user_ids | array[string] | Yes | User Ids | — |
Example: Permissions example
{ "public": false, "user_ids": [ "656ecd9cbc43ca355c66a6d9", "656eeadabc43ca355c66abf4" ] }400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Invalid perm_key example
{ "error": "Invalid perm_key" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }render_vqs
POST /render_vqs/
Request Body (Optional) — RenderVqsRequestModel [application/json]
Field | Type | Required | Description | Example |
version_id | string | Yes | Version Id | — |
vqs_id | string | Yes | Vqs Id | — |
colorways | array[object] | Yes | Colorways | — |
preset_names | array[string] | No | Preset Names | — |
texture | string | Yes | Texture | — |
Status | Description | Schema |
200 | — | RenderVqsResponseModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — RenderVqsResponseModel
Field | Type | Required | Description | Example |
bulk_operation_id | string | Yes | Bulk Operation Id | — |
401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8a0d331881ed0da05d' not found", "data": {} }styles
POST /styles/
Request Body (Optional) — CreateStyleModel [application/json]
Field | Type | Required | Description | Example |
owner_id | string | No | Owner Id | — |
parent_id | string | No | Parent Id | — |
name | string | No | Name | — |
Status | Description | Schema |
200 | — | CreateStyleResponseModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — CreateStyleResponseModel
Field | Type | Required | Description | Example |
style_id | string | Yes | Style Id | — |
version_id | string | Yes | Version Id | — |
401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Board example
{ "error": "Board '69a7ed8b0d331881ed0da07c' not found", "data": {} }Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da07d' not found", "data": {} }GET /styles/{style_id}/
Name | In | Type | Required | Description | Example |
style_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | GarmentModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — GarmentModel
Field | Type | Required | Description | Example |
id | string | Yes | Id | — |
name | string | Yes | Name | — |
description | string | Yes | Description | — |
owner_id | string | Yes | Owner Id | — |
parent_id | string | Yes | Parent Id | — |
group_id | string | Yes | Group Id | — |
style_id | string | Yes | Style Id | — |
style_name | string | Yes | Style Name | — |
version_num | integer | Yes | Version Num | — |
creation_time | string | Yes | Creation Time | — |
modification_time | string | Yes | Modification Time | — |
colorways | any | Yes | Colorways | — |
metadata | array[object] | Yes | Metadata | — |
metadata_categories | array[object] | Yes | Metadata Categories | — |
images | any | Yes | Images | — |
garment_audit_log | array[any] | Yes | Garment Audit Log | — |
style_audit_log | array[any] | Yes | Style Audit Log | — |
style_data | object | Yes | StyleDataModel | — |
Example: Garment example
{ "id": "63109fbde3c4ef95b08f8042", "name": "Light Hoodie", "description": "", "owner_id": "61fa9795937750fd43de2492", "parent_id": "61fbbff33449b9445c3e7043", "group_id": "61fbbff33449b9445c3e7042", "style_id": "63d642921a8e2b2d95633a31", "style_name": "Light Hoodie", "version_num": 1, "creation_time": "2022-09-01T12:04:13.593000+00:00", "modification_time": "2024-06-18T13:26:32.455000+00:00", "colorways": { "36": "RAPTURE ", "21": "HIGH RISE", "27": "MEDIUM GRAY HEATHER", "28": "GRAY RIDGE", "29": "VANILLA HEATHER", "31": "ISLAND GREEN", "32": "DARK SAPPHIRE", "33": "DEEP LAKE", "34": "BRILLIANT WHITE", "35": "RAPTURE ROSE" }, "style_data": { "_id": "63d642921a8e2b2d95633a31", "parent_id": "61fbbff33449b9445c3e7043", "owner_id": "61fa9795937750fd43de2492", "group_id": "61fbbff33449b9445c3e7042", "tokens": [], "flags": { "collection_item": true, "hidden": false }, "name": "Light Hoodie", "main_version": "63109fbde3c4ef95b08f8042", "desc": "", "status": "", "versions_count": 1, "likes": [], "likes_cnt": 0, "res_id": "63d642921a8e2b2d95633a31", "_ut": "2024-06-23T06:50:37.123000+00:00", "metadata": { "fields": [], "categories": [] }, "ctime": "2022-09-01T12:04:13.593000+00:00", "mtime": "2024-06-23T06:50:37.123000+00:00", "rtime": "2023-07-26T05:17:16.429000+00:00", "audit_log": [ { "_ut": "2024-01-16T09:23:18.563000+00:00", "type": "new_version", "data": { "garment_id": "65a64b06c754cca99bc64dc8", "version_num": 2 } } ], "id": "63d642921a8e2b2d95633a31", "shared_styles": [ { "_id": "63d642921a8e2b2d95633a45", "parent_id": "632067a4f464fd12d2ae22e4", "metadata": {} }, { "_id": "63d642921a8e2b2d95633a46", "parent_id": "632067a4f464fd12d2ae22e4", "metadata": {} }, { "_id": "63d642921a8e2b2d95633a57", "parent_id": "63232e8c06d58dd2d8d188f4", "metadata": {} } ], "tags": null, "tags_count": null }, "metadata": [ { "label": "Field 1", "category_id": "category", "data_type": "single_select", "user_types": [ "guest", "member", "admin" ], "rules": { "choices": [ { "choice_id": "value-1", "choice": "Value 1" } ] }, "key": "field-1", "value": null }, { "label": "Field 3", "category_id": "category", "data_type": "date", "user_types": [ "admin", "member" ], "rules": {}, "key": "field-3", "value": null } ], "metadata_categories": [ { "category_id": "category", "label": "Category 1" }, { "category_id": "category-1", "label": "Category 2" }, { "category_id": "category-2", "label": "" } ], "images": { "default": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)", "square": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)" }, "garment_audit_log": [ { "timestamp": "2022-09-13T11:11:08.476000+00:00", "type": "upload", "data": { "resource_ids": [ "6320654ca9276d6c606e3d05" ], "user_id": "61fa9795937750fd43de2492" } } ], "style_audit_log": [ { "timestamp": "2024-01-16T09:23:18.563000+00:00", "type": "new_version", "data": { "garment_id": "65a64b06c754cca99bc64dc8", "version_num": 2 } } ] }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Style example
{ "error": "Style '69a7ed8b0d331881ed0da077' not found", "data": {} }Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da078' not found", "data": {} }POST /styles/{style_id}/
Name | In | Type | Required | Description | Example |
style_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Request Body (Optional) — UpdateStyleModel [application/json]
Field | Type | Required | Description | Example |
like | boolean | No | Like | — |
status | string | No | Status | — |
metadata | any | No | Metadata | — |
Status | Description | Schema |
200 | — | inline |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — Response 200
Field | Type | Required | Description | Example |
success | boolean | No | — | — |
Example: success example
{ "success": true }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Style example
{ "error": "Style '69a7ed8b0d331881ed0da079' not found", "data": {} }Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da07a' not found", "data": {} }GET /styles/{style_id}/versions/
Name | In | Type | Required | Description | Example |
style_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | StyleVersionsModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — StyleVersionsModel
Field | Type | Required | Description | Example |
versions | array[object] | Yes | Versions | — |
profiles | array[object] | Yes | Profiles | — |
Example: Style Versions example
{ "versions": [ { "_id": "64f8683472593bde47fee35c", "parent_id": "64d902234aa71b52abb5bb07", "owner_id": "64ca0da230acf4c047f0c1de", "group_id": "64d902234aa71b52abb5baed", "flags": { "collection_item": false, "hidden": false }, "colorways": [ [ "45", "CW-test" ], [ "custom-1", "New Colorway" ] ], "likes": [], "likes_cnt": 0, "status": "", "style_id": "64f8683472593bde47fee35b", "ctime": "2023-09-06T11:53:24.341000+00:00", "mtime": "2024-07-21T09:22:01.802000+00:00", "rtime": "2023-09-06T11:53:24.341000+00:00", "name": "Browzwear test v1", "desc": "", "vqs": null, "res_id": "64f8683472593bde47fee35c", "version_num": 1, "_ut": "2024-07-21T09:22:01.803000+00:00", "thumb": { "default": { "w": 220, "h": 220, "bg": [ 255, 255, 255 ], "included_cw": 0, "_ut": "2023-11-26T10:38:25.145000+00:00", "url": "/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiLCJzbHQiOiJzZXMiLCJ0eXAiOiJKV1QifQ.eyJkYXRhIjp7InR5cGUiOiJzdG9yYWdlIiwicGF0aCI6InVzZXIvZ2FybWVudHMvNjRmODY4MzQ3MjU5M2JkZTQ3ZmVlMzVjIiwibWltZV90eXBlIjoiaW1hZ2UvcG5nIiwicHJtIjp0cnVlLCJ2IjoxfX0.dxGeAdGqw8NLC5dHLDVV3rmYym7IxgiEHUUpprSMPWU?_=1700995105.0" }, "square": { "w": 100, "h": 100, "bg": [ 255, 255, 255 ], "included_cw": 0, "_ut": "2023-11-26T10:38:25.268000+00:00", "url": "/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiLCJzbHQiOiJzZXMiLCJ0eXAiOiJKV1QifQ.eyJkYXRhIjp7InR5cGUiOiJzdG9yYWdlIiwicGF0aCI6InVzZXIvZ2FybWVudHMvNjRmODY4MzQ3MjU5M2JkZTQ3ZmVlMzVjLnNxdWFyZSIsIm1pbWVfdHlwZSI6ImltYWdlL3BuZyIsInBybSI6dHJ1ZSwidiI6MX19.O0bMsDGvjeA82x13fB3cigAmwP08D9SxM4AiaXUBpck?_=1700995105.0" }, "plugin": { "w": 400, "h": 400, "bg": [ 255, 255, 255 ], "included_cw": 0, "_ut": "2023-11-26T10:38:25.387000+00:00", "url": "/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiLCJzbHQiOiJzZXMiLCJ0eXAiOiJKV1QifQ.eyJkYXRhIjp7InR5cGUiOiJzdG9yYWdlIiwicGF0aCI6InVzZXIvZ2FybWVudHMvNjRmODY4MzQ3MjU5M2JkZTQ3ZmVlMzVjLnBsdWdpbiIsIm1pbWVfdHlwZSI6ImltYWdlL3BuZyIsInBybSI6dHJ1ZSwidiI6MX19.o35HxXemZhoIHYnj967X47WptcqNXb3PNuqW19gjNR0?_=1700995105.0" } }, "auto_image": false, "explicit_image": null, "audit_log": [ { "_ut": "2023-09-06T11:53:33.454000+00:00", "type": "upload", "data": { "outline_ids": [ "64f8683d72593bde47fee370" ], "user_id": "64ca0da230acf4c047f0c1de" } }, { "_ut": "2023-11-26T10:38:22.864000+00:00", "type": "upload", "data": { "outline_ids": [ "6563201ec49f3652de7907ad" ], "user_id": "64ca0da230acf4c047f0c1de" } } ], "colorways_flags": { "custom-1": { "sz_colorway": false } }, "is_main": true, "is_bw": false, "image_url": "https://browzwear.stylezone.com/link/eyJhbGciOiJIUzI1NiIsImtpZCI6IjAiL(...)", "colorways_dict": { "45": "CW-test", "custom-1": "New Colorway" }, "colorways_thumbs": null, "comments": null, "comments_count": 0, "hidden_colorways": [], "id": "64f8683472593bde47fee35c", "is_legacy": true, "likes_count": 0, "main_colorway": "45", "metadata": null, "own_cw_order": false, "packs": [], "shared_garments": [], "style_data": { "_id": "64f8683472593bde47fee35b", "parent_id": "64d902234aa71b52abb5bb07", "owner_id": "64ca0da230acf4c047f0c1de", "group_id": "64d902234aa71b52abb5baed", "tokens": [], "flags": { "collection_item": false, "hidden": false }, "name": "Browzwear test", "main_version": "64f8683472593bde47fee35c", "desc": "", "status": "accepted", "ctime": "2023-09-06T11:53:24.341000+00:00", "mtime": "2023-11-26T10:38:04.338000+00:00", "rtime": "2023-11-26T10:37:41.755000+00:00", "versions_count": 1, "likes": [], "likes_cnt": 0, "res_id": "64f8683472593bde47fee35b", "_ut": "2023-11-26T10:38:04.338000+00:00", "audit_log": [ { "_ut": "2023-09-06T11:53:24.351000+00:00", "type": "new_version", "data": { "garment_id": "64f8683472593bde47fee35c", "version_num": 1 } }, { "_ut": "2023-11-26T10:37:41.764000+00:00", "type": "status", "data": { "status": "accepted", "user_id": "64ca0da230acf4c047f0c1de" } } ], "metadata": { "fields": [], "categories": [] }, "id": "64f8683472593bde47fee35b", "shared_styles": [], "tags": null, "tags_count": null }, "unresolved_threads": 0 } ], "profiles": [ { "_id": "64ca0da230acf4c047f0c1de", "first_name": "User", "last_name": "User", "active": false, "can_create_users": true, "can_edit_groups": false, "can_edit_users": true, "can_edit_vqs": false, "colorup_onboarding_shown": null, "def_board_id": "64d902234aa71b52abb5bb07", "def_group_id": "64d902234aa71b52abb5baed", "email": "", "full_name": "User User", "id": "64ca0da230acf4c047f0c1de", "inactive": false, "is_admin": false, "is_anonymous": false, "is_guest": true, "is_member": false, "organization": "browzwear", "pending": false, "profile_page_picture_url": "https://browzwear.stylezone.com/static/gfx/no-profile.png", "show_colorup_onboarding": null, "small_picture_url": "https://browzwear.stylezone.com/static/gfx/no-profile.png", "thumb": {}, "timezone": null, "type": "guest", "unread_notification_count": 0 } ] }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Style example
{ "error": "Style '69a7ed8b0d331881ed0da07b' not found", "data": {} }tags
GET /tags/
Status | Description | Schema |
200 | No response body | — |
POST /tags/
Status | Description | Schema |
200 | No response body | — |
tags_relations
POST /{object_type}/tags_relations/bulk/
Name | In | Type | Required | Description | Example |
object_type | path | string (pattern: ^style$) | Yes | — | — |
Status | Description | Schema |
200 | No response body | — |
DELETE /{object_type}/tags_relations/bulk/
Name | In | Type | Required | Description | Example |
object_type | path | string (pattern: ^style$) | Yes | — | — |
Status | Description | Schema |
204 | No response body | — |
users
POST /users/
Request Body (Optional) — CreateUserModel [application/json]
Field | Type | Required | Description | Example |
string | Yes | — | ||
is_email_public | boolean | No | Is Email Public | — |
first_name | string | Yes | First Name | — |
last_name | string | Yes | Last Name | — |
timezone | string | No | Timezone | — |
department | string | No | Department | — |
position | string | No | Position | — |
about | string | No | About | — |
skills | string | No | Skills | — |
requested_type | string | No | Requested Type | — |
Status | Description | Schema |
200 | — | PollModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — PollModel
Field | Type | Required | Description | Example |
id | string | Yes | Id | — |
poll_url | string | Yes | Poll Url | — |
Example: success
{ "id": "69a7ed8b0d331881ed0da081", "poll_url": "https://browzwear.stylezone.com/69a7ed8b0d331881ed0da082/" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da083' not found", "data": {} }GET /users/{user_id}/
Name | In | Type | Required | Description | Example |
user_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | UserModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — UserModel
Field | Type | Required | Description | Example |
id | string | Yes | Id | — |
first_name | string | Yes | First Name | — |
last_name | string | Yes | Last Name | — |
string | Yes | — | ||
type | string | Yes | Type | — |
images | object | Yes | UserImagesModel | — |
Example: Style Versions example
{ "id": "64ca0da230acf4c047f0c1de", "first_name": "User", "last_name": "User", "email": "[email protected]", "type": "admin", "images": { "default": "https://browzwear.stylezone.com/static/gfx/no-profile.png", "small": "https://browzwear.stylezone.com/static/gfx/no-profile.png" } }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da07e' not found", "data": {} }DELETE /users/{user_id}/
Name | In | Type | Required | Description | Example |
user_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | inline |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — Response 200
Field | Type | Required | Description | Example |
success | boolean | No | — | — |
Example: success example
{ "success": true }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da07f' not found", "data": {} }GET /users/{user_id}/permissions/
Name | In | Type | Required | Description | Example |
user_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | array |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — Response 200
Example: User Permissions example
[ { "action": "view_all", "object": "users" }, { "action": "view_grid", "object": "users" }, { "action": "create", "object": "users" }, { "action": "delete", "object": "users" }, { "action": "edit", "object": "users" }, { "action": "edit_authentication", "object": "settings" }, { "action": "edit_metadata_fields", "object": "settings" }, { "action": "edit_statuses", "object": "settings" }, { "action": "edit", "object": "providers" }, { "action": "create", "object": "providers" }, { "action": "delete", "object": "providers" }, { "action": "delete", "object": "palettes" }, { "action": "create", "object": "palettes" }, { "action": "create", "object": "groups" }, { "action": "approve_guests", "object": "groups" }, { "action": "create", "object": "folders" }, { "action": "edit", "object": "folders" }, { "action": "delete", "object": "folders" }, { "action": "create", "object": "field-sets" }, { "action": "edit", "object": "field-sets" }, { "action": "delete", "object": "field-sets" }, { "action": "create", "object": "assets" }, { "action": "edit", "object": "assets" }, { "action": "delete", "object": "assets" }, { "action": "edit", "object": "asset_types" }, { "action": "create", "object": "asset_types" }, { "action": "delete", "object": "asset_types" } ]401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da088' not found", "data": {} }POST /users/{user_id}/permissions/
Name | In | Type | Required | Description | Example |
user_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Request Body (Optional) — object [application/json]
Field | Type | Required | Description | Example |
perm_key | string | No | — | — |
grant | bool | No | — | — |
Status | Description | Schema |
200 | — | null |
400 | — | ErrorModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
400 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Invalid param type example
{ "error": "grant perm needs to be boolean", "data": {} }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da087' not found", "data": {} }Example: Unknown param example
{ "error": "Unknown perm_key", "data": {} }POST /users/{user_id}/status/
Name | In | Type | Required | Description | Example |
user_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Request Body (Optional) — object [application/json]
Field | Type | Required | Description | Example |
status | string | No | — | — |
Status | Description | Schema |
200 | — | PollModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — PollModel
Field | Type | Required | Description | Example |
id | string | Yes | Id | — |
poll_url | string | Yes | Poll Url | — |
Example: success
{ "id": "69a7ed8b0d331881ed0da084", "poll_url": "https://browzwear.stylezone.com/69a7ed8b0d331881ed0da085/" }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da086' not found", "data": {} }GET /users/email/{email}/
Name | In | Type | Required | Description | Example |
path | string (pattern: ^[^/]+$) | Yes | — | — |
Status | Description | Schema |
200 | — | UserModel |
401 | — | ErrorModel |
404 | — | ErrorModel |
200 — UserModel
Field | Type | Required | Description | Example |
id | string | Yes | Id | — |
first_name | string | Yes | First Name | — |
last_name | string | Yes | Last Name | — |
string | Yes | — | ||
type | string | Yes | Type | — |
images | object | Yes | UserImagesModel | — |
Example: Style Versions example
{ "id": "64ca0da230acf4c047f0c1de", "first_name": "User", "last_name": "User", "email": "[email protected]", "type": "admin", "images": { "default": "https://browzwear.stylezone.com/static/gfx/no-profile.png", "small": "https://browzwear.stylezone.com/static/gfx/no-profile.png" } }401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found User example
{ "error": "User '69a7ed8b0d331881ed0da080' not found", "data": {} }vqs
GET /vqs/
Status | Description | Schema |
200 | — | VqsListResponseModel |
401 | — | ErrorModel |
200 — VqsListResponseModel
Field | Type | Required | Description | Example |
items | array[object] | Yes | Items | — |
401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }vstitcher_session
POST /vstitcher_session/
Request Body (Optional) — VstitcherSessionModel [application/json]
Field | Type | Required | Description | Example |
version_id | string | No | Version Id | — |
callback_url | string | No | Callback Url | — |
vstitcher_version | string | No | Vstitcher Version | — |
Status | Description | Schema |
200 | — | inline |
401 | — | ErrorModel |
404 | — | ErrorModel |
500 | — | ErrorModel |
200 — Response 200
Field | Type | Required | Description | Example |
session_id | string | No | — | — |
401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }404 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: Not found Garment example
{ "error": "Garment '69a7ed8b0d331881ed0da089' not found", "data": {} }500 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
GET /vstitcher_session/{session_id}/
Name | In | Type | Required | Description | Example |
session_id | path | string (pattern: ^[0-9a-f]{24}$) | Yes | — | — |
Status | Description | Schema |
200 | — | VstitcherSessionStatusModel |
401 | — | ErrorModel |
401 — ErrorModel
Field | Type | Required | Description | Example |
error | string | Yes | Error | — |
data | object | No | Data | — |
Example: unauthorized example
{ "error": "Unauthorized" }