{"openapi":"3.0.1","info":{"title":"v10 - Shared API","description":"The bol.com API shared logic.\n\n# Authentication\nOur API requires authentication via OAuth2. The detailed steps to authenticate are explained [here](https://api.bol.com/retailer/public/Retailer-API/authentication.html)\n\n# Demo scenarios\nOur API specification includes examples of the responses you can expect. For more information as well as more examples, we refer you to the following resources:\n- [Demo environment](https://api.bol.com/retailer/public/Retailer-API/demo/demo.html)\n- [Demo scenarios](https://api.bol.com/retailer/public/Retailer-API/demo/v10-index.html)\n","termsOfService":"https://api.bol.com/retailer/public/Retailer-API/legal/terms-of-service.html","contact":{"name":"developers.bol.com","url":"https://developers.bol.com"},"version":"10.x","x-logo":{"url":"https://api.bol.com/retailer/public/Retailer-API/_images/bolcom_logo.png","altText":"bol.com logo"}},"security":[{"OAuth2":[]}],"tags":[{"name":"Process Status","description":"Process status resource"}],"paths":{"/shared/process-status":{"get":{"tags":["Process Status"],"summary":"Get the status of an asynchronous process by entity id and event type for a retailer","description":"Retrieve a list of process statuses, which shows information regarding previously executed PUT/POST/DELETE requests in descending order. You need to supply an entity id and event type. Please note: process status instances are only retained for a limited period of time after completion. Outside of this period, deleted process statuses will no longer be returned. Please handle this accordingly, by stopping any active polling for these statuses.","operationId":"get-process-status-entity-id","parameters":[{"name":"entity-id","in":"query","description":"The entity id is not unique, so you will need to provide an event type. For example, an entity id can be an order item id, transport id, return number, replenishment id, campaign id, and keyword id.","required":true,"schema":{"type":"string"},"example":987654321},{"name":"event-type","in":"query","description":"The event type can only be used in combination with the entity id.","required":true,"schema":{"type":"string","enum":["CREATE_SHIPMENT","CANCEL_ORDER","CHANGE_TRANSPORT","HANDLE_RETURN_ITEM","CREATE_RETURN_ITEM","CREATE_INBOUND","DELETE_OFFER","CREATE_OFFER","UPDATE_OFFER","UPDATE_OFFER_STOCK","UPDATE_OFFER_PRICE","CREATE_OFFER_EXPORT","UNPUBLISHED_OFFER_REPORT","CREATE_PRODUCT_CONTENT","CREATE_SUBSCRIPTION","UPDATE_SUBSCRIPTION","DELETE_SUBSCRIPTION","SEND_SUBSCRIPTION_TST_MSG","CREATE_SHIPPING_LABEL","CREATE_REPLENISHMENT","UPDATE_REPLENISHMENT","REQUEST_PRODUCT_DESTINATIONS","CREATE_SOV_SEARCH_TERM_REPORT","CREATE_SOV_CATEGORY_REPORT","UPLOAD_INVOICE","CREATE_CAMPAIGN_PERFORMANCE_REPORT"]},"example":"CREATE_SHIPMENT"},{"name":"page","in":"query","description":"The requested page number with a page size of 50 items.","required":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":1}}],"responses":{"200":{"description":"Ok: Successfully processed the request.","content":{"application/vnd.retailer.v10+json":{"schema":{"$ref":"#/components/schemas/ProcessStatusResponse"}},"application/vnd.advertiser.v10+json":{"schema":{"$ref":"#/components/schemas/ProcessStatusResponse"}}}},"400":{"description":"Bad request: The sent request does not meet the API specification. Please check the error message(s) for more information.","content":{"application/vnd.retailer.v10+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/vnd.advertiser.v10+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"post":{"tags":["Process Status"],"summary":"Get the status of multiple asynchronous processes by an array of process status ids for a retailer","description":"Retrieve a list of process statuses, which shows information regarding previously executed PUT/POST/DELETE requests. No more than 1000 process status id's can be sent in a single request. Please note: process status instances are only retained for a limited period of time after completion. Outside of this period, deleted process statuses will no longer be returned. Please handle this accordingly, by stopping any active polling for these statuses.","operationId":"get-process-status-bulk","requestBody":{"content":{"application/vnd.retailer.v10+json":{"schema":{"$ref":"#/components/schemas/BulkProcessStatusRequest"}},"application/vnd.advertiser.v10+json":{"schema":{"$ref":"#/components/schemas/BulkProcessStatusRequest"}}},"required":true},"responses":{"200":{"description":"Ok: Successfully processed the request.","content":{"application/vnd.retailer.v10+json":{"schema":{"$ref":"#/components/schemas/ProcessStatusResponse"}},"application/vnd.advertiser.v10+json":{"schema":{"$ref":"#/components/schemas/ProcessStatusResponse"}}}},"400":{"description":"Bad request: The sent request does not meet the API specification. Please check the error message(s) for more information.","content":{"application/vnd.retailer.v10+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/vnd.advertiser.v10+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/shared/process-status/{process-status-id}":{"get":{"tags":["Process Status"],"summary":"Get the status of an asynchronous process by process status id","description":"Retrieve a specific process status, which shows information regarding a previously executed PUT/POST/DELETE request. All PUT/POST/DELETE requests on the other endpoints will supply a process status id in the related response. You can use this id to retrieve a status by using the endpoint below. Please note: process status instances are only retained for a limited period of time after completion. Outside of this period, a 404 will be returned for missing process statuses. Please handle this accordingly, by stopping any active polling for these statuses.","operationId":"get-process-status","parameters":[{"name":"process-status-id","in":"path","description":"The id of the process status being requested. This id is supplied in every response to a PUT/POST/DELETE request on the other endpoints.","required":true,"schema":{"type":"string"},"example":"019bbcbc-1a21-77c9-9de6-0726d1379c91fff"}],"responses":{"200":{"description":"Ok: Successfully processed the request.","content":{"application/vnd.retailer.v10+json":{"schema":{"$ref":"#/components/schemas/ProcessStatus"}},"application/vnd.advertiser.v10+json":{"schema":{"$ref":"#/components/schemas/ProcessStatus"}}}},"404":{"description":"Not found: The requested item could not be found.","content":{"application/vnd.retailer.v10+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/vnd.advertiser.v10+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}},"components":{"schemas":{"Problem":{"required":["detail","status","title","type","violations"],"type":"object","properties":{"type":{"type":"string","description":"Type URI for this problem. Fixed value: https://api.bol.com/problems.","format":"uri","example":"https://api.bol.com/problems"},"title":{"type":"string","description":"Title describing the nature of the problem.","example":"Error validating request. Consult the bol.com API documentation for more information."},"status":{"type":"integer","description":"HTTP status returned from the endpoint causing the problem.","format":"int32"},"detail":{"type":"string","description":"Detailed error message describing in additional detail what caused the service to return this problem.","example":"Bad request"},"host":{"type":"string","description":"Host identifier describing the server instance that reported the problem.","example":"Instance-001"},"instance":{"type":"string","description":"Full URI path of the resource that reported the problem.","format":"uri","example":"https://api.bol.com//retailer/resource"},"violations":{"type":"array","items":{"$ref":"#/components/schemas/Violation"}}},"description":"Describes a problem that occurred interacting with the API."},"Violation":{"required":["name","reason"],"type":"object","properties":{"name":{"type":"string","description":"Describes the origin of the error, for instance a field or query parameter validation error.","example":"exampleValue"},"reason":{"type":"string","description":"Detailed description of the validation error that caused the problem.","example":"Request contains invalid value(s): 'INVALID', allowed values: ALLOWED_VALUE1, ALLOWED_VALUE2."}},"description":"Describes a violation that occurred interacting with the API."},"BulkProcessStatusRequest":{"required":["processStatusQueries"],"type":"object","properties":{"processStatusQueries":{"maxItems":1000,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/ProcessStatusId"}}}},"ProcessStatusId":{"required":["processStatusId"],"type":"object","properties":{"processStatusId":{"type":"string","description":"The process status id.","example":"1234567"}}},"Link":{"type":"object","properties":{"rel":{"type":"string"},"href":{"type":"string"},"hreflang":{"type":"string"},"media":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"deprecation":{"type":"string"},"profile":{"type":"string"},"name":{"type":"string"}}},"ProcessStatus":{"required":["createTimestamp","description","eventType","links","status"],"type":"object","properties":{"processStatusId":{"type":"string","description":"The process status id.","example":"1234567"},"entityId":{"type":"string","description":"The id of the object being processed. For example, in case of a shipment process id, you will receive the id of the order item being processed.","example":"987654321"},"eventType":{"type":"string","description":"Name of the requested action that is being processed.","example":"CREATE_SHIPMENT"},"description":{"type":"string","description":"Describes the action that is being processed.","example":"Example process status description for processing 987654321."},"status":{"type":"string","description":"Status of the action being processed.","example":"SUCCESS","enum":["PENDING","SUCCESS","FAILURE","TIMEOUT"]},"errorMessage":{"type":"string","description":"Shows error message if applicable.","example":"Example process status error message."},"createTimestamp":{"type":"string","description":"Time of creation of the response.","format":"date-time","example":"2018-11-14T09:34:41+01:00"},"links":{"type":"array","description":"Lists available actions applicable to this endpoint.","items":{"$ref":"#/components/schemas/Link"}}}},"ProcessStatusResponse":{"required":["processStatuses"],"type":"object","properties":{"processStatuses":{"type":"array","items":{"$ref":"#/components/schemas/ProcessStatus"}}}}},"securitySchemes":{"OAuth2":{"type":"http","description":"JWT-based access to api.bol.com","in":"header","scheme":"bearer"}}}}