{"openapi":"3.0.1","info":{"title":"Bluestone Bulk Operations","description":"To interact with bluestone bulk operations service.\n <b><h1>Deprecated endpoints:</h1></b><table border=\"1px;\"><tr><th style=\"text-align: center; vertical-align: middle;\"><b><h3>Uri</b></h3></th><th><b>Method</b></th><th><b><h3>Since</h3></b></th><th><b><h3>End of life</h3></b></th></tr></table>","version":"1-core"},"servers":[{"url":"api.bluestonepim.com/bulk-operations","description":"default"}],"tags":[{"name":"Jobs","description":"Job status and listing"},{"name":"Products","description":"Bulk product attributes operations"}],"paths":{"/products/attributes/update/by-numbers":{"post":{"tags":["Products"],"summary":"Bulk upsert product attributes by numbers","operationId":"upsertAttributesByNumbers","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpsertByNumbersRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{}},"400":{"description":"Bad Request\n\nThis response indicates that the server could not understand the request due to invalid syntax. It is typically triggered by client-side input errors such as improperly formatted requests, missing required fields, or invalid data values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"x-bluestone-allowed-user-types":["RESTRICTED","STANDARD"],"x-bluestone-permission":[{"module":"ATTRIBUTES","accessType":"ADD"},{"module":"ATTRIBUTES","accessType":"UPDATE"}],"security":[{"oauth2":[]}]}},"/products/attributes/update/by-numbers/{jobId}":{"get":{"tags":["Products"],"summary":"Get job details by ID","operationId":"getJobStatus","parameters":[{"name":"jobId","in":"path","required":true,"schema":{"$ref":"#/components/schemas/ObjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"400":{"description":"Bad Request\n\nThis response indicates that the server could not understand the request due to invalid syntax. It is typically triggered by client-side input errors such as improperly formatted requests, missing required fields, or invalid data values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oauth2":[]}]}}},"components":{"schemas":{"BulkUpsertByNumbersRequest":{"type":"object","properties":{"operations":{"type":"array","items":{"$ref":"#/components/schemas/UpsertAttributeByNumbersOperation"}}}},"UpsertAttributeByNumbersOperation":{"required":["definitionNumber","productNumber"],"type":"object","properties":{"productNumber":{"minLength":1,"type":"string"},"definitionNumber":{"minLength":1,"type":"string"},"contextId":{"type":"string"},"value":{"type":"string","nullable":true},"selectValueNumbers":{"type":"array","nullable":true,"items":{"type":"string"}},"dictionaryValueNumbers":{"type":"array","nullable":true,"items":{"type":"string"}}}},"ObjectId":{"type":"string"},"BulkJobIssue":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"error":{"$ref":"#/components/schemas/ErrorResponse"}}},"ConflictingEntity":{"type":"object","properties":{"entityId":{"title":"Identifier of the related entity causing the conflict","type":"string"},"entityType":{"title":"Type of the related entity causing the conflict","type":"string"}}},"ErrorDetails":{"type":"object","properties":{"message":{"title":"Error message.","type":"string"},"field":{"title":"Error related field.","type":"string"},"rejectedValue":{"title":"Invalid value causing error.","type":"string"},"entityId":{"title":"Identifier of the entity related to the error.","type":"string"},"entityType":{"title":"Type of the entity related to the error.","type":"string"}}},"ErrorResponse":{"type":"object","properties":{"status":{"title":"Error status code.","type":"integer","format":"int32"},"error":{"title":"General error description.","type":"string"},"errorDetails":{"title":"List of errors details.","type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"}},"requestId":{"title":"Request ID used for logging.","type":"string"},"timestamp":{"title":"Error timestamp.","type":"integer","format":"int64"},"conflictingEntities":{"title":"Additional entity id list related to error","type":"array","items":{"$ref":"#/components/schemas/ConflictingEntity"}},"quotaLimitExceededDetails":{"title":"Additional details related to quota limit exceeded errors","type":"array","items":{"$ref":"#/components/schemas/LimitExceededDetails"}}}},"JobResponse":{"type":"object","properties":{"status":{"type":"string","enum":["WAITING","EXECUTING","ERROR","COMPLETED","EXPIRED","COMPLETED_WITH_ISSUES"]},"issues":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/BulkJobIssue"}},"createdDate":{"type":"integer","format":"int64"},"startedDate":{"type":"integer","format":"int64","nullable":true},"finishedDate":{"type":"integer","format":"int64","nullable":true}}},"LimitExceededDetails":{"type":"object","properties":{"message":{"title":"Detailed quota error message","type":"string"},"quota":{"title":"Unique quota identifier","type":"string"},"limit":{"title":"Allowed limit","type":"integer","format":"int32"},"entityId":{"title":"ID of the entity that violated the quota","type":"string","nullable":true},"entityType":{"title":"Type of the entity that violated the quota","type":"string","nullable":true}}}},"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://idp.bluestonepim.com/op/token","scopes":{"openid profile systemRoles permissions organization email name nickname":"All needed scopes."}}}}}},"x-amazon-apigateway-api-key-source":"AUTHORIZER"}