{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"163f31a5-8ce7-4c5a-8603-ae56e4cdbb94","name":"Creative Force API Documentation","description":"The **Creative Force Gateway API** is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.\n\n- Base URL: `https://gateway.creativeforce.io/v1`\n    \n- Contact Support: [support@creativeforce.io](https://mailto:support@creativeforce.io)\n    \n- License: [SaaS Agreement](https://www.creativeforce.io/legal/saas-agreement/)\n    \n\n# Getting started\n\nRefer to our document:\n\n- [Getting started with Authorization Code grant flow](https://help.creativeforce.io/en/articles/3957991-getting-started-with-oauth-authentication-for-creative-force-gateway-api)\n    \n- [Getting started with Client Credentials flow](https://help.creativeforce.io/en/articles/5404838-getting-started-with-client-credentials-flow-for-creative-force-gateway-api)\n    \n\n## User Role and permission\n\nTo be able to access API, you will need a Creative Force user with Developer API permissions. Please see [this article](https://help.creativeforce.io/en/articles/3515698-user-roles) on how to set up user roles and permissions.\n\n## Best Practices\n\n- Here is a guide on [how to work with the Creative Force API in Postman](https://vimeo.com/484213321).\n    \n- Here is some [Token Best Practices](https://auth0.com/docs/secure/tokens/token-best-practices).\n    \n\n## Authorization Code Grant Flow\n\nHere is a [demo of using Postman to get Access Token and Refresh Token](https://vimeo.com/572982484).\n\nIn Postman, under the Edit Collection panel, click the Authorization tab, then click the Get New Access Token button, you will see a screen. Fill to the list of parameters on that screen:\n\n| Parameter | Description |\n| --- | --- |\n| Token Name | `access_token` |\n| Grant Type | Select 'Authorization Code' |\n| Callback URL | Please get the `Redirect URI` from your app settings |\n| Authorize using browser | Unchecked |\n| Auth URL | `https://accounts.creativeforce.io/connect/authorize` |\n| Access Token URL | `https://accounts.creativeforce.io/connect/token` |\n| Client ID | The client identifier. Please get the `Client ID` from your app settings |\n| Client Secret | Please get the `Client Secret` from your app settings |\n| Scope | `cfgateway offline_access` |\n| State | An opaque value used by the client to maintain state between the request and callback |\n| Client Authentication | Select 'Send as Basic Auth header' |\n\n## Client Credentials Grant Flow\n\nHere is a [demo of using Postman to get Access Token](https://vimeo.com/572986693).\n\nIn Postman, under the Edit Collection panel, click the Authorization tab, you will see a screen. Fill to the list of parameters on that screen:\n\n| Parameter | Description |\n| --- | --- |\n| Token Name | `access_token` |\n| Grant Type | Select 'Client Credentials' |\n| Access Token URL | `https://accounts.creativeforce.io/connect/token` |\n| Client ID | The client identifier. Please get the `Client ID` from your app settings |\n| Client Secret | Please get the `Client Secret` from your app settings |\n| Scope | `cfgateway` |\n| Client Authentication | Select 'Send client credentials in body' |\n\n# Webhooks\n\nRefer to our [Webhooks document](https://help.creativeforce.io/en/articles/4106909-webhooks).\n\n# Security rule\n\n## Redirect URI for app settings\n\nOur firewall does not allow these domain names and IP addresses in the host of the `Redirect URI` due to security reason:\n\n- \"localhost\"\n    \n- \"creativeforce.io\"\n    \n- \"metadata.google\"\n    \n- \"burpcollaborator.net\"\n    \n- \".local\"\n    \n- \".internal\"\n    \n- \"ram.aliyuncs.com\"\n    \n- \"fuf.me\"\n    \n- \"localtest.me\"\n    \n- \"ulh.us\"\n    \n- \"127.0.0.1\"\n    \n- \"169.254.169.254\"\n    \n\nAnd our firewall will not allow if the Redirect URI domain pointing to `169.254.169.254` address.\n\n## Payload URL for webhook settings\n\nOur firewall does not allow these domain names and IP addresses in the host of the `Payload URL` due to security reason:\n\n- \"localhost\"\n    \n- \"creativeforce.io\"\n    \n- \"metadata.google\"\n    \n- \"burpcollaborator.net\"\n    \n- \".local\"\n    \n- \".internal\"\n    \n- \"ram.aliyuncs.com\"\n    \n- \"fuf.me\"\n    \n- \"localtest.me\"\n    \n- \"ulh.us\"\n    \n- Any IP address\n    \n\nAnd the webhook will not be sent if the Payload URL domain pointing to a private IP address.\n\n## Size restriction for HTTP request body\n\nThe maximum request body size is 16 KB (16,384 bytes).\n\n# HTTP response status codes\n\n| Status | Meaning | Description |\n| --- | --- | --- |\n| 200 | OK | The request has succeeded. |\n| 400 | Bad Request | The request could not be understood by the server due to malformed syntax. |\n| 401 | Unauthorized | Authentication is required and has failed or has not yet been provided, or the IP address is restricted. |\n| 403 | Forbidden | An authentication token wasn't found in the request, or the authentication token in the request has expired. Or the client does not have access rights to the content, or attempting a prohibited action. |\n| 406 | Not Acceptable | The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request. |\n| 429 | Too Many Requests | This response status code indicates the user has sent too many requests in a given amount of time (exceed \"rate limiting\"). |\n| 500 | Internal Server Error | The server has encountered a situation it doesn't know how to handle. |\n\n# Rate limiting\n\nWe put rate limits on API requests to protect the system from receiving more data than it can handle, and to ensure an equitable distribution of the system resources, also help provide a predictably pleasant experience for all users.\n\nWhen rate limit is exceeded, an HTTP 429 status code is returned. The limits are subject to change.\n\n| Endpoint | Limited By | Rate Limit |\n| --- | --- | --- |\n| All Authenticated API endpoints | IP Address | 20 requests per second |\n\nHere are some resources for your reference:\n\n- [Rate-limiting strategies and techniques](https://cloud.google.com/architecture/rate-limiting-strategies-techniques)\n    \n- [Rate Limiting pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/rate-limiting-pattern)\n    \n- [C# - Throttle outgoing http requests - Concurrent](https://josef.codes/c-sharp-throttle-http-requests-concurrent/)\n    \n- [jhurliman/node-rate-limiter](https://github.com/jhurliman/node-rate-limiter)\n    \n- [SGrondin/bottleneck](https://github.com/SGrondin/bottleneck)\n    \n\n# Datetime format\n\nDatetime format in CreativeForce API is Unix Timestamp (milliseconds) - the number of milliseconds since the Unix Epoch, and always uses UTC for time representation.  \nThis format apply for all datetime in both of request and response.  \nSee more at:\n\n- [Date.prototype.getTime()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime)\n    \n- [System.currentTimeMillis()](https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#currentTimeMillis())\n    \n- [Unix Timestamp (milliseconds)](https://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/)\n    \n\n# Number format\n\nThe Creative Force API supports numbers with a decimal point and no digit grouping separators.  \nExamples: -100, 1000, 12.45, -99.6745  \nThis format applies to all number properties in both requests and responses.\n\n# Escape Character Handling\n\nIn JSON string, only control characters (e.g. newline `\\n`) are escapsed.\n\nFor Unicode characters, we just put plain Unicode text instead of its encoding. For example: use `Ø Ö` instead of `\\u00D8 \\u00D6`.\n\nThis logic is applied for JSON string in both request & response payload.\n\n# Enumeration\n\n## EnumContentCreationType\n\n| Property | Value |\n| --- | --- |\n| Ecomm | 1 |\n| Editorial | 2 |\n\n## EnumShootingType (productionTypeId)\n\n| Property | Value |\n| --- | --- |\n| None | 0 |\n| OnModel | 1 |\n| Mannequin | 2 |\n| Flats | 3 |\n| Overhead | 5 |\n| Tabletop | 6 |\n| Hanger | 7 |\n\n## EnumImportLogicErrorCode\n\n| Property | Value |\n| --- | --- |\n| FileCorrupted | 1 |\n| EmptyFile | 2 |\n| EmptyOrTooLongJobName | 3 |\n| TooLongValue | 4 |\n| DuplicatedProductCode | 5 |\n| DuplicatedOutfitCode | 6 |\n| DuplicatedOutfitProductCode | 7 |\n| DuplicatedColumnHeader | 8 |\n| NoProductBeImported | 9 |\n| EmptyOrTooLongJobCode | 10 |\n| InvalidJobCustomProperty | 11 |\n| InternalServerError | 12 |\n| CannotAttachDataSource | 13 |\n| JobTriggerInvalidStyleGuide | 14 |\n| CannotConvertFile | 15 |\n| Timeout | 16 |\n| SavingError | 17 |\n| ProductCodeColumnNotFound | 18 |\n| ProductSampleCodeColumnNotFound | 19 |\n| NoProductsFound | 20 |\n| NoProductSamplesFound | 21 |\n| DatasourceNotFound | 22 |\n\n## EnumJobStatus\n\n| Property | Value |\n| --- | --- |\n| Backlog | 1000 |\n| Todo | 2000 |\n| InProgress | 3000 |\n| Done | 9000 |\n\n## EnumProductUnitStatus\n\n| Property | Value |\n| --- | --- |\n| Backlog | 1000 |\n| Todo | 2000 |\n| InProgress | 3000 |\n| Done | 9000 |\n\n## EnumWorkUnitStatus\n\n| Property | Value |\n| --- | --- |\n| New | 1000 |\n| Todo | 2000 |\n| InProgress | 3000 |\n| Done | 9000 |\n\n## EnumStep\n\n| Property | Value | Webhook Overwrite Event Name |\n| --- | --- | --- |\n| Capture | 3 | Photography |\n| FinalSelection | 4 |  |\n| Copywriting | 5 |  |\n| Copywriting QC | 6 |  |\n| External Post | 7 | External Post Production |\n| External Post QC | 8 | External Post Production QC |\n| Internal Post | 10 | Internal Post Production |\n| Internal Post QC | 11 | Internal Post Production QC |\n| Asset Delivery | 14 |  |\n| Photo Review | 15 |  |\n| Internal Post (L1) | 16 |  |\n| Internal Post QC (L1) | 17 |  |\n| Internal Post (L2) | 18 |  |\n| Internal Post QC (L2) | 19 |  |\n| External Post (L1) | 20 |  |\n| External Post QC (L1) | 21 |  |\n| External Post (L2) | 22 |  |\n| External Post QC (L2) | 23 |  |\n| Digital Processing | 24 |  |\n| Post Review | 30 |  |\n| Rounds of Review | 31 |  |\n| Cloud Automation | 25 |  |\n| Cloud Automation (L1) | 26 |  |\n| Cloud Automation (L2) | 27 |  |\n| Cloud Automation (L3) | 28 |  |\n| Cloud Automation (L4) | 29 |  |\n| Cloud Automation (L5) | 40 |  |\n| External Post (L3) | 41 |  |\n| External Post QC (L3) | 42 |  |\n| External Post (L4) | 43 |  |\n| External Post QC (L4) | 44 |  |\n| External Post (L5) | 45 |  |\n| External Post QC (L5) | 46 |  |\n| Internal Post (L3) | 57 |  |\n| Internal Post QC (L3) | 58 |  |\n| Internal Post (L4) | 59 |  |\n| Internal Post QC (L4) | 60 |  |\n| Internal Post (L5) | 61 |  |\n| Internal Post QC (L5) | 62 |  |\n| Cloud Automation QC | 73 |  |\n| Cloud Automation QC (L1) | 74 |  |\n| Cloud Automation QC (L2) | 75 |  |\n| Cloud Automation QC (L3) | 76 |  |\n| Cloud Automation QC (L4) | 77 |  |\n| Cloud Automation QC (L5) | 78 |  |\n\n## EnumStepStatus\n\n| Property | Value |\n| --- | --- |\n| New | 1000 |\n| Awaiting Color Ref | 1500 |\n| To Do | 2000 |\n| In Progress | 3000 |\n| Rejected | 5000 |\n| QCRejected | 5100 |\n| Failed | 7000 |\n| Bypassed | 8000 |\n| Done | 9000 |\n\n## EnumObjectType\n\n| Property | Value |\n| --- | --- |\n| Outfit | 1 |\n| Product | 2 |\n| ProductSample | 3 |\n| Location | 5 |\n| Job | 7 |\n| User | 8 |\n| ExternalConnection | 9 |\n| PostProduction | 10 |\n| Asset | 11 |\n| Role | 12 |\n| DataSource | 13 |\n| OutfitProductSample | 15 |\n| StyleGuide | 16 |\n| ShootingType | 17 |\n| Position | 18 |\n\n## EnumSampleCheckinStatus\n\n| Property | Value |\n| --- | --- |\n| WaitingForCheckingIn | 10 |\n| CheckedIn | 20 |\n| CheckedOut | 90 |\n\n## EnumProductType\n\n| Property | Value |\n| --- | --- |\n| Product | 0 |\n| StylingItem | 1 |\n\n## ImportProductAction\n\n| Property | Value |\n| --- | --- |\n| Import | 1 |\n| ImportAndDeactivate | 2 |\n| Ignore | 3 |\n\n## ImportSampleAction\n\n| Property | Value |\n| --- | --- |\n| Import | 1 |\n| DonotImport | 2 |\n\n## EnumAssetSelectionType\n\n| Property | Value |\n| --- | --- |\n| Selected | 0 |\n| NonSelected | 1 |\n| Alternative | 2 |\n\n## EnumProductImportStatusId\n\n| Property | Value |\n| --- | --- |\n| OK | 0 |\n| WaitForSample | 10 |\n\n## EnumProductState\n\n| Property | Value |\n| --- | --- |\n| Normal (Active) | 0 |\n| Ignored (Inactive) | 1 |\n\n## EnumDataSourceType\n\n| Property | Value |\n| --- | --- |\n| FTP | 2001 |\n| Google Cloud Storage | 2002 |\n| Amazon S3 | 2003 |\n| Feed URL | 2004 |\n| Gateway API | 2005 |\n| Brandquad | 2006 |\n\n## EnumDataSourceStatus\n\n| Property | Value |\n| --- | --- |\n| NotAvailabled | 50 |\n| New | 100 |\n| InvalidHost | 101 |\n| FileNotFound | 102 |\n| InvalidFileConfig | 103 |\n| Syncing | 150 |\n| WaitToMap | 200 |\n| WaitForTheFirstSync | 300 |\n| DeltaFileSizeTooBig | 350 |\n| NoNewDeltaFile | 351 |\n| DataReady | 400 |\n\n## EnumPhotographySelectionType\n\n| Property | Value |\n| --- | --- |\n| FinalSelection | 1 |\n| PreSelection | 2 |\n| PreSelectionByPosition | 3 |\n\n## EnumTaskAssetType\n\n| Property | Value |\n| --- | --- |\n| Input | 1 |\n| Output | 2 |\n\n## EnumAnnotationType\n\n| Property | Value |\n| --- | --- |\n| Instruction | 1 |\n| Rejection | 2 |\n\n## EnumMediaType\n\n| Property | Value |\n| --- | --- |\n| Photo | 1 |\n| Video | 2 |\n\n## EnumSpecFormat\n\n| Property | Value |\n| --- | --- |\n| JPG | 1 |\n| JPEG | 2 |\n| PNG | 3 |\n| PSD | 4 |\n| TIF | 5 |\n| TIFF | 6 |\n| GIF | 7 |\n| WEBP | 8 |\n| PSB | 9 |\n| MOV | 30 |\n| MP4 | 31 |\n\n## EnumSpecDimensionType\n\n| Property | Value |\n| --- | --- |\n| Exact | 1 |\n| AspectRatio | 2 |\n\n## EnumSpecDimensionUnit\n\n| Property | Value |\n| --- | --- |\n| Pixels | 1 |\n\n## EnumVideoSpecCodec\n\n| Property | Value |\n| --- | --- |\n| AppleProRes422 | 1 |\n| AppleProRes422HQ | 2 |\n| AppleProRes422LT | 3 |\n| AppleProRes422Proxy | 4 |\n| AppleProRes4444 | 5 |\n| AppleProRes4444XQ | 6 |\n| H264 | 7 |\n| H265 | 8 |\n| MJPEG | 9 |\n| Undefined | 10 |\n\n## EnumSpecTiffCompression\n\n| Property | Value |\n| --- | --- |\n| NONE | 0 |\n| LZW | 1 |\n| ZIP | 2 |\n\n## EnumSpecFileExtension\n\n| Property | Value |\n| --- | --- |\n| JPG | 1 |\n| JPEG | 2 |\n| PNG | 3 |\n| PSD | 4 |\n| TIF | 5 |\n| TIFF | 6 |\n| ESP | 7 |\n| PDF | 8 |\n| GIF | 9 |\n| WEBP | 10 |\n| EIP | 11 |\n| PSB | 12 |\n| MOV | 30 |\n| MP4 | 31 |\n\n## EnumSpecCroppingMethod\n\n| Property | Value |\n| --- | --- |\n| PaddingAlignment | 1 |\n| CroppingGuide | 2 |\n\n## EnumSpecVerticalAlignment\n\n| Property | Value |\n| --- | --- |\n| Top | 1 |\n| Bottom | 2 |\n| Center | 3 |\n\n## EnumSpecBackgroundColorType\n\n| Property | Value |\n| --- | --- |\n| NoChange | 1 |\n| Transparent | 2 |\n| Color | 3 |\n\n## EnumTaskProcessOutputResultType\n\n| Property | Value |\n| --- | --- |\n| ProcessNewAsset | 1 |\n| BringInputToOutput | 2 |\n| SkipOutput | 3 |\n\n## EnumTaskProcessCropInfoUpdateType\n\n| Property | Value |\n| --- | --- |\n| MaintainCropInfo | 1 |\n| RemoveCropInfo | 2 |\n| UpdateCropInfo | 3 |\n\n## EnumCaptureSearchResult\n\n| Property | Value |\n| --- | --- |\n| Found | 1 |\n| NotFound | 2 |\n| MultipleType | 3 |\n| UserNotHavePermissionOnData | 4 |\n| ErrorProcess | 5 |\n| NotFoundshootingType | 6 |\n\n## EnumTempFileValidationError\n\n| Property | Value |\n| --- | --- |\n| InvalidFileName | 1 |\n| InvalidFileExtension | 2 |\n| InvalidMd5 | 3 |\n| TempFileIdNotSavedDatabase | 4 |\n| NonMatchPhysicalFileType | 5 |\n| FileNotExistedOnS3 | 6 |\n| NonMatchFileSize | 7 |\n| DestinationFileKeyInvalid | 8 |\n| ClientNotMatch | 9 |\n| AssignUserNotMatch | 10 |\n| InvalidLocalId | 11 |\n| InvalidFileLength | 12 |\n| InvalidPhysicalFileId | 13 |\n| InvalidClientId | 14 |\n\n## EnumCaptureSubmitTaskResultCode\n\n| Property | Value |\n| --- | --- |\n| Success | 1 |\n| TaskDone | 2 |\n| InvalidTask | 3 |\n| InvalidData | 4 |\n| FilesNotReady | 5 |\n| ProductUnitDeleted | 6 |\n| WorkUnitDeleted | 7 |\n| TaskDeleted | 8 |\n| TaskIsNotReady | 9 |\n| TaskNotFound | 10 |\n| PhotographySubmitPreSelectionFail | 11 |\n| PhotographySubmitPreByPositionFail | 12 |\n| PhotographySubmitFinalSelectionFail | 13 |\n| InvalidTeamId | 14 |\n| UserDataEmpty | 15 |\n| NotRightStep | 16 |\n| TaskAlreadyDone | 17 |\n| UserDataInvalid | 18 |\n| StyleGuideDataInvalid | 19 |\n| TaskNotAssigned | 20 |\n| InvalidFileName | 21 |\n| InvalidFileExtension | 22 |\n| InvalidMd5 | 23 |\n| TempFileIdNotSavedDatabase | 24 |\n| NonMatchPhysicalFileType | 25 |\n| FileNotExistedOnS3 | 26 |\n| NonMatchFileSize | 27 |\n| DestinationFileKeyInvalid | 28 |\n| ClientNotMatch | 29 |\n| AssignUserNotMatch | 30 |\n| FileSizeNotMeet | 50 |\n| MoveTempFileError | 51 |\n| InvalidAssets | 100 |\n| AssetNotExist | 101 |\n| NoAssetsFound | 102 |\n| AssetsDuplicate | 103 |\n| RequiredOnlyOneMainAsset | 104 |\n| RequiredMainAsset | 105 |\n| ColorReferenceFileInvalid | 120 |\n| ColorReferenceRequired | 121 |\n| ColorReferenceNotRequired | 122 |\n| ResourceAssetIdDuplicated | 123 |\n| ResourceAssetIdInvalid | 124 |\n| InvalidMaxColorReference | 126 |\n| StepConfigInvalid | 151 |\n| FinalSelectionAlreadyDoneOnKelvin | 152 |\n| FinalSelectionAlreadyDoneOnGamma | 153 |\n| PreSelectionByPositionAlreadyDone | 154 |\n| WorkUnitAssignedForVendorInPhotographyStep | 155 |\n| NotSupportCurrentWorkflowAction | 200 |\n| ProductSampleNotFound | 300 |\n| ProductIgnore | 301 |\n| ShootingTypeOrPositionHasBeenDisabled | 320 |\n| GroupNotFound | 401 |\n| PositionNotFound | 402 |\n| NumberOfAssetNotMatchRange | 403 |\n| NumberOfAlternativeAssetNotMatchMin | 404 |\n| AlternativeAssetNotEnabled | 405 |\n| NumberOfAssetNotMatchMin | 406 |\n| GhostMannequinNotAllowAlternative | 407 |\n| RatingOutOfRange | 408 |\n| InvalidLocationId | 409 |\n| NoSupportForEipTaskInput | 413 |\n| InternalError | 500 |\n\n## EnumPhysicalFileType\n\n| Property | Value |\n| --- | --- |\n| Undefined | 0 |\n| Asset | 2 |\n| Product | 3 |\n| ProductSample | 4 |\n| Outfit | 5 |\n| StyleGuide | 6 |\n| Preset | 7 |\n| Marking | 8 |\n| Datasource | 9 |\n| Vendor | 10 |\n| EditorialDocument | 101 |\n\n## EnumRoleId\n\n| Property | Value |\n| --- | --- |\n| Primary | 1 |\n| Secondary | 2 |\n\n## EnumSourceType\n\n| Property | Value |\n| --- | --- |\n| PhotoProduction | 1 |\n| VendorProvided | 2 |\n\n## EnumAssetAttribute\n\n| Property | Value | Description |\n| --- | --- | --- |\n| Normal | 0 | This is the typical image shoot. The number of images must be in range \\[minShots, maxShots\\] |\n| Inclip | 1 | This is a special asset that only being use for the ghost mannequin shoot. Only submit if \"positionSettingType\" = 1 (GhostMannequin) |\n| Alternative | 4 | This is an alternative shoot for the Normal. Only submit if \"isEnforceAlts\" = true, and the number of alternative images must ≥ minShotAlts |\n| NonSelected | 8 | User don't select this asset to submit, but just want to keep it for further reference |\n\n## EnumWorkflowEngineVersion\n\n| Property | Value |\n| --- | --- |\n| Version 1 | 1 |\n| Version 2 | 2 |\n\n## EnumStyleGuideState\n\n| Property | Value |\n| --- | --- |\n| Disabled | 0 |\n| Enabled | 1 |\n\n## EnumChangeSourceErrorCode\n\n| Property | Value |\n| --- | --- |\n| InternalServerError | 1 |\n| WorkUnitNotExisted | 2 |\n| PhotographyStepAlreadyDone | 3 |\n| VendorTeamRequired | 4 |\n| PhotoProductionTypeRequired | 6 |\n| InvalidVpiDueDatetime | 7 |\n| ProductInActive | 8 |\n| InvalidVendorTeam | 9 |\n\n## EnumPositionSettingType\n\n| Property | Value |\n| --- | --- |\n| Normal | 0 |\n| GhostMannequin | 1 |\n\n## EnumProductionTypeCategory\n\n| Property | Value |\n| --- | --- |\n| None | 0 |\n| ModelProduction | 10 |\n| StillLifeProduction | 20 |\n| Video | 30 |\n| VPI | 40 |\n\n## EnumProductionTypeCategory\n\n| Property | Value |\n| --- | --- |\n| OverWrite | 0 |\n| Update/Append | 1 |\n\n## EnumDeleteJobErrorCode\n\n| Property | Value |\n| --- | --- |\n| InternalServerError | 1 |\n| JobNotExisted | 3 |\n| ProductBeUsedInOtherJob | 4 |\n\n## EnumDeleteProductErrorCode\n\n| Property | Value |\n| --- | --- |\n| InternalServerError | 1 |\n| ProductBeUsedInOtherJob | 4 |\n| ProductNotExisted | 5 |\n\n## EnumEditorialProjectStatus\n\n| Property | Value |\n| --- | --- |\n| Todo | 2000 |\n| InProgress | 3000 |\n| Done | 9000 |\n\n## EnumEditorialDeliverableStatus\n\n| Property | Value |\n| --- | --- |\n| Todo | 2000 |\n| InProgress | 3000 |\n| Done | 9000 |\n\n## EnumEditorialAssignAssetErrorCode\n\n| Property | Value |\n| --- | --- |\n| FileNotFound | 1 |\n\n## EnumGetJobStatusOverview\n\n| Property | Value |\n| --- | --- |\n| TooManyProducts | 1 |\n\n## EnumGetProductionStateErrorCode\n\n| Property | Value |\n| --- | --- |\n| ProductNotFound | 480 |\n\n## EnumUpdateProductionStateErrorCode\n\n| Property | Value |\n| --- | --- |\n| WorkUnitNotFound | 1361 |\n| DuplicateWorkUnitId | 1365 |\n| WorkUnitsNotSameProduct | 1367 |\n| PositionInvalid | 1368 |\n| ShootingTypeHaveBeenFinalSelection | 1371 |\n\n## EnumGetWorkUnitDetailErrorCode\n\n| Property | Value |\n| --- | --- |\n| WorkUnitNotFound | 1361 |\n\n## EnumUpdateWorkUnitErrorCode\n\n| Property | Value |\n| --- | --- |\n| WorkUnitNotFound | 1361 |\n| SomePropertiesNotfound | 1362 |\n| CustomPropertyValueTooLong | 1363 |\n| CustomPropertyValueFormatInvalid | 1364 |\n| CustomPropertyNumberExceedLimit | 1382 |\n\n## EnumResetWorkUnitErrorCode\n\n| Property | Value |\n| --- | --- |\n| WorkUnitNotFound | 1361 |\n| InvalidTargetStep | 1370 |\n\n## EnumListExternalPostTasksErrorCode\n\n| Property | Value |\n| --- | --- |\n| ContentCreationTypeNotExist | 1190 |\n| InvalidStepStatus | 1160 |\n| InvalidPostProductionVendorId | 1161 |\n| DuplicatedVendorTaskId | 1174 |\n| LimitedNumberOfVendorInformationDetails | 1175 |\n\n## EnumStartExternalPostTaskErrorCode\n\n| Property | Value |\n| --- | --- |\n| TaskNotFound | 927 |\n| NotRightStep | 1162 |\n| StatusNotMeet | 1164 |\n| ProductIgnore | 1165 |\n| ShootingTypeOrPositionHasBeenDisabled | 1166 |\n| NotRightPostProductionType | 1163 |\n| LimitedNumberOfVendorInformationDetails | 1196 |\n| DuplicateVendorTaskId | 1197 |\n\n## EnumUpdateVendorInfoExternalPostTaskErrorCode\n\n| Property | Value |\n| --- | --- |\n| TaskNotFound | 927 |\n| NotRightStep | 1162 |\n| StatusNotMeet | 1164 |\n| ProductIgnore | 1165 |\n| ShootingTypeOrPositionHasBeenDisabled | 1166 |\n| NotRightPostProductionType | 1163 |\n| LimitedNumberOfVendorInformationDetails | 1196 |\n| DuplicateVendorTaskId | 1197 |\n\n## EnumGetExternalPostTaskDetailErrorCode\n\n| Property | Value |\n| --- | --- |\n| TaskNotFound | 927 |\n| NotRightStep | 1162 |\n| StatusNotMeet | 1164 |\n| ProductIgnore | 1165 |\n| ShootingTypeOrPositionHasBeenDisabled | 1166 |\n| NotRightPostProductionType | 1163 |\n\n## EnumGetExternalPostTaskAnnotationErrorCode\n\n| Property | Value |\n| --- | --- |\n| TaskNotFound | 927 |\n| NotRightStep | 1162 |\n| StatusNotMeet | 1164 |\n| ProductIgnore | 1165 |\n| ShootingTypeOrPositionHasBeenDisabled | 1166 |\n| NotRightPostProductionType | 1163 |\n\n## EnumSubmitExternalPostTaskErrorCode\n\n| Property | Value |\n| --- | --- |\n| TaskNotFound | 927 |\n| TempFileIdNotSavedDatabase | 1061 |\n| FileNotExistedOnS3 | 1063 |\n| InvalidPostProductionVendorId | 1161 |\n| NotRightStep | 1162 |\n| NotRightPostProductionType | 1163 |\n| StatusNotMeet | 1164 |\n| ProductIgnore | 1165 |\n| ShootingTypeOrPositionHasBeenDisabled | 1166 |\n| NotMatchExpectedOutputAssets | 1167 |\n| InputAssetsDuplicated | 1168 |\n| SpecNotFound | 1171 |\n| InputAssetInvalid | 1172 |\n| SpecInvalid | 1173 |\n\n## EnumEditorialStartExternalPostTaskErrorCode\n\n| Property | Value |\n| --- | --- |\n| TaskNotFound | 927 |\n| StatusNotMeet | 1164 |\n\n## EnumEditorialGetExternalPostTaskDetailErrorCode\n\n| Property | Value |\n| --- | --- |\n| TaskNotFound | 927 |\n| StatusNotMeet | 1164 |\n\n## EnumEditorialSubmitExternalPostTaskErrorCode\n\n| Property | Value |\n| --- | --- |\n| TaskNotFound | 927 |\n| TempFileIdNotSavedDatabase | 1061 |\n| FileNotExistedOnS3 | 1063 |\n| StatusNotMeet | 1164 |\n| NotMatchExpectedOutputAssets | 1167 |\n| InputAssetsDuplicated | 1168 |\n| InputAssetInvalid | 1172 |\n| SpecInvalid | 1173 |\n\n## EnumDeleteWorkUnitErrorCode\n\n| Property | Value |\n| --- | --- |\n| WorkUnitNotFound | 1361 |\n| LastWorkUnitInProductionType | 1374 |\n| ProductIsWaitingForSample | 1379 |\n\n## EnumDeleteOutfitErrorCode\n\n| Property | Value |\n| --- | --- |\n| WorkUnitNotFound | 1361 |\n| OutfitNotBelongToAnyWorkUnit | 1376 |\n| ProductIsWaitingForSample | 1379 |\n\n## EnumCreateOutfitErrorCode\n\n| Property | Value |\n| --- | --- |\n| ProductIgnore | 1165 |\n| RequiredProductNotSlytingItem | 1372 |\n| ProductAndProductSampleNotSamePool | 1373 |\n| ProductionTypeNotInProduct | 1378 |\n| ProductIsWaitingForSample | 1379 |\n| RequiredNotSecondaryProduct | 1377 |\n\n## EnumAddProductsToOutfitErrorCode\n\n| Property | Value |\n| --- | --- |\n| NotValidData | 735 |\n| ProductIsNotSameClientWithOutfit | 738 |\n| ProductNotExist | 745 |\n| DuplicateProduct | 749 |\n| InvalidOutfit | 747 |\n| ProductIgnore | 1165 |\n| ProductAndProductSampleNotSamePool | 1373 |\n| ProductIsWaitingForSample | 1379 |\n| ProductExistedInOutfit | 748 |\n\n## EnumGetTaskAnnotationErrorCode\n\n| Property | Value |\n| --- | --- |\n| TaskNotFound | 927 |\n| ProductIgnore | 1165 |\n| ShootingTypeOrPositionHasBeenDisabled | 1166 |\n\n## EnumListTaskErrorCode\n\n| Property | Value |\n| --- | --- |\n| ContentCreationTypeNotExist | 1190 |\n| InvalidStepStatus | 1160 |\n\n## EnumDeleteProductSampleErrorCode\n\n| Property | Value |\n| --- | --- |\n| ProductSampleInUsed | 12 |\n| ProductSampleNotFound | 13 |\n| ProductRequireAtLeastAProductSample | 14 |\n\n## EnumSkill\n\n| Property | Value |\n| --- | --- |\n| OutfitCombination | 1 |\n| QualityControl_ExternalPostProduction | 2 |\n| Assistant | 3 |\n| Photographer | 4 |\n| ArtDirector | 5 |\n| Stylist | 6 |\n| HairAndMakeup | 7 |\n| Retouching | 8 |\n| QualityControl_InternalPostProduction | 9 |\n| Writing | 10 |\n| Model | 12 |\n| ImageRequest | 14 |\n| TextRequest | 15 |\n| ProjectManager | 16 |\n| DeliverableOwner | 17 |\n| Videographer | 18 |\n| Producer | 19 |\n| PostReview | 20 |\n| DigitalProcessing | 21 |\n\n## EnumPlanningStatusCode\n\n| Property | Value |\n| --- | --- |\n| Success | 0 |\n| NotSuccess | 1 |\n| InternalServerError | 2 |\n| UserCancel | 3 |\n| InvalidData | 4 |\n| InfrastructureError | 5 |\n| DistributedLockTimeout | 6 |\n| RequiredUpdateToNewerVersion | 7 |\n| IpRestriction | 8 |\n| Timeout | 9 |\n| ModelBindingError | 10 |\n| DuplicateInput | 11 |\n| ReachLimitPerRequest | 12 |\n| SessionReachedHardLimit | 20 |\n| SessionNotFound | 50 |\n| ProductionsWereAssigned | 60 |\n| ProductionsNotExist | 61 |\n| ProductionsNotExistInSourceSession | 62 |\n| AssignedUser | 200 |\n| TeamMemberNotExist | 201 |\n| SessionNameTooLong | 210 |\n| SessionDescriptionTooLong | 211 |\n| ContentCreationTypeIdInvalid | 212 |\n| ProductionTypeIdInvalid | 213 |\n| ProducerIdNotExisted | 214 |\n| LocationIdInvalid | 215 |\n| TimezoneInvalid | 216 |\n| TimeSlotsMustbeAtleastOne | 217 |\n| TimeSlotsOverLimit | 218 |\n| TimeSlotsInvalid | 219 |\n| TimeSlotsAreOverlapped | 220 |\n| TeamMembersOverLimit | 221 |\n| SkillIdNotExisted | 222 |\n| TeamMemberUserIdNotExisted | 223 |\n| UserIdIsNotMatchedToSkillId | 224 |\n| CustomPropertiesOverLimit | 225 |\n| CustomPropertyValueTooLong | 226 |\n| CustomPropertiesNotExisted | 227 |\n| CustomPropertyValueFormatInvalid | 228 |\n| SkillIdInvalid | 229 |\n| TeamMemberUserIdInvalid | 230 |\n| TimeSlotIdDoesNotExist | 231 |\n| CanNotChangeControlledClient | 232 |\n| ClientIdIsRequired | 233 |\n| ClientIdDoesNotExist | 234 |\n| ProductionDoesNotMatchControlledClient | 235 |\n| DoesNotHavePermissionOnSession | 900 |\n\n## EnumCreateTeamOnSetErrorCode\n\n| Property | Value |\n| --- | --- |\n| NoMembersFound | 2 |\n| UserInTeamInvalid | 3 |\n| UserHasMultipleSkills | 4 |\n\n## EnumGetTeamOnSetErrorCode\n\n| Property | Value |\n| --- | --- |\n| TeamNotFound | 5 |\n\n## EnumEmploymentType\n\n| Property | Value |\n| --- | --- |\n| Permanent | 10 |\n| Freelance | 20 |\n\n## **UserErrorCode**\n\n| Property | Value |\n| --- | --- |\n| USR-20 | Invalid Skill |\n| USR-7 | Invalid User |\n\n## EnumColorValue\n\n| Property | Value |\n| --- | --- |\n| Ruby (#E02020) | 1 |\n| Amber (#FA6400) | 2 |\n| Citrine (#F7B500) | 3 |\n| Emerald (#6DD400) | 4 |\n| Amazonite (#44D7B6) | 5 |\n| Apatite (#32C5FF) | 6 |\n| Sapphire (#0091FF) | 7 |\n| Lolite (#6236FF) | 8 |\n| Amethyst (#B620E0) | 9 |\n| Graphite (#6D7278) | 10 |\n| White (#FFFFFF) | 11 |\n| Black (#000000) | 12 |\n\n## EnumAddAnnotationErrorCode\n\n| Property | Value |\n| --- | --- |\n| InvalidAnnotationType | 1 |\n| InvalidAssetId | 2 |\n| AssetIdNotExisted | 3 |\n| InvalidMarkingFileId | 4 |\n| InvalidAnnotationItemType | 5 |\n| InvalidAnnotationId | 6 |\n| InvalidAnnotationItemId | 7 |\n| InvalidAnnotationItemInput | 8 |\n| InvalidAnnotationInputData | 9 |\n| InvalidColorId | 10 |\n\n## EnumRejectTaskErrorCode\n\n| Property | Value |\n| --- | --- |\n| TransitionNotFound | 890 |\n| TargetRejectStepInvalid | 891 |\n| RejectAssetIdInvalid | 892 |\n| TargetRejectStepNotDone | 893 |\n| RequiredRejectAssetId | 894 |\n\n## EnumCopywritingQcFlag\n\n| Property | Value |\n| --- | --- |\n| Grammar | 1 |\n| Wording | 2 |\n| Keywords | 3 |\n| TextCorrection | 4 |\n| MissingInformation | 5 |\n\n## EnumGetTaskProcessDetailErrorCode\n\n| Property | Value |\n| --- | --- |\n| WorkUnitDisabled | 1366 |\n| TaskProcessNotFound | 1540 |\n| ProductIgnore | 1165 |\n\n## EnumSubmitTaskProcessErrorCode\n\n| Property | Value |\n| --- | --- |\n| WorkUnitDisabled | 1366 |\n| TaskProcessNotFound | 1540 |\n| ProductIgnore | 1165 |\n| TaskProcessAlreadyDone | 1543 |\n| TaskProcessAlreadFailed | 1548 |\n| InvalidSubmitOutputAsset | 1541 |\n| NotEnoughSubmittedAsset | 1542 |\n| OutputNeedAtLeastOneNormalAsset | 1544 |\n| NewOutputAssetShouldNotBeSameInput | 1545 |\n| SubmitCropInfoInvaid | 1546 |\n| InvalidFileFormat | 817 |\n| TempFileIdNotSavedDatabase | 1077 |\n| FileNotExistedOnS3 | 1079 |\n| CreateOutputAssetFails | 1192 |\n\n## EnumUpdateTaskProcessStatusErrorCode\n\n| Property | Value |\n| --- | --- |\n| WorkUnitDisabled | 1366 |\n| TaskProcessNotFound | 1540 |\n| ProductIgnore | 1165 |\n| TaskProcessAlreadyDone | 1543 |\n| TaskProcessAlreadFailed | 1548 |\n| InvalidUpdateProcessStatus | 1547 |\n\n## EnumLocationType\n\n| Property | Value |\n| --- | --- |\n| Studio | 1 |\n| Set | 2 |\n| Wardrobe | 3 |\n| Distribution Center | 4 |\n| Stock Room | 5 |\n| Styling | 6 |\n| Preparation | 7 |\n| Other | 100 |\n\n## EnumContainerType\n\n| Property | Value |\n| --- | --- |\n| Rail | 1 |\n| Box | 2 |\n\n## EnumContainerStatus\n\n| Property | Value |\n| --- | --- |\n| New | 1 |\n| Active | 2 |\n\n## EnumChangeProductStyleGuideErrorCode\n\n| Property | Value |\n| --- | --- |\n| ProductNotFound | 480 |\n| ProductionIgnored | 887 |\n| ProductStatusNotMatch | 889 |\n| StyleGuideNotFound | 1035 |\n| StyleGuideInvalid | 1036 |\n| StyleGuideInfoIsRequired (If both styleGuideId and StyleGuideName are null) | 1193 |\n| StyleGuideIsDisabled | 1194 |\n| StyleGuideNotFoundInProductClient | 1195 |\n\n## EnumDetectedLabelType\n\n| Property | Value |\n| --- | --- |\n| GarmentLabel | 1 |\n\n## EnumProductAddColorReferencesErrorCode\n\n| Property | Value |\n| --- | --- |\n| ProductIdInvalid | 1 |\n| UploadedFileDoesNotExisted | 5 |\n| SomeTempFilesBelongToOtherClient | 10 |\n| TempFileExtensionInvalid | 11 |\n| LimitedColorReferenceFiles | 23 |\n\n## EnumProductDeleteColorReferencesErrorCode\n\n| Property | Value |\n| --- | --- |\n| ProductIdInvalid | 1 |\n\n# Detail Error Code\n\n### Create Job\n\n| Error Code | Message | Validation Rule |\n| --- | --- | --- |\n| JOB-2 | NameIsEmpty | JobName is a null, empty or whitespace string |\n| JOB-3 | JobCodeIsEmpty | JobCode is a null, empty or whitespace string |\n| PER-3 | UserNotHavePermissionOnClient | The user does not have permission to access the specified client |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom number property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| CPR-15 | CustomPropertyNumberExceedLimit | Custom number property value > 99999999999.9999 or < -99999999999.9999 |\n\n### Update Job by JobID\n\n| Error Code | Message | Validation Rule |\n| --- | --- | --- |\n| GEN-4 | Invalid data | Job not found |\n| JOB-1 | InvalidData | Job name is empty |\n| JOB-2 | NameIsEmpty | Job name is null or empty |\n| JOB-3 | JobCodeIsEmpty | Job code is null or empty |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom number property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| CPR-15 | CustomPropertyNumberExceedLimit | Custom number property value > 99999999999.9999 or < -99999999999.9999 |\n\n### Add Products\n\n| Error Code | Message | Validation Rule |\n| --- | --- | --- |\n| ENU-9 | NoProductBeImported | Products is null or empty |\n| IMP-2 | InvalidJob | Job not found or job type = “EnumJobType.SyncedFromDatasource” |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| CPR-15 | CustomPropertyNumberExceedLimit | Custom number property value > 99999999999.9999 or < -99999999999.9999 |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| CPR-15 | CustomPropertyNumberExceedLimit | Custom number property value > 99999999999.9999 or < -99999999999.9999 |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| CPR-15 | CustomPropertyNumberExceedLimit | Custom number property value > 99999999999.9999 or < -99999999999.9999 |\n| IMP-3 | ProductCodeRequired | Product code is null or empty |\n| IMP-5 | EmptyOutfit | OutfitCode is null or empty, or ProductionTypeIds is empty, or OutfitProducts is empty, or CustomProperties is empty |\n| IMP-3 | ProductCodeRequired | Product code in outfit is null or empty |\n| IMP-4 | InvalidPropertyId | Property id not found |\n| IMP-4 | InvalidPropertyId | Property id not found |\n| IMP-4 | InvalidPropertyId | Property id not found |\n\n### Add Products by Sample Codes\n\n| Error Code | Message | Validation Rule |\n| --- | --- | --- |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| CPR-15 | CustomPropertyNumberExceedLimit | Custom number property value > 99999999999.9999 or < -99999999999.9999 |\n| GEN-4 | InvalidData | ExistingSampleActionId = 3 is not allowed |\n| GEN-4 | InvalidData | Sample code is null or empty |\n| GEN-4 | InvalidData | Job not found or Job type = SyncedFromDatasource |\n| GEN-2 | InternalServerError | Cannot get column map for import job |\n| GEN-4 | InvalidData | Import model does not exist, or import step != ColumnMap (1000) or import status != Finished (3000) |\n| GEN-4 | InvalidData | JobPropertySet.ClientId null or empty |\n| ENU-3 | EmptyOrTooLongJobName | Saved job import name is empty or too long |\n| ENU-10 | EmptyOrTooLongJobCode | Saved job import code is too long |\n| ENU-26 | JobCodeIsRequired | Saved job import code is empty or too long |\n| ENU-4 | MissingRequiredPropertyEntity | Product code property is required |\n| ENU-5 | DuplicatedMappingPropertyEntity | Property mapping is duplicated |\n| ENU-11 | InvalidJobCustomProperty | Job validated properties is not found Input job property is null Input job Custom properties id is duplicated Input job custom properties is not in valid property list Input job custom properties is in ignore reserve property list Input job custom properties has value that exceed length limit (2048) |\n\n### Update Product\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom number property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| CPR-15 | CustomPropertyNumberExceedLimit | Custom number property value > 99999999999.9999 or < -99999999999.9999 |\n| GEN-4 | InvalidData | Product does not exist. |\n| PRO-PROP-7 | ProductInProcessing | Cannot update category while product is in processing. |\n| PRO-PROP-3 | CategoryNotFound | Category not found. |\n| PRO-PROP-9 | SomePropertiesNotfound | Some properties not found. |\n| PRO-PROP-4 | ProductCodeExisted | Duplicate product code in the same job. |\n| PRO-PROP-10 | ProductSamplePoolIsBeingUsedByAnotherProduct | Cannot update product code if its sample pools is used by other products |\n\n### Update Product State\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| GEN-4 | InvalidData | Product does not exist. |\n| PRO-1 | ProductHadDone | Cannot update product state while product status is done. |\n\n### Add Samples\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| GEN-4 | InvalidData | List sample is null or empty. |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| CPR-15 | CustomPropertyNumberExceedLimit | Custom number property value > 99999999999.9999 or < -99999999999.9999 |\n| GEN-4 | InvalidData | Product does not exist Or product unit status is Done (9000) |\n\n### Delete Products\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| BadRequest (400) | Invalid data | ProductIds is null. |\n| BadRequest (400) | Number of items should be <= 100 | ProductIds length is exceed max request allowed |\n| 4 |  | The deleting products is used in other jobs. |\n| 5 |  | The deleting products does not exist. |\n\n### Update Sample Type\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n|  | ProductSampleNotFound | ProductSample does not exist. |\n|  | SampleAlreadyAtTargetType | ProductSample already at the target update type |\n|  | CannotFindRelevantProductCode | Cannot find the product code that is relevant to the sample pool. |\n\n### Delete Samples\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| BadRequest (400) | Invalid data | SampleIds is null empty or length > 100. |\n| 13 |  | Product sample not found. |\n| 14 |  | One product must always have at least one sample associated with it |\n\n### Change Samples Location\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| LOC-24 | AtLeastSampleIdsOrProductIdsMustNotBeEmpty | At least SampleIds or ProductIds must not be empty. |\n| LOC-14 | SampleIdsOverLimit | SampleIds count exceed limit ( > 100) |\n| LOC-25 | ProductIdsOverLimit | ProductIds count exceed limit ( > 20) |\n| LOC-26 | SampleIdsGetByProductOverLimit | Count of sample that get by ProductIds is exceed limit ( > 200) |\n| LOC-3 | InvalidLocation | Location does not exist. |\n| LOC-15 | LocationIsDisabled | Location is disabled. |\n| LOC-27 | ProductIdsNotExisted | Some products do not exist. No sample is found by ProductIds. |\n| LOC-16 | SampleIdsNotExsited | Some samples do not exist. |\n| LOC-23 | SamplesNeedToBeReleased | Sample is included in the container and needs to be released before changing location. |\n\n### Change Samples Container\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| CON-1 | InvalidData | SampleIds are null or empty.. |\n| ENU-4 | SampleIdsReachHardLimit | SampleIds length exceed limit ( > 100) |\n| ENU-1 | SampleIsNotExisted | Cannot find any sample that matches SampleIds. |\n| CON-3 | ContainerDoesNotExist | The target container does not exist. |\n| CON-7 | ContainerIsDisabled | The target container is disabled. |\n\n### Create Containers\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| CON-6 | InvalidContainerTypeId | Container type id is invalid. |\n| CON-1 | InvalidData | Codes is a null or empty list. |\n| CON-5 | ContainerCodesReachLimit | Codes length has reached a limit ( > 50). |\n| CON-1 | InvalidData | All codes are not in standard format. |\n| CON-10 | ContainerCodeIsEmpty | Some code is a null or empty string. |\n| CON-8 | ContainerCodeExceeds128Characters | Some code has reached limit string length (> 128) |\n| CON-2 | ContainerCodeDuplicate | Some code is duplicated in the list. |\n| CON-2 | ContainerCodeDuplicate | Some code already exists. |\n\n### Get Container Detail\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| CON-3 | ContainerDoesNotExist | Container does not exist. |\n\n### Update Container\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| CON-6 | InvalidContainerTypeId | Container type id is invalid. |\n| CON-3 | ContainerDoesNotExist | Container does not exist. |\n| CON-1 | InvalidData | Codes is a null or empty list. |\n| CON-5 | ContainerCodesReachLimit | Codes length has reached a limit ( > 50). |\n| CON-1 | InvalidData | All codes are not in standard format. |\n| CON-10 | ContainerCodeIsEmpty | Some code is a null or empty string. |\n| CON-8 | ContainerCodeExceeds128Characters | Some code has reached limit string length (> 128) |\n| CON-2 | ContainerCodeDuplicate | Some code is duplicated in the list. |\n| CON-2 | ContainerCodeDuplicate | Some code already exists. |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n\n### Move Containers\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| CON-11 | InvalidContainerIds | ContainerIds is a null or empty list. |\n| CON-9 | ContainerIdsReachLimit | ContainerIds has reached limit length ( > 50) |\n| CON-9 | ContainerIdsReachLimit | ContainerIds has reached limit length ( > 50) |\n| CON-3 | InvalidLocation | The target location does not exist. |\n| CON-3 | ContainerDoesNotExist | Some containers do not exist. |\n\n### Create Location\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| LOC-5 | InvalidLocationType | Location type id is invalid, not in the enum values. |\n| LOC-2 | NameIsNullOrEmpty | Location name is null or empty string. |\n| LOC-1 | DuplicatedName | Location name is duplicated in the same parent location. |\n| LOC-18 | LocationNameExceeds256Characters | Location name reach the limit string length ( > 256) |\n| LOC-17 | InvalidLocationCode | Location code is not standard, and has special characters. |\n| LOC-4 | DuplicatedCode | Location code is duplicated.. |\n| LOC-19 | LocationCodeExceeds256Characters | Location code reach the limit string length ( > 256) |\n| LOC-20 | AddressExceeds256Characters | Address reach the limit string length ( > 256) |\n| LOC-21 | ZipCodeExceeds64Characters | ZipCode reach the limit string length ( > 64) |\n| LOC-22 | CityExceeds1024Characters | City reach the limit string length ( > 1024) |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| LOC-7 | InvalidCountryCode | The country code does not match the standard ISO country code. |\n\n### Create Sub-Location\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| LOC-11 | InvalidParentLocation | Parent location does not exist. |\n| LOC-11 | InvalidParentLocation | Cannot add a sub location to a sub location. |\n| LOC-5 | InvalidLocationType | Location type id is invalid, not in the enum values. |\n| LOC-2 | NameIsNullOrEmpty | Location name is null or empty string. |\n| LOC-1 | DuplicatedName | Location name is duplicated in the same parent location. |\n| LOC-18 | LocationNameExceeds256Characters | Location name reach the limit string length ( > 256) |\n| LOC-17 | InvalidLocationCode | Location code is not standard, and has special characters. |\n| LOC-4 | DuplicatedCode | Location code is duplicated.. |\n| LOC-19 | LocationCodeExceeds256Characters | Location code reach the limit string length ( > 256) |\n| LOC-20 | AddressExceeds256Characters | Address reach the limit string length ( > 256) |\n| LOC-21 | ZipCodeExceeds64Characters | ZipCode reach the limit string length ( > 64) |\n| LOC-22 | CityExceeds1024Characters | City reach the limit string length ( > 1024) |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| LOC-7 | InvalidCountryCode | The country code does not match the standard ISO country code. |\n\n### Get Location Detail\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| LOC-3 | InvalidLocation | Location does not exist. |\n\n### Update Location\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| LOC-3 | InvalidLocation | Location does not exist. |\n| LOC-5 | InvalidLocationType | Location type id is invalid, not in the enum values. |\n| LOC-2 | NameIsNullOrEmpty | Location name is null or empty string. |\n| LOC-1 | DuplicatedName | Location name is duplicated in the same parent location. |\n| LOC-18 | LocationNameExceeds256Characters | Location name reach the limit string length ( > 256) |\n| LOC-17 | InvalidLocationCode | Location code is not standard, and has special characters. |\n| LOC-4 | DuplicatedCode | Location code is duplicated.. |\n| LOC-19 | LocationCodeExceeds256Characters | Location code reach the limit string length ( > 256) |\n| LOC-20 | AddressExceeds256Characters | Address reach the limit string length ( > 256) |\n| LOC-21 | ZipCodeExceeds64Characters | ZipCode reach the limit string length ( > 64) |\n| LOC-22 | CityExceeds1024Characters | City reach the limit string length ( > 1024) |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| LOC-6 | ContainerUsedLocation | Cannot disable a location that is used in a container. |\n| LOC-7 | InvalidCountryCode | The country code does not match the standard ISO country code. |\n\n### Delete Location\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| LOC-3 | InvalidLocation | The location does not exist. |\n| LOC-6 | ContainerUsedLocation | The location is currently in use by a container |\n\n### Import Props\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| PER-3 | UserNotHavePermissionOnClient | The user does not have permission to access the specified client |\n| IMP-9 | NoProductBeImported | The styling import request contains no products to import |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom datetime property value |\n| CPR-12 | CustomPropertyValueFormatInvalid | Validate custom number property value |\n| CPR-13 | CustomPropertyValueTooLong | Custom property value length > 2048 |\n| CPR-15 | CustomPropertyNumberExceedLimit | Custom number property value > 99999999999.9999 or < -99999999999.9999 |\n\n### Get \"Import Props\" Status\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| GEN-4 | InvalidData | Cannot find import session by clientId and importId |\n\n### Create Session\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 210 | SessionNameTooLong | Session name exceeds maximum length of 256 characters |\n| 211 | SessionDescriptionTooLong | Session description exceeds maximum length of 1024 characters |\n| 212 | ContentCreationTypeIdInvalid | Content creation type must be either 1 (Ecomm) or 2 (Editorial) |\n| 213 | ProductionTypeIdInvalid | For Ecomm content type: The provided studio shooting type ID does not exist for your PhotoStudio; For Editorial content type: Production type ID is not allowed |\n| 214 | ProducerIdNotExisted | Producer does not exist in the system |\n| 215 | LocationIdInvalid | Location does not exist or is not of type \"Set\" |\n| 216 | TimezoneInvalid | Provided time zone is not a valid IANA time zone ID |\n| 217 | TimeSlotsMustbeAtleastOne | No time slots provided in the request |\n| 218 | TimeSlotsOverLimit | Number of time slots exceeds the maximum limit (Maximum: 20 items) |\n| 219 | TimeSlotsInvalid | Time slot has invalid start/end times (start time must be before end time, times cannot be DateTime.MinValue or DateTime.MaxValue) or duration exceeds 24 hours |\n| 220 | TimeSlotsAreOverlapped | Time slots are overlapping with each other |\n| 221 | TeamMembersOverLimit | Number of team members exceeds the maximum limit (Maximum: 50 items) |\n| 229 | SkillIdInvalid | Skill ID must be greater than 0 |\n| 230 | TeamMemberUserIdInvalid | Team member user ID is not a valid GUID |\n| 222 | SkillIdNotExisted | Skill ID does not exist in the EnumSkill definition |\n| 223 | TeamMemberUserIdNotExisted | Team member user does not exist or is not active in the system |\n| 224 | UserIdIsNotMatchedToSkillId | User does not have the specified skill assigned |\n| 226 | CustomPropertyValueTooLong | Custom property value exceeds maximum allowed length (Maximum: 2048 characters) |\n| 225 | CustomPropertiesOverLitmit | Number of custom properties exceeds the system hard limit |\n| 227 | CustomPropertiesNotExisted | One or more custom property IDs do not exist |\n| 228 | CustomPropertyValueFormatInvalid | Custom property value format does not match expected format for the property type |\n| 236 | CustomPropertyNumberExceedLimit | Custom property number value is outside the allowed range (Range: -99999999999.9999 to 99999999999.9999) |\n\n### Get Session Details\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 50 | SessionNotFound | Session ID does not exist |\n\n### Update Session\n\nSame validation rules as Create Session, plus:\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 50 | SessionNotFound | Session ID does not exist |\n| 231 | TimeSlotIdIsNotExisted | One or more time slot IDs do not exist in the session |\n\n### Delete Session\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 50 | SessionNotFound | Session ID does not exist |\n\n### Get Session Team Members\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 50 | SessionNotFound | Session ID does not exist |\n| 900 | DoesNotHavePermissionOnSession | User doesn't have permission to access the session |\n\n### Assign User to Session Team\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 50 | SessionNotFound | Session ID does not exist |\n| 900 | DoesNotHavePermissionOnSession | User doesn't have permission to access the session |\n| 4 | InvalidData. NewTeamMembers can not be null or empty | Array cannot be null or empty |\n| 12 | ReachLimitPerRequest. NewTeamMembers items must be less than 50 items | Maximum 50 team members per request |\n| 11 | DuplicateInput. Can not assign multiple skills for an UserId | Each user ID must be unique in the request |\n| 4 | InvalidData. UserId can not be null or empty | User ID must be a valid GUID |\n| 222 | SkillIdNotExisted. SkillId \\\\\\[value\\\\\\] | Skill ID must be a valid value defined in the EnumSkill enumeration |\n| 230 | TeamMemberUserIdInvalid | Team member user ID is invalid or missing |\n| 223 | TeamMemberUserIdNotExisted | Team member user does not exist or is not active in the system |\n| 200 | AssignedUser | One or more users are already assigned to the session |\n| 221 | TeamMembersOverLimit | Number of team members exceeds the maximum limit (Maximum: 50 items) |\n| 224 | UserIdIsNotMatchedToSkillId | User does not have the specified skill assigned to their profile |\n\n### Unassign User from Session Team\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 50 | SessionNotFound | Session ID does not exist |\n| 900 | DoesNotHavePermissionOnSession | User doesn't have permission to access the session |\n| 4 | InvalidData. SessionTeamMemberIds can not be null or empty | Array cannot be null or empty |\n| 12 | ReachLimitPerRequest. SessionTeamMemberIds items must be less than 50 items | Maximum 50 team member IDs per request |\n| 11 | DuplicateInput. Duplicate SessionTeamMemberIds items | Each team member ID must be unique in the request |\n| 4 | InvalidData. SessionTeamMemberIds item can not be null or empty | Each team member ID must be a valid GUID |\n| 201 | TeamMemberNotExist | One or more team member IDs do not exist in the session |\n\n### Update Session Team Data\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 50 | SessionNotFound | Session ID does not exist |\n| 900 | DoesNotHavePermissionOnSession | User doesn't have permission to access the session |\n| 4 | InvalidData. TeamMembers can not be null or empty | Array cannot be null or empty |\n| 12 | ReachLimitPerRequest. TeamMembers items must be less than 50 items | Maximum 50 team members per request |\n| 11 | DuplicateInput. Duplicate TeamMembers items | Each SessionTeamMemberId must be unique in the request |\n| 4 | InvalidData. SessionTeamMemberId can not be null or empty | Each session team member ID must be a valid GUID |\n| 201 | TeamMemberNotExist | One or more team member IDs do not exist in the session |\n| 229 | SkillIdInvalid | Skill ID must be greater than 0 |\n| 222 | SkillIdNotExisted | Skill ID must be a valid value defined in the EnumSkill enumeration |\n| 230 | TeamMemberUserIdInvalid | Team member user ID is invalid or missing |\n| 223 | TeamMemberUserIdNotExisted | Team member user does not exist or is not active in the system |\n| 224 | UserIdIsNotMatchedToSkillId | User does not have the specified skill assigned to their profile |\n\n### Get Production\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 50 | SessionNotFound | Session ID does not exist |\n| 900 | DoesNotHavePermissionOnSession | User doesn't have permission to access the session |\n\n### Assign Production to Session\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 4 | InvalidData. ProductionIds can not be null or empty | Array cannot be null or empty |\n| 4 | InvalidData. ProductionIds items can not be null or empty | Each production ID must be a valid GUID |\n| 12 | ReachLimitPerRequest. ProductionIds items must be less than 50 items | Maximum 50 production items per request |\n| 11 | DuplicateInput. Duplicate ProductionIds items | Each production item ID must be unique in the request |\n| 50 | SessionNotFound | Session ID does not exist |\n| 61 | ProductionsNotExistOrNotMatchProductionType | One or more production items do not exist or do not match the production type |\n| 235 | ProductionDoesNotMatchControlledClient | Production item does not match the controlled client |\n| 60 | ProductionsWereAssigned | One or more production items are already assigned to a session |\n| 20 | SessionReachedHardLimit | Session has reached the maximum limit of production items |\n| 900 | DoesNotHavePermissionOnSession | User doesn't have permission to access the session |\n\n### Unassign Production from Session\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 4 | InvalidData. ProductionIds can not be null or empty | Array cannot be null or empty |\n| 4 | InvalidData. ProductionIds items can not be null or empty | Each production ID must be a valid GUID |\n| 12 | ReachLimitPerRequest. ProductionIds items must be less than 50 items | Maximum 50 production items per request |\n| 11 | DuplicateInput. Duplicate ProductionIds items | Each production item ID must be unique in the request |\n| 50 | SessionNotFound | Session ID does not exist |\n| 62 | ProductionsNotExistInSourceSession | One or more production items are not assigned to the source session |\n| 900 | DoesNotHavePermissionOnSession | User doesn't have permission to access the session |\n\n### Move Production\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| 4 | InvalidData. OtherSessionId can not be null or empty | Other session ID must be a valid GUID |\n| 4 | InvalidData. ProductionIds can not be null or empty | Array cannot be null or empty |\n| 4 | InvalidData. ProductionIds items can not be null or empty | Each production ID must be a valid GUID |\n| 12 | ReachLimitPerRequest. ProductionIds items must be less than 50 items | Maximum 50 production items per request |\n| 11 | DuplicateInput. Duplicate ProductionIds items | Each production item ID must be unique in the request |\n| 51 | SourceSessionNotFound | Source session ID does not exist |\n| 52 | DestinationSessionNotFound | Destination session ID does not exist |\n| 62 | ProductionsNotExistInSourceSession | One or more production items are not assigned to the source session |\n| 20 | SessionReachedHardLimit | Session has reached the maximum limit of production items |\n| 61 | ProductionsNotExistOrNotMatchProductionType | One or more production items do not match the destination session's production type |\n| 235 | ProductionDoesNotMatchControlledClient | Production item does not match the controlled client in the destination session |\n| 900 | DoesNotHavePermissionOnSession | User doesn't have permission to access the session |\n\n### Unassign Copywriting task\n\n| Error Code | Message | Validation Rules |\n| --- | --- | --- |\n| COP-28 | PermissionDenied | The user does not have permission to perform this function |\n| COP-301 | InvalidStep | Task is not a Copywriting step or a Copywriting QC step |\n| COP-302 | InvalidTaskStatus | The current task status is invalid |\n| COP-304 | TaskNotAssigned | Task is not assigned |\n| COP-305 | TaskDoesNotExist | Task does not exist |","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"11561660","collectionId":"163f31a5-8ce7-4c5a-8603-ae56e4cdbb94","publishedId":"SztEa7D9","public":true,"publicUrl":"https://developers.creativeforce.io","privateUrl":"https://go.postman.co/documentation/11561660-163f31a5-8ce7-4c5a-8603-ae56e4cdbb94","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2021-07-27T17:01:35.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"Live","id":"fe7793e8-716d-403e-868e-2e721d4e2128","owner":"15489563","values":[{"key":"clientId","value":"75335ce7-b6be-4a5a-868a-0000","enabled":true},{"key":"unix-time","value":"1599333576093","enabled":true},{"key":"jobId","value":"9e13a79f-dfd8-4709-8c76-0000","enabled":true},{"key":"importId","value":"1392777c-54a6-41e0-97a0-0000","enabled":true},{"key":"productCode","value":"0FJIVXTCQW","enabled":true},{"key":"jobCode","value":"AW2020","enabled":true},{"key":"jobName","value":"Autumn 2020","enabled":true},{"key":"sampleId","value":"aa7b2a5e-1600-4764-ae99-0000","enabled":true},{"key":"productId","value":"d0da01a3-cd52-4d6a-93f5-0000","enabled":true},{"key":"client-id","value":"Paste the Application ID (From the APP registered in Gamma)","enabled":true},{"key":"client-secret","value":"Paste the Secret Key (From the APP registered in Gamma)","enabled":true},{"key":"callback-url","value":"Paste the Redirect URI (From the APP registered in Gamma)","enabled":true},{"key":"barcode","value":"0FJIVXTCQW","enabled":true,"type":"default"},{"key":"productionTypeId","value":"2","enabled":true,"type":"default"},{"key":"outfitId","value":"819d94ba-9f7c-4ca3-8bf7-0000","enabled":true,"type":"default"},{"key":"taskId","value":"3f34675e-75a6-4be0-a2b8-0000","enabled":true,"type":"text"},{"key":"samplePoolId","value":"017500c8-e637-4828-8fe9-0000","enabled":true,"type":"default"},{"key":"datasourceId","value":"144755e1-8fa0-4b2d-b114-0000","enabled":true,"type":"default"},{"key":"keyword","value":"a-keyword","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/b0f5213eab1d6d1a8d53041af03e258a29f1595f1af283abe5c97db09cd034dc","favicon":"https://res.cloudinary.com/postman/image/upload/v1662521582/team/j8sueka8bbnkfnntyhkt.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"Live","value":"15489563-fe7793e8-716d-403e-868e-2e721d4e2128"}],"canonicalUrl":"https://developers.creativeforce.io/view/metadata/SztEa7D9"}