# Shipments (Operations)

Endpoints to create, update and read shipments and parcels.

## POST /api/deliverynotes

> Create delivery note

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"DeliveryNote":{"properties":{"companyAddress":{"$ref":"#/components/schemas/CompanyAddress"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddress","description":"use this if no deliveryAddresses are passed."},"deliveryAddresses":{"description":"if this field is filled, the delivery address will be taken from here according to this sorting: PARCEL_LOCKER > POSTAL_ADDRESS > INVOICE_ADDRESS. Each type is only allowed once.","items":{"$ref":"#/components/schemas/DeliveryAddressWithType"},"type":"array"},"items":{"items":{"$ref":"#/components/schemas/DeliveryNoteItem"},"type":"array"},"orderInformation":{"$ref":"#/components/schemas/OrderInformation"}},"required":["orderInformation","items"],"type":"object","title":"DeliveryNote","description":"DeliveryNote"},"CompanyAddress":{"properties":{"city":{"pattern":"^.+$","type":"string"},"country":{"pattern":"^.+$","type":"string"},"houseNumber":{"pattern":"^.+$","type":"string"},"name":{"pattern":"^.+$","type":"string"},"postalCode":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["name","street","postalCode","city","country"],"type":"object","title":"CompanyAddress","description":"CompanyAddress"},"DeliveryAddress":{"properties":{"city":{"pattern":"^.+$","type":"string"},"companyName":{"pattern":"^.+$","type":"string"},"firstName":{"pattern":"^.+$","type":"string"},"houseNumber":{"pattern":"^.+$","type":"string"},"lastName":{"pattern":"^.+$","type":"string"},"personalTitle":{"pattern":"^.+$","type":"string"},"postalCode":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","postalCode","city"],"type":"object","title":"DeliveryAddress","description":"DeliveryAddress"},"DeliveryAddressWithType":{"allOf":[{"$ref":"#/components/schemas/DeliveryAddress"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"}},"required":["street","houseNumber","postalCode","city","addressType"],"type":"object","title":"DeliveryAddressWithType","description":"DeliveryAddressWithType"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"DeliveryNoteItem":{"properties":{"id":{"type":"string"},"quantity":{"type":"string"},"substitutes":{"description":"Titel of the item which is substituted through this item","type":"string"},"title":{"type":"string"}},"required":["id","title","quantity"],"type":"object","title":"DeliveryNoteItem","description":"DeliveryNoteItem"},"OrderInformation":{"properties":{"orderDate":{"description":"The date the order was created.","format":"date-time","type":"string"},"orderNumber":{"description":"An identifier for the order.","pattern":"^.+$","type":"string"}},"type":"object","title":"OrderInformation","description":"OrderInformation"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/deliverynotes":{"post":{"operationId":"createDeliveryNote","parameters":[{"description":"Provide the localized values for the delivery note. If not provided the default locale is used. For example de_DE","in":"query","name":"locale","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryNote"}}},"required":true},"responses":{"201":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/DeliveryNote"}}},"description":"Successfully created the delivery note."},"401":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Create delivery note","tags":["Shipments (Operations)"]}}}}
```

## GET /api/parcels

> List parcels

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"StrippedParcels":{"properties":{"parcels":{"items":{"$ref":"#/components/schemas/StrippedParcel"},"type":"array"},"total":{"description":"Total number of found entities for this query","type":"integer"}},"type":"object","title":"StrippedParcels","description":"StrippedParcels"},"StrippedParcel":{"properties":{"carrierRef":{"description":"The reference to the carrier for which the parcel is assigned to","type":"string"},"carrierTrackingNumber":{"type":"string"},"parcelRef":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"}},"required":["parcelRef","carrierRef","status"],"type":"object","title":"StrippedParcel","description":"StrippedParcel"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/parcels":{"get":{"description":"","operationId":"getAllParcels","parameters":[{"description":"all entities after given Id","in":"query","name":"startAfterId","required":false,"schema":{"type":"string"}},{"description":"number of entities to show","in":"query","name":"size","required":false,"schema":{"default":25,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrippedParcels"}}},"description":"Parcels are found."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"List parcels","tags":["Shipments (Operations)"]}}}}
```

## GET /api/parcels/{parcelId}

> Get parcel

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Parcel":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierInformation":{"$ref":"#/components/schemas/ParcelCarrierInformation"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"Reference to the carrier this parcel should be send by","type":"string"},"customAttributes":{"description":"Attributes that can be added to the parcel. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"customProductValue":{"description":"Set this value if you want to overwrite the calculated product value of the parcel. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"dimensions":{"$ref":"#/components/schemas/ParcelDimensions"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"facilityRef":{"type":"string"},"id":{"description":"The id of this parcel. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"items":{"items":{"$ref":"#/components/schemas/ParcelItem"},"type":"array"},"loadUnitRefs":{"description":"Reference to array of load unit Refs","items":{"type":"string"},"type":"array"},"operativeProcessRef":{"type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickUpInformation":{"$ref":"#/components/schemas/ParcelPickUpInformation"},"postalCharges":{"$ref":"#/components/schemas/ParcelPostalCharge"},"processRef":{"type":"string"},"productValue":{"description":"Monetary value of all goods in this parcel. Needed for sending cross border packages (customs) To be interpreted as money in the currency given under paymentInformation.currency. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"productValueCurrency":{"$ref":"#/components/schemas/ProductValueCurrency"},"productValueType":{"$ref":"#/components/schemas/ProductValueType"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"result":{"$ref":"#/components/schemas/ParcelResult"},"returnAddress":{"$ref":"#/components/schemas/FacilityAddress"},"sender":{"$ref":"#/components/schemas/FacilityAddress"},"services":{"$ref":"#/components/schemas/ParcelServices"},"shipmentRef":{"description":"The id of this shipment this parcel has been created for.","type":"string"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"},"tenantOrderId":{"description":"Field can be used as a reference number in foreign systems, for example as a reference to the source system's identifier for this order.","type":"string"},"tenantParcelId":{"description":"Tenant specific parcel id, needs to be unique for non obsolete or canceled parcel","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"}},"required":["id","status","carrierRef","processRef","sender","recipient","loadUnitRefs"],"type":"object"}],"title":"Parcel","description":"Parcel"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ParcelCarrierInformation":{"additionalProperties":false,"description":"Carrier specific information about the parcel for the label creation","properties":{"shippingContainerNumber":{"description":"Specific shipping container number for the parcel","type":"string"}},"type":"object","title":"ParcelCarrierInformation"},"ParcelDimensions":{"additionalProperties":false,"nullable":true,"properties":{"customWeight":{"description":"Set this value if you want to overwrite the calculated weight of the parcel (in g).","type":"number"},"height":{"description":"The height of the package (in cm)","type":"number"},"length":{"description":"The length of the package (in cm)","type":"number"},"weight":{"description":"The weight of the package (in g)","type":"number"},"width":{"description":"The width of the package (in cm)","type":"number"}},"type":"object","title":"ParcelDimensions","description":"ParcelDimensions"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ParcelItem":{"allOf":[{"$ref":"#/components/schemas/LineItem"}],"properties":{"article":{"$ref":"#/components/schemas/ParcelItemArticle"},"countryOfManufacture":{"deprecated":true,"description":"Deprecated - use article.attribute.countryOfManufacture instead","type":"string"},"description":{"deprecated":true,"description":"Description - article.title will be used instead - of the given item/items","type":"string"},"hsCode":{"deprecated":true,"description":"Deprecated - use article.attribute.hsCode instead","maxLength":50,"type":"string"},"id":{"description":"The id of this parcelItem.","type":"string"},"originId":{"description":"The id of the line item this line item was originated from, before any split has happened. This can be used to restore the ‘pre-split’ status.","nullable":true,"type":"string"},"parcelItemValue":{"$ref":"#/components/schemas/ParcelItemValue","deprecated":true,"description":"Deprecated - use article.attribute.pricePerUnit and article.attribute.currency instead"},"quantity":{"description":"amount of the given items","minimum":1,"type":"integer"},"weightInGram":{"deprecated":true,"description":"Deprecated - use article.attribute.weightPerUnit instead - Weight of a single item in gram","type":"integer"}},"required":["id","quantity"],"type":"object","xml":{"name":"ParcelItem"},"title":"ParcelItem","description":"ParcelItem"},"LineItem":{"properties":{"article":{"description":"information about the lineItem","type":"object"},"customAttributes":{"description":"Attributes that can be added to the lineItem. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"globalLineItemId":{"description":"This id is used to identify if this line item is related to the line item of other operational entities.","type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"quantity":{"description":"The quantity of the lineItem","type":"number"},"recordableAttributes":{"description":"Customizable information about the lineItem that can be set during the process.","items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"},"scannableCodes":{"description":"Codes that can be used for scanning this lineItem","items":{"type":"string"},"type":"array"}},"required":["id"],"title":"LineItem","type":"object","description":"LineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ParcelItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ParcelItemArticle"},"title":"ParcelItemArticle","description":"ParcelItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"ParcelItemValue":{"description":"deprecated, use MandatoryShippingArticleAttribute.attributes.pricePerUnit instead","nullable":true,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"},"type":{"$ref":"#/components/schemas/ProductValueType"},"value":{"description":"Monetary Value of a single item in the given currency","type":"number"}},"required":["value","currency"],"type":"object","title":"ParcelItemValue"},"ProductValueType":{"enum":["INSURANCE","CUSTOMS","SHOP_PRICE"],"type":"string","title":"ProductValueType","description":"ProductValueType"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"ParcelPickUpInformation":{"additionalProperties":false,"nullable":true,"properties":{"endTime":{"description":"needs to be after start time","format":"date-time","type":"string"},"startTime":{"description":"needs to be before end time","format":"date-time","type":"string"}},"required":["startTime","endTime"],"type":"object","xml":{"name":"ParcelItemForCreation"},"title":"ParcelPickUpInformation","description":"ParcelPickUpInformation"},"ParcelPostalCharge":{"properties":{"currency":{"description":"Currency of the given value","type":"string"},"value":{"description":"Monetary Value in the given currency","type":"number"}},"required":["currency","value"],"title":"ParcelPostalCharge","description":"ParcelPostalCharge"},"ProductValueCurrency":{"additionalProperties":false,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"}},"required":["currency"],"type":"object","title":"ProductValueCurrency","description":"ProductValueCurrency"},"ParcelResult":{"description":"Within this object you can find the result of the request after it has been processed (status = DONE or FAILED)","properties":{"carrierParcelRef":{"description":"The reference number of the parcel by the carrier","maxLength":120,"minLength":1,"type":"string"},"carrierTrackingNumber":{"type":"string"},"carrierTrackingStatus":{"oneOf":[{"$ref":"#/components/schemas/TrackingStatus"},{"$ref":"#/components/schemas/DhlTrackingStatus"}]},"customsDocumentId":{"description":"The customs document id","type":"string"},"customsDocumentUrl":{"description":"The original customs document URL","type":"string"},"errors":{"additionalProperties":false,"description":"temporary field to show errors during parcel creation, will be removed in the future. used to create summary in error case","properties":{"labelError":{"type":"string"},"returnLabelError":{"type":"string"}},"type":"object"},"labelUrl":{"description":"The URL where you can download the label relative to the path of this resource","type":"string"},"proxyId":{"description":"The ID of the corresponding job at the CEP proxy (if used)","type":"string"},"returnLabelId":{"description":"The original return label id","type":"string"},"returnLabelUrl":{"description":"The original return label URL","type":"string"},"returnTrackingUrl":{"description":"The URL to track the return of this parcel","type":"string"},"sendLabelUrl":{"description":"The original send label URL","type":"string"},"summary":{"description":"Summary of the result of the request in a human readable form.","type":"string"},"trackingStatus":{"$ref":"#/components/schemas/TrackingStatus"},"trackingUrl":{"description":"The URL to track this parcel","type":"string"}},"required":["summary"],"type":"object","title":"ParcelResult"},"TrackingStatus":{"description":"The state of the KEP","enum":["registered","picked_up","delivered","not_delivered","transit","exception","out_for_delivery","destroyed","unknown","canceled","awaits_pickup_by_receiver","delayed","notification"],"title":"TrackingStatus","type":"string"},"DhlTrackingStatus":{"additionalProperties":false,"description":"Native trackingStatus provided by carrier","properties":{"description":{"description":"Description of the status","type":"string"},"location":{"$ref":"#/components/schemas/DhlTrackingLocation"},"remark":{"description":"Remark of the status","type":"string"},"status":{"description":"Status of the parcel as provided by carrier","type":"string"},"statusCode":{"description":"Status code of the parcel as provided by carrier","type":"string"},"statusDetailed":{"description":"Second status description","type":"string"},"timestamp":{"description":"Timestamp this status was set by the carrier","format":"date-time","type":"string"}},"required":["status"],"title":"DhlTrackingStatus","type":"object"},"DhlTrackingLocation":{"additionalProperties":false,"description":"Location information provided by DHL","properties":{"address":{"properties":{"addressLocality":{"type":"string"}},"type":"object"}},"title":"DhlTrackingLocation"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"ParcelServices":{"additionalProperties":false,"nullable":true,"properties":{"additionalTransportInsurance":{"description":"Additional insurance for the parcel by the carrier","type":"boolean"},"adultSignature":{"description":"Signature from some adult","type":"boolean"},"bulkyGoods":{"type":"boolean"},"customerSignature":{"description":"Signature from the ordering customer needed","type":"boolean"},"identityCheckCompany":{"description":"Identity check that can be done by a person of receiving company","type":"boolean"},"identityCheckPrivate":{"description":"Identity check that can be done by the receiving person","type":"boolean"},"saturdayDelivery":{"description":"Saturday Delivery","type":"boolean"},"signature":{"description":"Signature from anyone needed","type":"boolean"}},"type":"object","title":"ParcelServices","description":"ParcelServices"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/parcels/{parcelId}":{"get":{"description":"","operationId":"getParcel","parameters":[{"description":"ID of the parcel you want to get","in":"path","name":"parcelId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parcel"}}},"description":"Parcel was found & you were allowed to access it. The result is in the body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found"}},"summary":"Get parcel","tags":["Shipments (Operations)"]}}}}
```

## PATCH /api/parcels/{parcelId}

> Update parcel

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ParcelPatchActions":{"properties":{"actions":{"items":{"anyOf":[{"$ref":"#/components/schemas/ModifyParcel"},{"$ref":"#/components/schemas/ModifyParcelLoadUnit"}]},"minItems":1,"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version","actions"],"type":"object","xml":{"name":"ParcelPatchActions"},"title":"ParcelPatchActions","description":"ParcelPatchActions"},"ModifyParcel":{"allOf":[{"$ref":"#/components/schemas/AbstractModificationAction"},{"additionalProperties":false,"properties":{"action":{"description":"Use value 'ModifyParcel', because you want to modify a Parcel","enum":["ModifyParcel"],"type":"string"},"carrierInformation":{"$ref":"#/components/schemas/ParcelCarrierInformation"},"carrierProduct":{"description":"Only changable on status OPEN or FAILED of the existing Parcel","nullable":true,"type":"string"},"customAttributes":{"type":"object"},"customProductValue":{"description":"Set this value if you want to overwrite the calculated product value of the parcel.","type":"number"},"dimensions":{"$ref":"#/components/schemas/ParcelDimensions"},"pickUpInformation":{"$ref":"#/components/schemas/ParcelPickUpInformation"},"productValue":{"description":"Monetary value of all goods in this parcel. Needed for sending cross border packages (customs) To be interpreted as money in the currency given under paymentInformation.currency","nullable":true,"type":"number"},"result":{"$ref":"#/components/schemas/ParcelResult"},"services":{"$ref":"#/components/schemas/ParcelServices"},"status":{"$ref":"#/components/schemas/ParcelStatus"},"tenantParcelId":{"type":"string"}},"required":["action"],"type":"object"}],"description":"Modify Parcel Action.","title":"ModifyParcelAction","xml":{"name":"ModifyParcel"}},"AbstractModificationAction":{"discriminator":{"propertyName":"action"},"properties":{"action":{"description":"","enum":["AddAllowedValueToTag","ModifyPickJob","ModifyPickJobLastEditor","RestartPickJob","ResetPickJob","CancelPickRun","CancelHandoverjob","AbortPickJob","FinishPickRun","StartPickRun","ModifyPickLineItem","ModifyPickRunLineItem","ModifyPackJob","PausePackJob","ModifyPackLineItem","SplitLineItemsPackJob","ModifyFacility","ModifyListing","ModifyRetainedOfflineStock","ModifyListingReactivationAfter","ModifyUser","ModifyShipment","ModifyHandoverjob","ModifyCarrier","ModifyShortpick","ModifyRoutingPlan","ModifyFence","ModifyRating","ModifyTimingMode","ModifyGlobalRoutingConfiguration","ModifyOrderSplit","ModifyPrioritization","ModifyLoadUnitType","ModifyFeature","ModifyParcel","ModifyParcelLoadUnit","ModifyRestowItem","RemovePickJobFromPickRun","ModifyPartialStock","AddTagsToProcess","AssignFacilityToProcess","UpdateGdprCleanupDateAction","ModifyStorageLocation","ModifyPackingContainerType","ModifyPackingContainerTypeIcon","ReplaceCodesInPackingTargetContainer","ReplaceLoadUnitLineItems","AddLineItemToPackingTargetContainer","RemoveLineItemFromPackingTargetContainer","UpdateLineItemOnPackingTargetContainer","UpdatePackingTargetContainerLineItemRecordableAttributes","ModifyCustomService","UnlockOrder"],"type":"string"}},"required":["action"],"type":"object","xml":{"name":"AbstractModificationAction"},"title":"AbstractModificationAction","description":"AbstractModificationAction"},"ParcelCarrierInformation":{"additionalProperties":false,"description":"Carrier specific information about the parcel for the label creation","properties":{"shippingContainerNumber":{"description":"Specific shipping container number for the parcel","type":"string"}},"type":"object","title":"ParcelCarrierInformation"},"ParcelDimensions":{"additionalProperties":false,"nullable":true,"properties":{"customWeight":{"description":"Set this value if you want to overwrite the calculated weight of the parcel (in g).","type":"number"},"height":{"description":"The height of the package (in cm)","type":"number"},"length":{"description":"The length of the package (in cm)","type":"number"},"weight":{"description":"The weight of the package (in g)","type":"number"},"width":{"description":"The width of the package (in cm)","type":"number"}},"type":"object","title":"ParcelDimensions","description":"ParcelDimensions"},"ParcelPickUpInformation":{"additionalProperties":false,"nullable":true,"properties":{"endTime":{"description":"needs to be after start time","format":"date-time","type":"string"},"startTime":{"description":"needs to be before end time","format":"date-time","type":"string"}},"required":["startTime","endTime"],"type":"object","xml":{"name":"ParcelItemForCreation"},"title":"ParcelPickUpInformation","description":"ParcelPickUpInformation"},"ParcelResult":{"description":"Within this object you can find the result of the request after it has been processed (status = DONE or FAILED)","properties":{"carrierParcelRef":{"description":"The reference number of the parcel by the carrier","maxLength":120,"minLength":1,"type":"string"},"carrierTrackingNumber":{"type":"string"},"carrierTrackingStatus":{"oneOf":[{"$ref":"#/components/schemas/TrackingStatus"},{"$ref":"#/components/schemas/DhlTrackingStatus"}]},"customsDocumentId":{"description":"The customs document id","type":"string"},"customsDocumentUrl":{"description":"The original customs document URL","type":"string"},"errors":{"additionalProperties":false,"description":"temporary field to show errors during parcel creation, will be removed in the future. used to create summary in error case","properties":{"labelError":{"type":"string"},"returnLabelError":{"type":"string"}},"type":"object"},"labelUrl":{"description":"The URL where you can download the label relative to the path of this resource","type":"string"},"proxyId":{"description":"The ID of the corresponding job at the CEP proxy (if used)","type":"string"},"returnLabelId":{"description":"The original return label id","type":"string"},"returnLabelUrl":{"description":"The original return label URL","type":"string"},"returnTrackingUrl":{"description":"The URL to track the return of this parcel","type":"string"},"sendLabelUrl":{"description":"The original send label URL","type":"string"},"summary":{"description":"Summary of the result of the request in a human readable form.","type":"string"},"trackingStatus":{"$ref":"#/components/schemas/TrackingStatus"},"trackingUrl":{"description":"The URL to track this parcel","type":"string"}},"required":["summary"],"type":"object","title":"ParcelResult"},"TrackingStatus":{"description":"The state of the KEP","enum":["registered","picked_up","delivered","not_delivered","transit","exception","out_for_delivery","destroyed","unknown","canceled","awaits_pickup_by_receiver","delayed","notification"],"title":"TrackingStatus","type":"string"},"DhlTrackingStatus":{"additionalProperties":false,"description":"Native trackingStatus provided by carrier","properties":{"description":{"description":"Description of the status","type":"string"},"location":{"$ref":"#/components/schemas/DhlTrackingLocation"},"remark":{"description":"Remark of the status","type":"string"},"status":{"description":"Status of the parcel as provided by carrier","type":"string"},"statusCode":{"description":"Status code of the parcel as provided by carrier","type":"string"},"statusDetailed":{"description":"Second status description","type":"string"},"timestamp":{"description":"Timestamp this status was set by the carrier","format":"date-time","type":"string"}},"required":["status"],"title":"DhlTrackingStatus","type":"object"},"DhlTrackingLocation":{"additionalProperties":false,"description":"Location information provided by DHL","properties":{"address":{"properties":{"addressLocality":{"type":"string"}},"type":"object"}},"title":"DhlTrackingLocation"},"ParcelServices":{"additionalProperties":false,"nullable":true,"properties":{"additionalTransportInsurance":{"description":"Additional insurance for the parcel by the carrier","type":"boolean"},"adultSignature":{"description":"Signature from some adult","type":"boolean"},"bulkyGoods":{"type":"boolean"},"customerSignature":{"description":"Signature from the ordering customer needed","type":"boolean"},"identityCheckCompany":{"description":"Identity check that can be done by a person of receiving company","type":"boolean"},"identityCheckPrivate":{"description":"Identity check that can be done by the receiving person","type":"boolean"},"saturdayDelivery":{"description":"Saturday Delivery","type":"boolean"},"signature":{"description":"Signature from anyone needed","type":"boolean"}},"type":"object","title":"ParcelServices","description":"ParcelServices"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"ModifyParcelLoadUnit":{"allOf":[{"$ref":"#/components/schemas/AbstractModificationAction"},{"additionalProperties":false,"properties":{"action":{"description":"Use value 'ModifyParcelLoadUnit', because you want to modify loadunitRefs in Parcel","enum":["ModifyParcelLoadUnit"],"type":"string"},"loadUnitRefs":{"items":{"type":"string"},"type":"array"}},"required":["action","loadUnitRefs"],"type":"object"}],"description":"Modify Parcels of a LoadUnit.","title":"ModifyParcelLoadUnitsAction","xml":{"name":"ModifyParcelLoadUnit"}},"Parcel":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierInformation":{"$ref":"#/components/schemas/ParcelCarrierInformation"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"Reference to the carrier this parcel should be send by","type":"string"},"customAttributes":{"description":"Attributes that can be added to the parcel. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"customProductValue":{"description":"Set this value if you want to overwrite the calculated product value of the parcel. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"dimensions":{"$ref":"#/components/schemas/ParcelDimensions"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"facilityRef":{"type":"string"},"id":{"description":"The id of this parcel. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"items":{"items":{"$ref":"#/components/schemas/ParcelItem"},"type":"array"},"loadUnitRefs":{"description":"Reference to array of load unit Refs","items":{"type":"string"},"type":"array"},"operativeProcessRef":{"type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickUpInformation":{"$ref":"#/components/schemas/ParcelPickUpInformation"},"postalCharges":{"$ref":"#/components/schemas/ParcelPostalCharge"},"processRef":{"type":"string"},"productValue":{"description":"Monetary value of all goods in this parcel. Needed for sending cross border packages (customs) To be interpreted as money in the currency given under paymentInformation.currency. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"productValueCurrency":{"$ref":"#/components/schemas/ProductValueCurrency"},"productValueType":{"$ref":"#/components/schemas/ProductValueType"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"result":{"$ref":"#/components/schemas/ParcelResult"},"returnAddress":{"$ref":"#/components/schemas/FacilityAddress"},"sender":{"$ref":"#/components/schemas/FacilityAddress"},"services":{"$ref":"#/components/schemas/ParcelServices"},"shipmentRef":{"description":"The id of this shipment this parcel has been created for.","type":"string"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"},"tenantOrderId":{"description":"Field can be used as a reference number in foreign systems, for example as a reference to the source system's identifier for this order.","type":"string"},"tenantParcelId":{"description":"Tenant specific parcel id, needs to be unique for non obsolete or canceled parcel","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"}},"required":["id","status","carrierRef","processRef","sender","recipient","loadUnitRefs"],"type":"object"}],"title":"Parcel","description":"Parcel"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ParcelItem":{"allOf":[{"$ref":"#/components/schemas/LineItem"}],"properties":{"article":{"$ref":"#/components/schemas/ParcelItemArticle"},"countryOfManufacture":{"deprecated":true,"description":"Deprecated - use article.attribute.countryOfManufacture instead","type":"string"},"description":{"deprecated":true,"description":"Description - article.title will be used instead - of the given item/items","type":"string"},"hsCode":{"deprecated":true,"description":"Deprecated - use article.attribute.hsCode instead","maxLength":50,"type":"string"},"id":{"description":"The id of this parcelItem.","type":"string"},"originId":{"description":"The id of the line item this line item was originated from, before any split has happened. This can be used to restore the ‘pre-split’ status.","nullable":true,"type":"string"},"parcelItemValue":{"$ref":"#/components/schemas/ParcelItemValue","deprecated":true,"description":"Deprecated - use article.attribute.pricePerUnit and article.attribute.currency instead"},"quantity":{"description":"amount of the given items","minimum":1,"type":"integer"},"weightInGram":{"deprecated":true,"description":"Deprecated - use article.attribute.weightPerUnit instead - Weight of a single item in gram","type":"integer"}},"required":["id","quantity"],"type":"object","xml":{"name":"ParcelItem"},"title":"ParcelItem","description":"ParcelItem"},"LineItem":{"properties":{"article":{"description":"information about the lineItem","type":"object"},"customAttributes":{"description":"Attributes that can be added to the lineItem. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"globalLineItemId":{"description":"This id is used to identify if this line item is related to the line item of other operational entities.","type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"quantity":{"description":"The quantity of the lineItem","type":"number"},"recordableAttributes":{"description":"Customizable information about the lineItem that can be set during the process.","items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"},"scannableCodes":{"description":"Codes that can be used for scanning this lineItem","items":{"type":"string"},"type":"array"}},"required":["id"],"title":"LineItem","type":"object","description":"LineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ParcelItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ParcelItemArticle"},"title":"ParcelItemArticle","description":"ParcelItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"ParcelItemValue":{"description":"deprecated, use MandatoryShippingArticleAttribute.attributes.pricePerUnit instead","nullable":true,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"},"type":{"$ref":"#/components/schemas/ProductValueType"},"value":{"description":"Monetary Value of a single item in the given currency","type":"number"}},"required":["value","currency"],"type":"object","title":"ParcelItemValue"},"ProductValueType":{"enum":["INSURANCE","CUSTOMS","SHOP_PRICE"],"type":"string","title":"ProductValueType","description":"ProductValueType"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"ParcelPostalCharge":{"properties":{"currency":{"description":"Currency of the given value","type":"string"},"value":{"description":"Monetary Value in the given currency","type":"number"}},"required":["currency","value"],"title":"ParcelPostalCharge","description":"ParcelPostalCharge"},"ProductValueCurrency":{"additionalProperties":false,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"}},"required":["currency"],"type":"object","title":"ProductValueCurrency","description":"ProductValueCurrency"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/parcels/{parcelId}":{"patch":{"description":"","operationId":"patchParcel","parameters":[{"description":"ID of the parcel you want to get","in":"path","name":"parcelId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelPatchActions"}}},"description":"Patch set","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parcel"}}},"description":"Successfully updated the parcel."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found"}},"summary":"Update parcel","tags":["Shipments (Operations)"]}}}}
```

## Call parcel action

> This part of the API is in Beta status. For details please check the \<a href="<https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta>" target="\_blank">api-release-life-cycle documentation\</a>.\<br />\<br />Applies actions to a parcel. Check ParcelActionsParameter for available actions.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ParcelActionsParameter":{"anyOf":[{"$ref":"#/components/schemas/ParcelSplitItemsActionParameter"},{"$ref":"#/components/schemas/ParcelUpdateTrackingDataActionParameter"},{"$ref":"#/components/schemas/UpdateParcelItemRecordableAttributesActionParameter"},{"$ref":"#/components/schemas/AddLabelsToParcelActionParameter"}],"title":"ParcelActionsParameter","description":"ParcelActionsParameter"},"ParcelSplitItemsActionParameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/components/schemas/ParcelSplitItemsActionEnum"},"splitItemsInfo":{"items":{"$ref":"#/components/schemas/ParcelSplitItemsInfo"},"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","type":"integer"}},"required":["name","version","splitItemsInfo"],"title":"ParcelSplitItemsActionParameter","type":"object","description":"ParcelSplitItemsActionParameter"},"ParcelSplitItemsActionEnum":{"enum":["SPLIT_LINES_PARCEL"],"type":"string","title":"ParcelSplitItemsActionEnum","description":"ParcelSplitItemsActionEnum"},"ParcelSplitItemsInfo":{"additionalProperties":false,"properties":{"itemId":{"description":"references the id of the item of a parcel","type":"string"},"quantity":{"description":"quantity of the specific item that has been ordered","minimum":1,"type":"integer"}},"required":["itemId","quantity"],"type":"object","title":"ParcelSplitItemsInfo","description":"ParcelSplitItemsInfo"},"ParcelUpdateTrackingDataActionParameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/components/schemas/ParcelUpdateTrackingDataActionEnum"},"trackingData":{"items":{"anyOf":[{"$ref":"#/components/schemas/ParcelTrackingData"}]},"maxItems":2,"minItems":1,"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","type":"integer"}},"required":["name","version","trackingData"],"title":"ParcelUpdateTrackingDataActionParameter","type":"object","description":"ParcelUpdateTrackingDataActionParameter"},"ParcelUpdateTrackingDataActionEnum":{"enum":["UPDATE_TRACKING_DATA"],"type":"string","title":"ParcelUpdateTrackingDataActionEnum","description":"ParcelUpdateTrackingDataActionEnum"},"ParcelTrackingData":{"additionalProperties":false,"properties":{"carrierStatus":{"description":"Optional additional carrier tracker information","type":"string"},"status":{"$ref":"#/components/schemas/ParcelTrackingDataStatusEnum"},"trackingNumber":{"description":"123456789","type":"string"},"type":{"$ref":"#/components/schemas/ParcelTrackingDataType"}},"required":["type","status","carrierStatus","trackingNumber"],"title":"ParcelTrackingData","type":"object","description":"ParcelTrackingData"},"ParcelTrackingDataStatusEnum":{"description":"Status of the given enum to be mapped onto the found parcel","enum":["DELIVERED","PICKED_UP"],"type":"string","title":"ParcelTrackingDataStatusEnum"},"ParcelTrackingDataType":{"description":"Which kind of tracking data you want to add to the parcel label","enum":["SEND_LABEL","RETURN_LABEL"],"type":"string","title":"ParcelTrackingDataType"},"UpdateParcelItemRecordableAttributesActionParameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/components/schemas/UpdateParcelItemRecordableAttributesActionEnum"},"recordableAttributeUpdates":{"items":{"$ref":"#/components/schemas/RecordableAttributeForUpdate"},"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","type":"integer"}},"required":["name","version","recordableAttributeUpdates"],"title":"UpdateParcelItemRecordableAttributesActionParameter","type":"object","description":"UpdateParcelItemRecordableAttributesActionParameter"},"UpdateParcelItemRecordableAttributesActionEnum":{"enum":["UPDATE_PARCEL_ITEM_RECORDABLE_ATTRIBUTES"],"type":"string","title":"UpdateParcelItemRecordableAttributesActionEnum","description":"UpdateParcelItemRecordableAttributesActionEnum"},"RecordableAttributeForUpdate":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute to set","minLength":1,"nullable":true,"type":"string"},"recordableAttributeId":{"description":"id of the recordable attribute to update","type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute to set","nullable":true,"type":"string"}},"required":["recordableAttributeId"],"title":"RecordableAttributeForUpdate","type":"object","description":"RecordableAttributeForUpdate"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"AddLabelsToParcelActionParameter":{"additionalProperties":false,"properties":{"closeParcel":{"default":false,"description":"Close the parcel after adding this labels. Further adding will not be possible.","type":"boolean"},"customsDocument":{"$ref":"#/components/schemas/AddCustomsDocumentToParcelContent"},"labels":{"items":{"anyOf":[{"$ref":"#/components/schemas/AddLabelsToParcelContent"},{"$ref":"#/components/schemas/AddLabelsToParcelError"}]},"maxItems":2,"minItems":0,"type":"array"},"name":{"$ref":"#/components/schemas/AddLabelsToParcelActionEnum"},"tenantParcelId":{"description":"Optional parameter to set or change the tenant parcel id","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","type":"integer"}},"required":["name","version","labels"],"title":"AddLabelsToParcelActionParameter","type":"object","description":"This part of the API is in Alpha status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#alpha\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />AddLabelsToParcelActionParameter"},"AddCustomsDocumentToParcelContent":{"additionalProperties":false,"description":"File and Document for this Label","properties":{"labelFile":{"$ref":"#/components/schemas/AddLabelsToParcelFile"}},"required":["labelFile"],"type":"object","title":"AddCustomsDocumentToParcelContent"},"AddLabelsToParcelFile":{"additionalProperties":false,"description":"file for a given result","properties":{"content":{"description":"File content base64 encoded","type":"string"},"type":{"$ref":"#/components/schemas/DocumentType"}},"required":["content","type"],"type":"object","title":"AddLabelsToParcelFile"},"DocumentType":{"enum":["PDF","PNG","JPG","GIF","JPEG","XML","JSON"],"type":"string","title":"DocumentType","description":"DocumentType"},"AddLabelsToParcelContent":{"additionalProperties":false,"description":"File and Document for this Label","properties":{"labelFile":{"$ref":"#/components/schemas/AddLabelsToParcelFile"},"labelType":{"$ref":"#/components/schemas/ParcelLabelType"},"trackingNumber":{"description":"The reference number by the carrier","type":"string"},"trackingUrl":{"description":"The URL to track this parcel","type":"string"}},"required":["labelType","labelFile","trackingNumber","trackingUrl"],"type":"object","title":"AddLabelsToParcelContent"},"ParcelLabelType":{"description":"Which kind of label you want to add to the parcel","enum":["SEND_LABEL","RETURN_LABEL"],"type":"string","title":"ParcelLabelType"},"AddLabelsToParcelError":{"additionalProperties":false,"description":"Error values for a not successfull label request","properties":{"errorCode":{"description":"optional error code from the carrier","type":"string"},"errorDescription":{"description":"raw text error message","type":"string"},"labelType":{"$ref":"#/components/schemas/ParcelLabelType"}},"required":["labelType","errorDescription"],"type":"object","title":"AddLabelsToParcelError"},"AddLabelsToParcelActionEnum":{"enum":["ADD_LABELS_TO_PARCEL"],"type":"string","title":"AddLabelsToParcelActionEnum","description":"AddLabelsToParcelActionEnum"},"Parcel":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierInformation":{"$ref":"#/components/schemas/ParcelCarrierInformation"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"Reference to the carrier this parcel should be send by","type":"string"},"customAttributes":{"description":"Attributes that can be added to the parcel. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"customProductValue":{"description":"Set this value if you want to overwrite the calculated product value of the parcel. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"dimensions":{"$ref":"#/components/schemas/ParcelDimensions"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"facilityRef":{"type":"string"},"id":{"description":"The id of this parcel. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"items":{"items":{"$ref":"#/components/schemas/ParcelItem"},"type":"array"},"loadUnitRefs":{"description":"Reference to array of load unit Refs","items":{"type":"string"},"type":"array"},"operativeProcessRef":{"type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickUpInformation":{"$ref":"#/components/schemas/ParcelPickUpInformation"},"postalCharges":{"$ref":"#/components/schemas/ParcelPostalCharge"},"processRef":{"type":"string"},"productValue":{"description":"Monetary value of all goods in this parcel. Needed for sending cross border packages (customs) To be interpreted as money in the currency given under paymentInformation.currency. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"productValueCurrency":{"$ref":"#/components/schemas/ProductValueCurrency"},"productValueType":{"$ref":"#/components/schemas/ProductValueType"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"result":{"$ref":"#/components/schemas/ParcelResult"},"returnAddress":{"$ref":"#/components/schemas/FacilityAddress"},"sender":{"$ref":"#/components/schemas/FacilityAddress"},"services":{"$ref":"#/components/schemas/ParcelServices"},"shipmentRef":{"description":"The id of this shipment this parcel has been created for.","type":"string"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"},"tenantOrderId":{"description":"Field can be used as a reference number in foreign systems, for example as a reference to the source system's identifier for this order.","type":"string"},"tenantParcelId":{"description":"Tenant specific parcel id, needs to be unique for non obsolete or canceled parcel","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"}},"required":["id","status","carrierRef","processRef","sender","recipient","loadUnitRefs"],"type":"object"}],"title":"Parcel","description":"Parcel"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ParcelCarrierInformation":{"additionalProperties":false,"description":"Carrier specific information about the parcel for the label creation","properties":{"shippingContainerNumber":{"description":"Specific shipping container number for the parcel","type":"string"}},"type":"object","title":"ParcelCarrierInformation"},"ParcelDimensions":{"additionalProperties":false,"nullable":true,"properties":{"customWeight":{"description":"Set this value if you want to overwrite the calculated weight of the parcel (in g).","type":"number"},"height":{"description":"The height of the package (in cm)","type":"number"},"length":{"description":"The length of the package (in cm)","type":"number"},"weight":{"description":"The weight of the package (in g)","type":"number"},"width":{"description":"The width of the package (in cm)","type":"number"}},"type":"object","title":"ParcelDimensions","description":"ParcelDimensions"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ParcelItem":{"allOf":[{"$ref":"#/components/schemas/LineItem"}],"properties":{"article":{"$ref":"#/components/schemas/ParcelItemArticle"},"countryOfManufacture":{"deprecated":true,"description":"Deprecated - use article.attribute.countryOfManufacture instead","type":"string"},"description":{"deprecated":true,"description":"Description - article.title will be used instead - of the given item/items","type":"string"},"hsCode":{"deprecated":true,"description":"Deprecated - use article.attribute.hsCode instead","maxLength":50,"type":"string"},"id":{"description":"The id of this parcelItem.","type":"string"},"originId":{"description":"The id of the line item this line item was originated from, before any split has happened. This can be used to restore the ‘pre-split’ status.","nullable":true,"type":"string"},"parcelItemValue":{"$ref":"#/components/schemas/ParcelItemValue","deprecated":true,"description":"Deprecated - use article.attribute.pricePerUnit and article.attribute.currency instead"},"quantity":{"description":"amount of the given items","minimum":1,"type":"integer"},"weightInGram":{"deprecated":true,"description":"Deprecated - use article.attribute.weightPerUnit instead - Weight of a single item in gram","type":"integer"}},"required":["id","quantity"],"type":"object","xml":{"name":"ParcelItem"},"title":"ParcelItem","description":"ParcelItem"},"LineItem":{"properties":{"article":{"description":"information about the lineItem","type":"object"},"customAttributes":{"description":"Attributes that can be added to the lineItem. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"globalLineItemId":{"description":"This id is used to identify if this line item is related to the line item of other operational entities.","type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"quantity":{"description":"The quantity of the lineItem","type":"number"},"recordableAttributes":{"description":"Customizable information about the lineItem that can be set during the process.","items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"},"scannableCodes":{"description":"Codes that can be used for scanning this lineItem","items":{"type":"string"},"type":"array"}},"required":["id"],"title":"LineItem","type":"object","description":"LineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"ParcelItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ParcelItemArticle"},"title":"ParcelItemArticle","description":"ParcelItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"ParcelItemValue":{"description":"deprecated, use MandatoryShippingArticleAttribute.attributes.pricePerUnit instead","nullable":true,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"},"type":{"$ref":"#/components/schemas/ProductValueType"},"value":{"description":"Monetary Value of a single item in the given currency","type":"number"}},"required":["value","currency"],"type":"object","title":"ParcelItemValue"},"ProductValueType":{"enum":["INSURANCE","CUSTOMS","SHOP_PRICE"],"type":"string","title":"ProductValueType","description":"ProductValueType"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"ParcelPickUpInformation":{"additionalProperties":false,"nullable":true,"properties":{"endTime":{"description":"needs to be after start time","format":"date-time","type":"string"},"startTime":{"description":"needs to be before end time","format":"date-time","type":"string"}},"required":["startTime","endTime"],"type":"object","xml":{"name":"ParcelItemForCreation"},"title":"ParcelPickUpInformation","description":"ParcelPickUpInformation"},"ParcelPostalCharge":{"properties":{"currency":{"description":"Currency of the given value","type":"string"},"value":{"description":"Monetary Value in the given currency","type":"number"}},"required":["currency","value"],"title":"ParcelPostalCharge","description":"ParcelPostalCharge"},"ProductValueCurrency":{"additionalProperties":false,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"}},"required":["currency"],"type":"object","title":"ProductValueCurrency","description":"ProductValueCurrency"},"ParcelResult":{"description":"Within this object you can find the result of the request after it has been processed (status = DONE or FAILED)","properties":{"carrierParcelRef":{"description":"The reference number of the parcel by the carrier","maxLength":120,"minLength":1,"type":"string"},"carrierTrackingNumber":{"type":"string"},"carrierTrackingStatus":{"oneOf":[{"$ref":"#/components/schemas/TrackingStatus"},{"$ref":"#/components/schemas/DhlTrackingStatus"}]},"customsDocumentId":{"description":"The customs document id","type":"string"},"customsDocumentUrl":{"description":"The original customs document URL","type":"string"},"errors":{"additionalProperties":false,"description":"temporary field to show errors during parcel creation, will be removed in the future. used to create summary in error case","properties":{"labelError":{"type":"string"},"returnLabelError":{"type":"string"}},"type":"object"},"labelUrl":{"description":"The URL where you can download the label relative to the path of this resource","type":"string"},"proxyId":{"description":"The ID of the corresponding job at the CEP proxy (if used)","type":"string"},"returnLabelId":{"description":"The original return label id","type":"string"},"returnLabelUrl":{"description":"The original return label URL","type":"string"},"returnTrackingUrl":{"description":"The URL to track the return of this parcel","type":"string"},"sendLabelUrl":{"description":"The original send label URL","type":"string"},"summary":{"description":"Summary of the result of the request in a human readable form.","type":"string"},"trackingStatus":{"$ref":"#/components/schemas/TrackingStatus"},"trackingUrl":{"description":"The URL to track this parcel","type":"string"}},"required":["summary"],"type":"object","title":"ParcelResult"},"TrackingStatus":{"description":"The state of the KEP","enum":["registered","picked_up","delivered","not_delivered","transit","exception","out_for_delivery","destroyed","unknown","canceled","awaits_pickup_by_receiver","delayed","notification"],"title":"TrackingStatus","type":"string"},"DhlTrackingStatus":{"additionalProperties":false,"description":"Native trackingStatus provided by carrier","properties":{"description":{"description":"Description of the status","type":"string"},"location":{"$ref":"#/components/schemas/DhlTrackingLocation"},"remark":{"description":"Remark of the status","type":"string"},"status":{"description":"Status of the parcel as provided by carrier","type":"string"},"statusCode":{"description":"Status code of the parcel as provided by carrier","type":"string"},"statusDetailed":{"description":"Second status description","type":"string"},"timestamp":{"description":"Timestamp this status was set by the carrier","format":"date-time","type":"string"}},"required":["status"],"title":"DhlTrackingStatus","type":"object"},"DhlTrackingLocation":{"additionalProperties":false,"description":"Location information provided by DHL","properties":{"address":{"properties":{"addressLocality":{"type":"string"}},"type":"object"}},"title":"DhlTrackingLocation"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"ParcelServices":{"additionalProperties":false,"nullable":true,"properties":{"additionalTransportInsurance":{"description":"Additional insurance for the parcel by the carrier","type":"boolean"},"adultSignature":{"description":"Signature from some adult","type":"boolean"},"bulkyGoods":{"type":"boolean"},"customerSignature":{"description":"Signature from the ordering customer needed","type":"boolean"},"identityCheckCompany":{"description":"Identity check that can be done by a person of receiving company","type":"boolean"},"identityCheckPrivate":{"description":"Identity check that can be done by the receiving person","type":"boolean"},"saturdayDelivery":{"description":"Saturday Delivery","type":"boolean"},"signature":{"description":"Signature from anyone needed","type":"boolean"}},"type":"object","title":"ParcelServices","description":"ParcelServices"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/parcels/{parcelId}/actions":{"post":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />Applies actions to a parcel. Check ParcelActionsParameter for available actions.","operationId":"parcelAction","parameters":[{"description":"Reference to the parcel you want to call an action for","in":"path","name":"parcelId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelActionsParameter"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parcel"}}},"description":"Updated Parcel in the body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Call parcel action","tags":["Shipments (Operations)"]}}}}
```

## GET /api/parcels/{parcelId}/deliverynote

> Get parcel delivery note

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"DeliveryNote":{"properties":{"companyAddress":{"$ref":"#/components/schemas/CompanyAddress"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddress","description":"use this if no deliveryAddresses are passed."},"deliveryAddresses":{"description":"if this field is filled, the delivery address will be taken from here according to this sorting: PARCEL_LOCKER > POSTAL_ADDRESS > INVOICE_ADDRESS. Each type is only allowed once.","items":{"$ref":"#/components/schemas/DeliveryAddressWithType"},"type":"array"},"items":{"items":{"$ref":"#/components/schemas/DeliveryNoteItem"},"type":"array"},"orderInformation":{"$ref":"#/components/schemas/OrderInformation"}},"required":["orderInformation","items"],"type":"object","title":"DeliveryNote","description":"DeliveryNote"},"CompanyAddress":{"properties":{"city":{"pattern":"^.+$","type":"string"},"country":{"pattern":"^.+$","type":"string"},"houseNumber":{"pattern":"^.+$","type":"string"},"name":{"pattern":"^.+$","type":"string"},"postalCode":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["name","street","postalCode","city","country"],"type":"object","title":"CompanyAddress","description":"CompanyAddress"},"DeliveryAddress":{"properties":{"city":{"pattern":"^.+$","type":"string"},"companyName":{"pattern":"^.+$","type":"string"},"firstName":{"pattern":"^.+$","type":"string"},"houseNumber":{"pattern":"^.+$","type":"string"},"lastName":{"pattern":"^.+$","type":"string"},"personalTitle":{"pattern":"^.+$","type":"string"},"postalCode":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","postalCode","city"],"type":"object","title":"DeliveryAddress","description":"DeliveryAddress"},"DeliveryAddressWithType":{"allOf":[{"$ref":"#/components/schemas/DeliveryAddress"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"}},"required":["street","houseNumber","postalCode","city","addressType"],"type":"object","title":"DeliveryAddressWithType","description":"DeliveryAddressWithType"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"DeliveryNoteItem":{"properties":{"id":{"type":"string"},"quantity":{"type":"string"},"substitutes":{"description":"Titel of the item which is substituted through this item","type":"string"},"title":{"type":"string"}},"required":["id","title","quantity"],"type":"object","title":"DeliveryNoteItem","description":"DeliveryNoteItem"},"OrderInformation":{"properties":{"orderDate":{"description":"The date the order was created.","format":"date-time","type":"string"},"orderNumber":{"description":"An identifier for the order.","pattern":"^.+$","type":"string"}},"type":"object","title":"OrderInformation","description":"OrderInformation"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/parcels/{parcelId}/deliverynote":{"get":{"operationId":"getParcelDeliveryNote","parameters":[{"description":"ID of parcel you want to retrieve deliveryNote for","in":"path","name":"parcelId","required":true,"schema":{"type":"string"}},{"description":"Provide the localized values for the delivery note. If not provided the default locale is used. For example de_DE.","in":"query","name":"locale","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/DeliveryNote"}}},"description":"Get delivery note as pdf."},"401":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Parcel not found"}},"summary":"Get parcel delivery note","tags":["Shipments (Operations)"]}}}}
```

## GET /api/parcels/{parcelId}/labels/{labelDocument}

> Get parcel label

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ParcelLabelTypeEnum":{"description":"The type of possible Parcel Labels","enum":["return.pdf","all.pdf","send.pdf","customs.pdf"],"type":"string","title":"ParcelLabelTypeEnum"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/parcels/{parcelId}/labels/{labelDocument}":{"get":{"description":"","operationId":"getLabelForParcel","parameters":[{"description":"ID of the parcel you want to get a label for","in":"path","name":"parcelId","required":true,"schema":{"type":"string"}},{"description":"Within a parcel different labels can be created. The following types of labels are currently supported: all.pdf, send.pdf and return.pdf = Parcel label plus (if configured) retoure label.","in":"path","name":"labelDocument","required":true,"schema":{"$ref":"#/components/schemas/ParcelLabelTypeEnum"}}],"responses":{"200":{"content":{"application/pdf":{}},"description":"Parcel was found & you were allowed to access it. The label is in the body."},"401":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found"}},"summary":"Get parcel label","tags":["Shipments (Operations)"]}}}}
```

## GET /api/parcels/{parcelId}/returnnote

> Get parcel return note

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ReturnNote":{"properties":{"companyAddress":{"$ref":"#/components/schemas/CompanyAddress"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddress"},"deliveryAddresses":{"description":"if this field is filled, the delivery address will be taken from here according to this sorting: INVOICE_ADDRESS > POSTAL_ADDRESS. Each type is only allowed once.","items":{"$ref":"#/components/schemas/DeliveryAddressWithType"},"type":"array"},"items":{"items":{"$ref":"#/components/schemas/ReturnNoteItem"},"type":"array"},"orderInformation":{"$ref":"#/components/schemas/OrderInformation"},"qrCodeContent":{"type":"string"}},"required":["orderInformation","items"],"type":"object","title":"ReturnNote","description":"ReturnNote"},"CompanyAddress":{"properties":{"city":{"pattern":"^.+$","type":"string"},"country":{"pattern":"^.+$","type":"string"},"houseNumber":{"pattern":"^.+$","type":"string"},"name":{"pattern":"^.+$","type":"string"},"postalCode":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["name","street","postalCode","city","country"],"type":"object","title":"CompanyAddress","description":"CompanyAddress"},"DeliveryAddress":{"properties":{"city":{"pattern":"^.+$","type":"string"},"companyName":{"pattern":"^.+$","type":"string"},"firstName":{"pattern":"^.+$","type":"string"},"houseNumber":{"pattern":"^.+$","type":"string"},"lastName":{"pattern":"^.+$","type":"string"},"personalTitle":{"pattern":"^.+$","type":"string"},"postalCode":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","postalCode","city"],"type":"object","title":"DeliveryAddress","description":"DeliveryAddress"},"DeliveryAddressWithType":{"allOf":[{"$ref":"#/components/schemas/DeliveryAddress"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"}},"required":["street","houseNumber","postalCode","city","addressType"],"type":"object","title":"DeliveryAddressWithType","description":"DeliveryAddressWithType"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"ReturnNoteItem":{"properties":{"id":{"type":"string"},"quantity":{"description":"optional parameter for picked quantity of the given line item","type":"integer"},"substitutes":{"description":"Titel of the item which is substituted through this item","type":"string"},"title":{"type":"string"}},"required":["title"],"type":"object","title":"ReturnNoteItem","description":"ReturnNoteItem"},"OrderInformation":{"properties":{"orderDate":{"description":"The date the order was created.","format":"date-time","type":"string"},"orderNumber":{"description":"An identifier for the order.","pattern":"^.+$","type":"string"}},"type":"object","title":"OrderInformation","description":"OrderInformation"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/parcels/{parcelId}/returnnote":{"get":{"operationId":"getParcelReturnNote","parameters":[{"description":"ID of parcel you want to retrieve returnNote for","in":"path","name":"parcelId","required":true,"schema":{"type":"string"}},{"description":"Provide the localized values for the returnNote. If not provided the default locale is used. For example de_DE.","in":"query","name":"locale","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ReturnNote"}}},"description":"Get delivery note as pdf."},"401":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Parcel not found"}},"summary":"Get parcel return note","tags":["Shipments (Operations)"]}}}}
```

## GET /api/parcels/{parcelId}/transferlabel

> Get parcel transfer label

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/parcels/{parcelId}/transferlabel":{"get":{"description":"","operationId":"getParcelTransferLabel","parameters":[{"description":"ID of the parcel for which you want to get a transfer label","in":"path","name":"parcelId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/pdf":{}},"description":"The transfer label for the given parcel"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found"}},"summary":"Get parcel transfer label","tags":["Shipments (Operations)"]}}}}
```

## List parcels (search)

> This part of the API is in Beta status. For details please check the \<a href="<https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta>" target="\_blank">api-release-life-cycle documentation\</a>.\<br />\<br />Search for Parcel

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ParcelSearchPayload":{"properties":{"after":{"deprecated":false,"description":"The cursor to start after for forward pagination. The value is provided in the `pageInfo.endCursor` field of the response. Cannot be used with `before` or `last`.","type":"string"},"before":{"description":"The cursor to start before for backward pagination. The value is provided in the `pageInfo.startCursor` field of the response. Cannot be used with `after` or `size` (first).","type":"string"},"last":{"description":"Number of items to return for backward pagination. Cannot be used with 'size' (first). Default: 20.","maximum":250,"minimum":1,"type":"number"},"options":{"$ref":"#/components/schemas/SearchOptions"},"query":{"$ref":"#/components/schemas/ParcelSearchQuery"},"size":{"description":"Number of items to return for forward pagination. Cannot be used with 'last'. Default: 20.","maximum":250,"minimum":1,"type":"number"},"sort":{"description":"Use for sorting the result.","items":{"$ref":"#/components/schemas/ParcelSort"},"maxItems":1,"minItems":1,"type":"array"},"startAfterId":{"deprecated":true,"description":"The ID to start after. Deprecated, use `after` with the value provided in `pageInfo.endCursor` instead.","type":"string"}},"required":["query"],"title":"ParcelSearchPayload","type":"object","description":"ParcelSearchPayload"},"SearchOptions":{"properties":{"withTotal":{"description":"Set to true to include the total count of items in the search result.","type":"boolean"}},"title":"SearchOptions","type":"object","description":"SearchOptions"},"ParcelSearchQuery":{"properties":{"and":{"items":{"$ref":"#/components/schemas/ParcelSearchQuery"},"maxItems":500,"type":"array"},"carrierRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by carrierRef"},"created":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search entries by created. Applying a narrow and well-considered filter value is strongly recommended, as it can greatly improve response times, especially when working with large datasets."},"facilityRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by facilityRef"},"id":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by id"},"invoice":{"allOf":[{"$ref":"#/components/schemas/ParcelInvoiceFilter"}],"description":"Nested search by invoice"},"items":{"allOf":[{"$ref":"#/components/schemas/ParcelItemsListFilter"}],"description":"Nested list search by items"},"lastModified":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by lastModified"},"or":{"items":{"$ref":"#/components/schemas/ParcelSearchQuery"},"maxItems":500,"type":"array"},"recipient":{"allOf":[{"$ref":"#/components/schemas/ParcelRecipientFilter"}],"description":"Nested search by recipient"},"shipmentRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by shipmentRef"},"shortId":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by shortId"},"status":{"allOf":[{"$ref":"#/components/schemas/ParcelStatusEnumFilter"}],"description":"Search by status"}},"title":"ParcelSearchQuery","type":"object","description":"ParcelSearchQuery"},"StringFilter":{"properties":{"eq":{"maxLength":256,"type":"string"},"in":{"items":{"maxLength":256,"type":"string"},"maxItems":25,"type":"array"},"notEq":{"maxLength":256,"type":"string"},"notIn":{"items":{"maxLength":256,"type":"string"},"maxItems":25,"type":"array"}},"title":"StringFilter","type":"object","description":"StringFilter"},"DateFilter":{"properties":{"after":{"description":"Search using ISO‑8601 dates relative to today. Prefix with “–” for past dates. Results include events after the specified date. Example: “–P1D” for yesterday, “P1W” for next week.","maxLength":256,"type":"string"},"before":{"description":"Search using ISO‑8601 dates relative to today. Prefix with “–” for past dates. Results include events before the specified date. Example: “–P1D” for yesterday, “P1W” for next week.","maxLength":256,"type":"string"},"eq":{"format":"date-time","type":"string"},"gt":{"format":"date-time","type":"string"},"gte":{"format":"date-time","type":"string"},"lt":{"format":"date-time","type":"string"},"lte":{"format":"date-time","type":"string"},"notEq":{"format":"date-time","type":"string"}},"title":"DateFilter","type":"object","description":"DateFilter"},"ParcelInvoiceFilter":{"properties":{"companyName":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by companyName"},"email":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by email"},"firstName":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by firstName"},"lastName":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by lastName"}},"title":"ParcelInvoiceFilter","type":"object","description":"ParcelInvoiceFilter"},"StringSearchFilter":{"properties":{"eq":{"maxLength":256,"type":"string"},"in":{"items":{"maxLength":256,"type":"string"},"maxItems":25,"type":"array"},"like":{"description":"Search by regex pattern","maxLength":256,"type":"string"},"notEq":{"maxLength":256,"type":"string"},"notIn":{"items":{"maxLength":256,"type":"string"},"maxItems":25,"type":"array"}},"title":"StringSearchFilter","type":"object","description":"StringSearchFilter"},"ParcelItemsListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/ParcelItemsFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"ParcelItemsListFilter","type":"object","description":"ParcelItemsListFilter"},"ParcelItemsFilter":{"properties":{"article":{"allOf":[{"$ref":"#/components/schemas/ParcelItemsArticleFilter"}],"description":"Nested search by article"}},"title":"ParcelItemsFilter","type":"object","description":"ParcelItemsFilter"},"ParcelItemsArticleFilter":{"properties":{"tenantArticleId":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by tenantArticleId"},"title":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by title"}},"title":"ParcelItemsArticleFilter","type":"object","description":"ParcelItemsArticleFilter"},"ParcelRecipientFilter":{"properties":{"companyName":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by companyName"},"email":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by email"},"firstName":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by firstName"},"lastName":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by lastName"}},"title":"ParcelRecipientFilter","type":"object","description":"ParcelRecipientFilter"},"ParcelStatusEnumFilter":{"properties":{"eq":{"description":"Search by status","enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string"},"in":{"description":"Search by status","items":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string"},"maxItems":500,"type":"array"},"notEq":{"description":"Search by status","enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string"}},"title":"ParcelStatusEnumFilter","type":"object","description":"ParcelStatusEnumFilter"},"ParcelSort":{"properties":{"created":{"enum":["ASC","DESC"],"type":"string"},"lastModified":{"enum":["ASC","DESC"],"type":"string"}},"title":"ParcelSort","type":"object","description":"ParcelSort"},"ParcelPaginatedResult":{"properties":{"pageInfo":{"allOf":[{"$ref":"#/components/schemas/PageInfo"}],"description":"Pagination information for the search result."},"parcels":{"items":{"$ref":"#/components/schemas/Parcel"},"type":"array"},"total":{"description":"The total number of items matching the search criteria. Only filled, if withTotal is set to true in the search options.","minimum":0,"type":"number"}},"required":["pageInfo","parcels"],"title":"ParcelPaginatedResult","type":"object","description":"ParcelPaginatedResult"},"PageInfo":{"properties":{"endCursor":{"description":"The cursor to use to fetch the next page of items. Use with parameter `after`.","type":"string"},"hasNextPage":{"description":"If true, there are more items after the current page.","type":"boolean"},"hasPreviousPage":{"description":"If true, there are more items before the current page.","type":"boolean"},"startCursor":{"description":"The cursor to use to fetch the previous page of items.","type":"string"}},"required":["hasNextPage","hasPreviousPage","startCursor","endCursor"],"title":"PageInfo","type":"object","description":"PageInfo"},"Parcel":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierInformation":{"$ref":"#/components/schemas/ParcelCarrierInformation"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"Reference to the carrier this parcel should be send by","type":"string"},"customAttributes":{"description":"Attributes that can be added to the parcel. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"customProductValue":{"description":"Set this value if you want to overwrite the calculated product value of the parcel. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"dimensions":{"$ref":"#/components/schemas/ParcelDimensions"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"facilityRef":{"type":"string"},"id":{"description":"The id of this parcel. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"items":{"items":{"$ref":"#/components/schemas/ParcelItem"},"type":"array"},"loadUnitRefs":{"description":"Reference to array of load unit Refs","items":{"type":"string"},"type":"array"},"operativeProcessRef":{"type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickUpInformation":{"$ref":"#/components/schemas/ParcelPickUpInformation"},"postalCharges":{"$ref":"#/components/schemas/ParcelPostalCharge"},"processRef":{"type":"string"},"productValue":{"description":"Monetary value of all goods in this parcel. Needed for sending cross border packages (customs) To be interpreted as money in the currency given under paymentInformation.currency. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"productValueCurrency":{"$ref":"#/components/schemas/ProductValueCurrency"},"productValueType":{"$ref":"#/components/schemas/ProductValueType"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"result":{"$ref":"#/components/schemas/ParcelResult"},"returnAddress":{"$ref":"#/components/schemas/FacilityAddress"},"sender":{"$ref":"#/components/schemas/FacilityAddress"},"services":{"$ref":"#/components/schemas/ParcelServices"},"shipmentRef":{"description":"The id of this shipment this parcel has been created for.","type":"string"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"},"tenantOrderId":{"description":"Field can be used as a reference number in foreign systems, for example as a reference to the source system's identifier for this order.","type":"string"},"tenantParcelId":{"description":"Tenant specific parcel id, needs to be unique for non obsolete or canceled parcel","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"}},"required":["id","status","carrierRef","processRef","sender","recipient","loadUnitRefs"],"type":"object"}],"title":"Parcel","description":"Parcel"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ParcelCarrierInformation":{"additionalProperties":false,"description":"Carrier specific information about the parcel for the label creation","properties":{"shippingContainerNumber":{"description":"Specific shipping container number for the parcel","type":"string"}},"type":"object","title":"ParcelCarrierInformation"},"ParcelDimensions":{"additionalProperties":false,"nullable":true,"properties":{"customWeight":{"description":"Set this value if you want to overwrite the calculated weight of the parcel (in g).","type":"number"},"height":{"description":"The height of the package (in cm)","type":"number"},"length":{"description":"The length of the package (in cm)","type":"number"},"weight":{"description":"The weight of the package (in g)","type":"number"},"width":{"description":"The width of the package (in cm)","type":"number"}},"type":"object","title":"ParcelDimensions","description":"ParcelDimensions"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ParcelItem":{"allOf":[{"$ref":"#/components/schemas/LineItem"}],"properties":{"article":{"$ref":"#/components/schemas/ParcelItemArticle"},"countryOfManufacture":{"deprecated":true,"description":"Deprecated - use article.attribute.countryOfManufacture instead","type":"string"},"description":{"deprecated":true,"description":"Description - article.title will be used instead - of the given item/items","type":"string"},"hsCode":{"deprecated":true,"description":"Deprecated - use article.attribute.hsCode instead","maxLength":50,"type":"string"},"id":{"description":"The id of this parcelItem.","type":"string"},"originId":{"description":"The id of the line item this line item was originated from, before any split has happened. This can be used to restore the ‘pre-split’ status.","nullable":true,"type":"string"},"parcelItemValue":{"$ref":"#/components/schemas/ParcelItemValue","deprecated":true,"description":"Deprecated - use article.attribute.pricePerUnit and article.attribute.currency instead"},"quantity":{"description":"amount of the given items","minimum":1,"type":"integer"},"weightInGram":{"deprecated":true,"description":"Deprecated - use article.attribute.weightPerUnit instead - Weight of a single item in gram","type":"integer"}},"required":["id","quantity"],"type":"object","xml":{"name":"ParcelItem"},"title":"ParcelItem","description":"ParcelItem"},"LineItem":{"properties":{"article":{"description":"information about the lineItem","type":"object"},"customAttributes":{"description":"Attributes that can be added to the lineItem. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"globalLineItemId":{"description":"This id is used to identify if this line item is related to the line item of other operational entities.","type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"quantity":{"description":"The quantity of the lineItem","type":"number"},"recordableAttributes":{"description":"Customizable information about the lineItem that can be set during the process.","items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"},"scannableCodes":{"description":"Codes that can be used for scanning this lineItem","items":{"type":"string"},"type":"array"}},"required":["id"],"title":"LineItem","type":"object","description":"LineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ParcelItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ParcelItemArticle"},"title":"ParcelItemArticle","description":"ParcelItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"ParcelItemValue":{"description":"deprecated, use MandatoryShippingArticleAttribute.attributes.pricePerUnit instead","nullable":true,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"},"type":{"$ref":"#/components/schemas/ProductValueType"},"value":{"description":"Monetary Value of a single item in the given currency","type":"number"}},"required":["value","currency"],"type":"object","title":"ParcelItemValue"},"ProductValueType":{"enum":["INSURANCE","CUSTOMS","SHOP_PRICE"],"type":"string","title":"ProductValueType","description":"ProductValueType"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"ParcelPickUpInformation":{"additionalProperties":false,"nullable":true,"properties":{"endTime":{"description":"needs to be after start time","format":"date-time","type":"string"},"startTime":{"description":"needs to be before end time","format":"date-time","type":"string"}},"required":["startTime","endTime"],"type":"object","xml":{"name":"ParcelItemForCreation"},"title":"ParcelPickUpInformation","description":"ParcelPickUpInformation"},"ParcelPostalCharge":{"properties":{"currency":{"description":"Currency of the given value","type":"string"},"value":{"description":"Monetary Value in the given currency","type":"number"}},"required":["currency","value"],"title":"ParcelPostalCharge","description":"ParcelPostalCharge"},"ProductValueCurrency":{"additionalProperties":false,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"}},"required":["currency"],"type":"object","title":"ProductValueCurrency","description":"ProductValueCurrency"},"ParcelResult":{"description":"Within this object you can find the result of the request after it has been processed (status = DONE or FAILED)","properties":{"carrierParcelRef":{"description":"The reference number of the parcel by the carrier","maxLength":120,"minLength":1,"type":"string"},"carrierTrackingNumber":{"type":"string"},"carrierTrackingStatus":{"oneOf":[{"$ref":"#/components/schemas/TrackingStatus"},{"$ref":"#/components/schemas/DhlTrackingStatus"}]},"customsDocumentId":{"description":"The customs document id","type":"string"},"customsDocumentUrl":{"description":"The original customs document URL","type":"string"},"errors":{"additionalProperties":false,"description":"temporary field to show errors during parcel creation, will be removed in the future. used to create summary in error case","properties":{"labelError":{"type":"string"},"returnLabelError":{"type":"string"}},"type":"object"},"labelUrl":{"description":"The URL where you can download the label relative to the path of this resource","type":"string"},"proxyId":{"description":"The ID of the corresponding job at the CEP proxy (if used)","type":"string"},"returnLabelId":{"description":"The original return label id","type":"string"},"returnLabelUrl":{"description":"The original return label URL","type":"string"},"returnTrackingUrl":{"description":"The URL to track the return of this parcel","type":"string"},"sendLabelUrl":{"description":"The original send label URL","type":"string"},"summary":{"description":"Summary of the result of the request in a human readable form.","type":"string"},"trackingStatus":{"$ref":"#/components/schemas/TrackingStatus"},"trackingUrl":{"description":"The URL to track this parcel","type":"string"}},"required":["summary"],"type":"object","title":"ParcelResult"},"TrackingStatus":{"description":"The state of the KEP","enum":["registered","picked_up","delivered","not_delivered","transit","exception","out_for_delivery","destroyed","unknown","canceled","awaits_pickup_by_receiver","delayed","notification"],"title":"TrackingStatus","type":"string"},"DhlTrackingStatus":{"additionalProperties":false,"description":"Native trackingStatus provided by carrier","properties":{"description":{"description":"Description of the status","type":"string"},"location":{"$ref":"#/components/schemas/DhlTrackingLocation"},"remark":{"description":"Remark of the status","type":"string"},"status":{"description":"Status of the parcel as provided by carrier","type":"string"},"statusCode":{"description":"Status code of the parcel as provided by carrier","type":"string"},"statusDetailed":{"description":"Second status description","type":"string"},"timestamp":{"description":"Timestamp this status was set by the carrier","format":"date-time","type":"string"}},"required":["status"],"title":"DhlTrackingStatus","type":"object"},"DhlTrackingLocation":{"additionalProperties":false,"description":"Location information provided by DHL","properties":{"address":{"properties":{"addressLocality":{"type":"string"}},"type":"object"}},"title":"DhlTrackingLocation"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"ParcelServices":{"additionalProperties":false,"nullable":true,"properties":{"additionalTransportInsurance":{"description":"Additional insurance for the parcel by the carrier","type":"boolean"},"adultSignature":{"description":"Signature from some adult","type":"boolean"},"bulkyGoods":{"type":"boolean"},"customerSignature":{"description":"Signature from the ordering customer needed","type":"boolean"},"identityCheckCompany":{"description":"Identity check that can be done by a person of receiving company","type":"boolean"},"identityCheckPrivate":{"description":"Identity check that can be done by the receiving person","type":"boolean"},"saturdayDelivery":{"description":"Saturday Delivery","type":"boolean"},"signature":{"description":"Signature from anyone needed","type":"boolean"}},"type":"object","title":"ParcelServices","description":"ParcelServices"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/parcels/search":{"post":{"deprecated":false,"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />Search for Parcel","operationId":"searchParcel","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelSearchPayload"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelPaginatedResult"}}},"description":"Your search result"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this"}},"summary":"List parcels (search)","tags":["Shipments (Operations)"]}}}}
```

## POST /api/returnnotes

> Create return note

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ReturnNote":{"properties":{"companyAddress":{"$ref":"#/components/schemas/CompanyAddress"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddress"},"deliveryAddresses":{"description":"if this field is filled, the delivery address will be taken from here according to this sorting: INVOICE_ADDRESS > POSTAL_ADDRESS. Each type is only allowed once.","items":{"$ref":"#/components/schemas/DeliveryAddressWithType"},"type":"array"},"items":{"items":{"$ref":"#/components/schemas/ReturnNoteItem"},"type":"array"},"orderInformation":{"$ref":"#/components/schemas/OrderInformation"},"qrCodeContent":{"type":"string"}},"required":["orderInformation","items"],"type":"object","title":"ReturnNote","description":"ReturnNote"},"CompanyAddress":{"properties":{"city":{"pattern":"^.+$","type":"string"},"country":{"pattern":"^.+$","type":"string"},"houseNumber":{"pattern":"^.+$","type":"string"},"name":{"pattern":"^.+$","type":"string"},"postalCode":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["name","street","postalCode","city","country"],"type":"object","title":"CompanyAddress","description":"CompanyAddress"},"DeliveryAddress":{"properties":{"city":{"pattern":"^.+$","type":"string"},"companyName":{"pattern":"^.+$","type":"string"},"firstName":{"pattern":"^.+$","type":"string"},"houseNumber":{"pattern":"^.+$","type":"string"},"lastName":{"pattern":"^.+$","type":"string"},"personalTitle":{"pattern":"^.+$","type":"string"},"postalCode":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","postalCode","city"],"type":"object","title":"DeliveryAddress","description":"DeliveryAddress"},"DeliveryAddressWithType":{"allOf":[{"$ref":"#/components/schemas/DeliveryAddress"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"}},"required":["street","houseNumber","postalCode","city","addressType"],"type":"object","title":"DeliveryAddressWithType","description":"DeliveryAddressWithType"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"ReturnNoteItem":{"properties":{"id":{"type":"string"},"quantity":{"description":"optional parameter for picked quantity of the given line item","type":"integer"},"substitutes":{"description":"Titel of the item which is substituted through this item","type":"string"},"title":{"type":"string"}},"required":["title"],"type":"object","title":"ReturnNoteItem","description":"ReturnNoteItem"},"OrderInformation":{"properties":{"orderDate":{"description":"The date the order was created.","format":"date-time","type":"string"},"orderNumber":{"description":"An identifier for the order.","pattern":"^.+$","type":"string"}},"type":"object","title":"OrderInformation","description":"OrderInformation"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/returnnotes":{"post":{"operationId":"createReturnNote","parameters":[{"description":"Provide the localized values for the return note. If not provided the default locale is used. For example de_DE.","in":"query","name":"locale","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReturnNote"}}},"required":true},"responses":{"201":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ReturnNote"}}},"description":"Successfully created the return note."},"401":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Create return note","tags":["Shipments (Operations)"]}}}}
```

## GET /api/shipments

> List shipments

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"StrippedShipments":{"properties":{"shipments":{"items":{"$ref":"#/components/schemas/ShipmentWithSearchPath"},"type":"array"},"total":{"description":"Total number of found entities for this query","type":"integer"}},"type":"object","title":"StrippedShipments","description":"StrippedShipments"},"ShipmentWithSearchPath":{"allOf":[{"$ref":"#/components/schemas/Shipment"},{"additionalProperties":false,"properties":{"searchPaths":{"items":{"type":"string"},"minItems":0,"type":"array"}},"type":"object"}],"title":"ShipmentWithSearchPath","description":"ShipmentWithSearchPath"},"Shipment":{"allOf":[{"$ref":"#/components/schemas/ShipmentForCreation"},{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"default":false,"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierKey":{"type":"string"},"hasActiveCarrier":{"default":true,"description":"Indicates if there is an active carrier configuration to fulfill this shipment","type":"boolean"},"id":{"description":"The id of this Shipment. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItem"},"type":"array"},"parcels":{"items":{"$ref":"#/components/schemas/StrippedParcel"},"type":"array"},"status":{"$ref":"#/components/schemas/ShipmentStatus"}},"required":["id","status","hasActiveCarrier"],"type":"object"}],"title":"Shipment","description":"Shipment"},"ShipmentForCreation":{"additionalProperties":false,"properties":{"carrierLogoUrl":{"description":"The URL to the carrier logo","type":"string"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"The reference to the carrier for which the shipment is assigned to","type":"string"},"carrierServices":{"items":{"$ref":"#/components/schemas/CarrierServices"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the shipment. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"facilityRef":{"description":"The reference to the facility which the shipment is assigned to.","type":"string"},"invoiceAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickJobRef":{"description":"The id of the facility reference.","type":"string"},"postalAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"sourceAddress":{"$ref":"#/components/schemas/FacilityAddress"},"targetAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"targetTime":{"description":"At which time the result is expected.","format":"date-time","type":"string"},"targetTimeBaseDate":{"description":"The start date for the targetTime calculation.","format":"date-time","type":"string"},"tenantOrderId":{"description":"Reference to the order in the tenant system.","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["facilityRef","targetTime","orderDate"],"type":"object","xml":{"name":"Shipment"},"title":"ShipmentForCreation","description":"ShipmentForCreation"},"CarrierServices":{"description":"Services which should be booked from carrier","enum":["SIGNATURE","CUSTOMER_SIGNATURE","ADULT_SIGNATURE","SATURDAY_DELIVERY","IDENTITY_CHECK_COMPANY","IDENTITY_CHECK_PRIVATE","ADDITIONAL_TRANSPORTATION_INSURANCE"],"type":"string","title":"CarrierServices"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ShipmentLineItemForCreation":{"properties":{"article":{"$ref":"#/components/schemas/ShipmentLineItemArticle"},"customAttributes":{"description":"Attributes that can be added to the orderline. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","type":"string"},"quantity":{"description":"quantity of the specific article that has been ordered","format":"int64","minimum":1,"type":"integer"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttributeForCreation"},"type":"array"},"scannableCodes":{"items":{"description":"Codes, that identify the article","type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["quantity","article"],"type":"object","title":"ShipmentLineItemForCreation","description":"ShipmentLineItemForCreation"},"ShipmentLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ShipmentLineItemArticle"},"title":"ShipmentLineItemArticle","description":"ShipmentLineItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"RecordableAttributeForCreation":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","nullable":true,"type":"string"}},"required":["keyLocalized","recordingRule"],"title":"RecordableAttributeForCreation","type":"object","description":"RecordableAttributeForCreation"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ShipmentLineItem":{"allOf":[{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},{"properties":{"id":{"description":"The id of this lineItem. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"}},"required":["id"],"type":"object"}],"title":"ShipmentLineItem","description":"ShipmentLineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"StrippedParcel":{"properties":{"carrierRef":{"description":"The reference to the carrier for which the parcel is assigned to","type":"string"},"carrierTrackingNumber":{"type":"string"},"parcelRef":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"}},"required":["parcelRef","carrierRef","status"],"type":"object","title":"StrippedParcel","description":"StrippedParcel"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"ShipmentStatus":{"description":"Every newly created shipment is in state INITIAL. When the parcel labels should be requested the state changes to REQUEST and as soon as all parcel labels are successfully requested the state changes to CONFIRMED. The state COMPLETED is set in the end or the process","enum":["INITIAL","REQUEST","RETRYABLE","CONFIRMED","COMPLETED","CANCELED","OBSOLETE"],"type":"string","title":"ShipmentStatus"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/shipments":{"get":{"description":"","operationId":"getAllShipments","parameters":[{"description":"all entities after given Id","in":"query","name":"startAfterId","required":false,"schema":{"type":"string"}},{"description":"number of entities to show","in":"query","name":"size","required":false,"schema":{"default":25,"type":"integer"}},{"description":"This query can be used to find shipments for a referenced pickjob","in":"query","name":"pickJobRef","required":false,"schema":{"type":"string"}},{"description":"This query can be used to find shipments belonging to the referenced facility","in":"query","name":"facilityRef","required":false,"schema":{"type":"string"}},{"description":"This query can be used to find shipments for a referenced carrier","in":"query","name":"carrierRef","required":false,"schema":{"type":"string"}},{"description":"This query can be used to find shipments with the given tenantOrderId","in":"query","name":"tenantOrderId","required":false,"schema":{"type":"string"}},{"description":"Find shipments with one the the given carriers","explode":false,"in":"query","name":"carrierKeys","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Find shipments in one of the given status","explode":false,"in":"query","name":"status","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Find shipments with parcels in one of the given status","explode":false,"in":"query","name":"parcelStatus","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Start date range for shipments","in":"query","name":"startTargetTime","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"End date range for shipments","in":"query","name":"endTargetTime","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Parameter to filter anonymized shipments","in":"query","name":"anonymized","required":false,"schema":{"type":"boolean"}},{"description":"Fulltext search in shipment's tenantOrderId, shortId, parcels.carrierTrackingNumber, lineItems.article.tenantArticleId, lineItems.article.title, invoiceAddress, targetAddress and customerName","in":"query","name":"searchTerm","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrippedShipments"}}},"description":"Shipments are found."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"List shipments","tags":["Shipments (Operations)"]}}}}
```

## POST /api/shipments

> Create shipment

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ShipmentForCreation":{"additionalProperties":false,"properties":{"carrierLogoUrl":{"description":"The URL to the carrier logo","type":"string"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"The reference to the carrier for which the shipment is assigned to","type":"string"},"carrierServices":{"items":{"$ref":"#/components/schemas/CarrierServices"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the shipment. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"facilityRef":{"description":"The reference to the facility which the shipment is assigned to.","type":"string"},"invoiceAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickJobRef":{"description":"The id of the facility reference.","type":"string"},"postalAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"sourceAddress":{"$ref":"#/components/schemas/FacilityAddress"},"targetAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"targetTime":{"description":"At which time the result is expected.","format":"date-time","type":"string"},"targetTimeBaseDate":{"description":"The start date for the targetTime calculation.","format":"date-time","type":"string"},"tenantOrderId":{"description":"Reference to the order in the tenant system.","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["facilityRef","targetTime","orderDate"],"type":"object","xml":{"name":"Shipment"},"title":"ShipmentForCreation","description":"ShipmentForCreation"},"CarrierServices":{"description":"Services which should be booked from carrier","enum":["SIGNATURE","CUSTOMER_SIGNATURE","ADULT_SIGNATURE","SATURDAY_DELIVERY","IDENTITY_CHECK_COMPANY","IDENTITY_CHECK_PRIVATE","ADDITIONAL_TRANSPORTATION_INSURANCE"],"type":"string","title":"CarrierServices"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ShipmentLineItemForCreation":{"properties":{"article":{"$ref":"#/components/schemas/ShipmentLineItemArticle"},"customAttributes":{"description":"Attributes that can be added to the orderline. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","type":"string"},"quantity":{"description":"quantity of the specific article that has been ordered","format":"int64","minimum":1,"type":"integer"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttributeForCreation"},"type":"array"},"scannableCodes":{"items":{"description":"Codes, that identify the article","type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["quantity","article"],"type":"object","title":"ShipmentLineItemForCreation","description":"ShipmentLineItemForCreation"},"ShipmentLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ShipmentLineItemArticle"},"title":"ShipmentLineItemArticle","description":"ShipmentLineItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"RecordableAttributeForCreation":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","nullable":true,"type":"string"}},"required":["keyLocalized","recordingRule"],"title":"RecordableAttributeForCreation","type":"object","description":"RecordableAttributeForCreation"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"Shipment":{"allOf":[{"$ref":"#/components/schemas/ShipmentForCreation"},{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"default":false,"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierKey":{"type":"string"},"hasActiveCarrier":{"default":true,"description":"Indicates if there is an active carrier configuration to fulfill this shipment","type":"boolean"},"id":{"description":"The id of this Shipment. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItem"},"type":"array"},"parcels":{"items":{"$ref":"#/components/schemas/StrippedParcel"},"type":"array"},"status":{"$ref":"#/components/schemas/ShipmentStatus"}},"required":["id","status","hasActiveCarrier"],"type":"object"}],"title":"Shipment","description":"Shipment"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ShipmentLineItem":{"allOf":[{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},{"properties":{"id":{"description":"The id of this lineItem. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"}},"required":["id"],"type":"object"}],"title":"ShipmentLineItem","description":"ShipmentLineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"StrippedParcel":{"properties":{"carrierRef":{"description":"The reference to the carrier for which the parcel is assigned to","type":"string"},"carrierTrackingNumber":{"type":"string"},"parcelRef":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"}},"required":["parcelRef","carrierRef","status"],"type":"object","title":"StrippedParcel","description":"StrippedParcel"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"ShipmentStatus":{"description":"Every newly created shipment is in state INITIAL. When the parcel labels should be requested the state changes to REQUEST and as soon as all parcel labels are successfully requested the state changes to CONFIRMED. The state COMPLETED is set in the end or the process","enum":["INITIAL","REQUEST","RETRYABLE","CONFIRMED","COMPLETED","CANCELED","OBSOLETE"],"type":"string","title":"ShipmentStatus"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/shipments":{"post":{"operationId":"addShipment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShipmentForCreation"}}},"description":"Shipment object supplied by your picking app","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shipment"}}},"description":"The Shipment was successfully created. The Location header contains the URL of the Shipment."},"303":{"description":"The Shipment already exists. The Location header contains the URL of the Shipment."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Create shipment","tags":["Shipments (Operations)"]}}}}
```

## GET /api/shipments/{shipmentId}

> Get shipment

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Shipment":{"allOf":[{"$ref":"#/components/schemas/ShipmentForCreation"},{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"default":false,"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierKey":{"type":"string"},"hasActiveCarrier":{"default":true,"description":"Indicates if there is an active carrier configuration to fulfill this shipment","type":"boolean"},"id":{"description":"The id of this Shipment. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItem"},"type":"array"},"parcels":{"items":{"$ref":"#/components/schemas/StrippedParcel"},"type":"array"},"status":{"$ref":"#/components/schemas/ShipmentStatus"}},"required":["id","status","hasActiveCarrier"],"type":"object"}],"title":"Shipment","description":"Shipment"},"ShipmentForCreation":{"additionalProperties":false,"properties":{"carrierLogoUrl":{"description":"The URL to the carrier logo","type":"string"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"The reference to the carrier for which the shipment is assigned to","type":"string"},"carrierServices":{"items":{"$ref":"#/components/schemas/CarrierServices"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the shipment. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"facilityRef":{"description":"The reference to the facility which the shipment is assigned to.","type":"string"},"invoiceAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickJobRef":{"description":"The id of the facility reference.","type":"string"},"postalAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"sourceAddress":{"$ref":"#/components/schemas/FacilityAddress"},"targetAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"targetTime":{"description":"At which time the result is expected.","format":"date-time","type":"string"},"targetTimeBaseDate":{"description":"The start date for the targetTime calculation.","format":"date-time","type":"string"},"tenantOrderId":{"description":"Reference to the order in the tenant system.","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["facilityRef","targetTime","orderDate"],"type":"object","xml":{"name":"Shipment"},"title":"ShipmentForCreation","description":"ShipmentForCreation"},"CarrierServices":{"description":"Services which should be booked from carrier","enum":["SIGNATURE","CUSTOMER_SIGNATURE","ADULT_SIGNATURE","SATURDAY_DELIVERY","IDENTITY_CHECK_COMPANY","IDENTITY_CHECK_PRIVATE","ADDITIONAL_TRANSPORTATION_INSURANCE"],"type":"string","title":"CarrierServices"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ShipmentLineItemForCreation":{"properties":{"article":{"$ref":"#/components/schemas/ShipmentLineItemArticle"},"customAttributes":{"description":"Attributes that can be added to the orderline. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","type":"string"},"quantity":{"description":"quantity of the specific article that has been ordered","format":"int64","minimum":1,"type":"integer"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttributeForCreation"},"type":"array"},"scannableCodes":{"items":{"description":"Codes, that identify the article","type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["quantity","article"],"type":"object","title":"ShipmentLineItemForCreation","description":"ShipmentLineItemForCreation"},"ShipmentLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ShipmentLineItemArticle"},"title":"ShipmentLineItemArticle","description":"ShipmentLineItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"RecordableAttributeForCreation":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","nullable":true,"type":"string"}},"required":["keyLocalized","recordingRule"],"title":"RecordableAttributeForCreation","type":"object","description":"RecordableAttributeForCreation"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ShipmentLineItem":{"allOf":[{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},{"properties":{"id":{"description":"The id of this lineItem. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"}},"required":["id"],"type":"object"}],"title":"ShipmentLineItem","description":"ShipmentLineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"StrippedParcel":{"properties":{"carrierRef":{"description":"The reference to the carrier for which the parcel is assigned to","type":"string"},"carrierTrackingNumber":{"type":"string"},"parcelRef":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"}},"required":["parcelRef","carrierRef","status"],"type":"object","title":"StrippedParcel","description":"StrippedParcel"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"ShipmentStatus":{"description":"Every newly created shipment is in state INITIAL. When the parcel labels should be requested the state changes to REQUEST and as soon as all parcel labels are successfully requested the state changes to CONFIRMED. The state COMPLETED is set in the end or the process","enum":["INITIAL","REQUEST","RETRYABLE","CONFIRMED","COMPLETED","CANCELED","OBSOLETE"],"type":"string","title":"ShipmentStatus"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/shipments/{shipmentId}":{"get":{"description":"","operationId":"getShipment","parameters":[{"description":"ID of Shipment you want to get","in":"path","name":"shipmentId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shipment"}}},"description":"Shipment was found & you were allowed to access it. The result is in the body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Shipment not found"}},"summary":"Get shipment","tags":["Shipments (Operations)"]}}}}
```

## PATCH /api/shipments/{shipmentId}

> Update shipment

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ShipmentPatchActions":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/ModifyShipment"},"minItems":1,"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version","actions"],"type":"object","xml":{"name":"ShipmentPatchActions"},"title":"ShipmentPatchActions","description":"ShipmentPatchActions"},"ModifyShipment":{"allOf":[{"$ref":"#/components/schemas/AbstractModificationAction"},{"additionalProperties":false,"properties":{"action":{"description":"Use value 'ModifyShipment', because you want to modify a shipment","enum":["ModifyShipment"],"type":"string"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"The reference to the carrier for which the shipment is assigned to","type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickJobRef":{"description":"The reference to the pickjob for which the shipment is assigned to","type":"string"},"status":{"$ref":"#/components/schemas/ShipmentStatus"},"targetAddress":{"$ref":"#/components/schemas/ConsumerAddress"}},"required":["action"],"type":"object"}],"xml":{"name":"ModifyShipment"},"title":"ModifyShipment","description":"ModifyShipment"},"AbstractModificationAction":{"discriminator":{"propertyName":"action"},"properties":{"action":{"description":"","enum":["AddAllowedValueToTag","ModifyPickJob","ModifyPickJobLastEditor","RestartPickJob","ResetPickJob","CancelPickRun","CancelHandoverjob","AbortPickJob","FinishPickRun","StartPickRun","ModifyPickLineItem","ModifyPickRunLineItem","ModifyPackJob","PausePackJob","ModifyPackLineItem","SplitLineItemsPackJob","ModifyFacility","ModifyListing","ModifyRetainedOfflineStock","ModifyListingReactivationAfter","ModifyUser","ModifyShipment","ModifyHandoverjob","ModifyCarrier","ModifyShortpick","ModifyRoutingPlan","ModifyFence","ModifyRating","ModifyTimingMode","ModifyGlobalRoutingConfiguration","ModifyOrderSplit","ModifyPrioritization","ModifyLoadUnitType","ModifyFeature","ModifyParcel","ModifyParcelLoadUnit","ModifyRestowItem","RemovePickJobFromPickRun","ModifyPartialStock","AddTagsToProcess","AssignFacilityToProcess","UpdateGdprCleanupDateAction","ModifyStorageLocation","ModifyPackingContainerType","ModifyPackingContainerTypeIcon","ReplaceCodesInPackingTargetContainer","ReplaceLoadUnitLineItems","AddLineItemToPackingTargetContainer","RemoveLineItemFromPackingTargetContainer","UpdateLineItemOnPackingTargetContainer","UpdatePackingTargetContainerLineItemRecordableAttributes","ModifyCustomService","UnlockOrder"],"type":"string"}},"required":["action"],"type":"object","xml":{"name":"AbstractModificationAction"},"title":"AbstractModificationAction","description":"AbstractModificationAction"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"ShipmentStatus":{"description":"Every newly created shipment is in state INITIAL. When the parcel labels should be requested the state changes to REQUEST and as soon as all parcel labels are successfully requested the state changes to CONFIRMED. The state COMPLETED is set in the end or the process","enum":["INITIAL","REQUEST","RETRYABLE","CONFIRMED","COMPLETED","CANCELED","OBSOLETE"],"type":"string","title":"ShipmentStatus"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"Shipment":{"allOf":[{"$ref":"#/components/schemas/ShipmentForCreation"},{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"default":false,"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierKey":{"type":"string"},"hasActiveCarrier":{"default":true,"description":"Indicates if there is an active carrier configuration to fulfill this shipment","type":"boolean"},"id":{"description":"The id of this Shipment. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItem"},"type":"array"},"parcels":{"items":{"$ref":"#/components/schemas/StrippedParcel"},"type":"array"},"status":{"$ref":"#/components/schemas/ShipmentStatus"}},"required":["id","status","hasActiveCarrier"],"type":"object"}],"title":"Shipment","description":"Shipment"},"ShipmentForCreation":{"additionalProperties":false,"properties":{"carrierLogoUrl":{"description":"The URL to the carrier logo","type":"string"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"The reference to the carrier for which the shipment is assigned to","type":"string"},"carrierServices":{"items":{"$ref":"#/components/schemas/CarrierServices"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the shipment. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"facilityRef":{"description":"The reference to the facility which the shipment is assigned to.","type":"string"},"invoiceAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickJobRef":{"description":"The id of the facility reference.","type":"string"},"postalAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"sourceAddress":{"$ref":"#/components/schemas/FacilityAddress"},"targetAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"targetTime":{"description":"At which time the result is expected.","format":"date-time","type":"string"},"targetTimeBaseDate":{"description":"The start date for the targetTime calculation.","format":"date-time","type":"string"},"tenantOrderId":{"description":"Reference to the order in the tenant system.","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["facilityRef","targetTime","orderDate"],"type":"object","xml":{"name":"Shipment"},"title":"ShipmentForCreation","description":"ShipmentForCreation"},"CarrierServices":{"description":"Services which should be booked from carrier","enum":["SIGNATURE","CUSTOMER_SIGNATURE","ADULT_SIGNATURE","SATURDAY_DELIVERY","IDENTITY_CHECK_COMPANY","IDENTITY_CHECK_PRIVATE","ADDITIONAL_TRANSPORTATION_INSURANCE"],"type":"string","title":"CarrierServices"},"ShipmentLineItemForCreation":{"properties":{"article":{"$ref":"#/components/schemas/ShipmentLineItemArticle"},"customAttributes":{"description":"Attributes that can be added to the orderline. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","type":"string"},"quantity":{"description":"quantity of the specific article that has been ordered","format":"int64","minimum":1,"type":"integer"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttributeForCreation"},"type":"array"},"scannableCodes":{"items":{"description":"Codes, that identify the article","type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["quantity","article"],"type":"object","title":"ShipmentLineItemForCreation","description":"ShipmentLineItemForCreation"},"ShipmentLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ShipmentLineItemArticle"},"title":"ShipmentLineItemArticle","description":"ShipmentLineItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"RecordableAttributeForCreation":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","nullable":true,"type":"string"}},"required":["keyLocalized","recordingRule"],"title":"RecordableAttributeForCreation","type":"object","description":"RecordableAttributeForCreation"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ShipmentLineItem":{"allOf":[{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},{"properties":{"id":{"description":"The id of this lineItem. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"}},"required":["id"],"type":"object"}],"title":"ShipmentLineItem","description":"ShipmentLineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"StrippedParcel":{"properties":{"carrierRef":{"description":"The reference to the carrier for which the parcel is assigned to","type":"string"},"carrierTrackingNumber":{"type":"string"},"parcelRef":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"}},"required":["parcelRef","carrierRef","status"],"type":"object","title":"StrippedParcel","description":"StrippedParcel"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/shipments/{shipmentId}":{"patch":{"description":"","operationId":"patchShipment","parameters":[{"description":"ID of shipment you want to patch","in":"path","name":"shipmentId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShipmentPatchActions"}}},"description":"Patch set","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shipment"}}},"description":"Shipment was found & patch-set has been applied. The patched entity is in the body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity version conflict"}},"summary":"Update shipment","tags":["Shipments (Operations)"]}}}}
```

## Call shipment action

> This part of the API is in Beta status. For details please check the \<a href="<https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta>" target="\_blank">api-release-life-cycle documentation\</a>.\<br />\<br />

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ShipmentActionsParameter":{"anyOf":[{"$ref":"#/components/schemas/ShipmentSplitLineItemsActionParameter"},{"$ref":"#/components/schemas/UpdateShipmentLineItemRecordableAttributesActionParameter"}],"title":"ShipmentActionsParameter","description":"ShipmentActionsParameter"},"ShipmentSplitLineItemsActionParameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/components/schemas/ShipmentSplitLineItemsActionEnum"},"splitLineItemsInfo":{"items":{"$ref":"#/components/schemas/ShipmentSplitLineItemsInfo"},"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","type":"integer"}},"required":["name","version","splitLineItemsInfo"],"title":"ShipmentSplitLineItemsActionParameter","type":"object","description":"ShipmentSplitLineItemsActionParameter"},"ShipmentSplitLineItemsActionEnum":{"enum":["SPLIT_LINE_LINES_SHIPMENT"],"type":"string","title":"ShipmentSplitLineItemsActionEnum","description":"ShipmentSplitLineItemsActionEnum"},"ShipmentSplitLineItemsInfo":{"additionalProperties":false,"properties":{"lineItemId":{"description":"references the id of the item of a shipment","type":"string"},"quantity":{"description":"quantity of the specific item that has been shipped","minimum":1,"type":"integer"}},"required":["lineItemId","quantity"],"type":"object","title":"ShipmentSplitLineItemsInfo","description":"ShipmentSplitLineItemsInfo"},"UpdateShipmentLineItemRecordableAttributesActionParameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/components/schemas/UpdateShipmentLineItemRecordableAttributesActionEnum"},"recordableAttributeUpdates":{"items":{"$ref":"#/components/schemas/RecordableAttributeForUpdate"},"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","type":"integer"}},"required":["name","version","recordableAttributeUpdates"],"title":"UpdateShipmentLineItemRecordableAttributesActionParameter","type":"object","description":"UpdateShipmentLineItemRecordableAttributesActionParameter"},"UpdateShipmentLineItemRecordableAttributesActionEnum":{"enum":["UPDATE_SHIPMENT_LINE_ITEM_RECORDABLE_ATTRIBUTES"],"type":"string","title":"UpdateShipmentLineItemRecordableAttributesActionEnum","description":"UpdateShipmentLineItemRecordableAttributesActionEnum"},"RecordableAttributeForUpdate":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute to set","minLength":1,"nullable":true,"type":"string"},"recordableAttributeId":{"description":"id of the recordable attribute to update","type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute to set","nullable":true,"type":"string"}},"required":["recordableAttributeId"],"title":"RecordableAttributeForUpdate","type":"object","description":"RecordableAttributeForUpdate"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"Shipment":{"allOf":[{"$ref":"#/components/schemas/ShipmentForCreation"},{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"default":false,"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierKey":{"type":"string"},"hasActiveCarrier":{"default":true,"description":"Indicates if there is an active carrier configuration to fulfill this shipment","type":"boolean"},"id":{"description":"The id of this Shipment. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItem"},"type":"array"},"parcels":{"items":{"$ref":"#/components/schemas/StrippedParcel"},"type":"array"},"status":{"$ref":"#/components/schemas/ShipmentStatus"}},"required":["id","status","hasActiveCarrier"],"type":"object"}],"title":"Shipment","description":"Shipment"},"ShipmentForCreation":{"additionalProperties":false,"properties":{"carrierLogoUrl":{"description":"The URL to the carrier logo","type":"string"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"The reference to the carrier for which the shipment is assigned to","type":"string"},"carrierServices":{"items":{"$ref":"#/components/schemas/CarrierServices"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the shipment. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"facilityRef":{"description":"The reference to the facility which the shipment is assigned to.","type":"string"},"invoiceAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickJobRef":{"description":"The id of the facility reference.","type":"string"},"postalAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"sourceAddress":{"$ref":"#/components/schemas/FacilityAddress"},"targetAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"targetTime":{"description":"At which time the result is expected.","format":"date-time","type":"string"},"targetTimeBaseDate":{"description":"The start date for the targetTime calculation.","format":"date-time","type":"string"},"tenantOrderId":{"description":"Reference to the order in the tenant system.","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["facilityRef","targetTime","orderDate"],"type":"object","xml":{"name":"Shipment"},"title":"ShipmentForCreation","description":"ShipmentForCreation"},"CarrierServices":{"description":"Services which should be booked from carrier","enum":["SIGNATURE","CUSTOMER_SIGNATURE","ADULT_SIGNATURE","SATURDAY_DELIVERY","IDENTITY_CHECK_COMPANY","IDENTITY_CHECK_PRIVATE","ADDITIONAL_TRANSPORTATION_INSURANCE"],"type":"string","title":"CarrierServices"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ShipmentLineItemForCreation":{"properties":{"article":{"$ref":"#/components/schemas/ShipmentLineItemArticle"},"customAttributes":{"description":"Attributes that can be added to the orderline. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","type":"string"},"quantity":{"description":"quantity of the specific article that has been ordered","format":"int64","minimum":1,"type":"integer"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttributeForCreation"},"type":"array"},"scannableCodes":{"items":{"description":"Codes, that identify the article","type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["quantity","article"],"type":"object","title":"ShipmentLineItemForCreation","description":"ShipmentLineItemForCreation"},"ShipmentLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ShipmentLineItemArticle"},"title":"ShipmentLineItemArticle","description":"ShipmentLineItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"RecordableAttributeForCreation":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","nullable":true,"type":"string"}},"required":["keyLocalized","recordingRule"],"title":"RecordableAttributeForCreation","type":"object","description":"RecordableAttributeForCreation"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ShipmentLineItem":{"allOf":[{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},{"properties":{"id":{"description":"The id of this lineItem. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"}},"required":["id"],"type":"object"}],"title":"ShipmentLineItem","description":"ShipmentLineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"StrippedParcel":{"properties":{"carrierRef":{"description":"The reference to the carrier for which the parcel is assigned to","type":"string"},"carrierTrackingNumber":{"type":"string"},"parcelRef":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"}},"required":["parcelRef","carrierRef","status"],"type":"object","title":"StrippedParcel","description":"StrippedParcel"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"ShipmentStatus":{"description":"Every newly created shipment is in state INITIAL. When the parcel labels should be requested the state changes to REQUEST and as soon as all parcel labels are successfully requested the state changes to CONFIRMED. The state COMPLETED is set in the end or the process","enum":["INITIAL","REQUEST","RETRYABLE","CONFIRMED","COMPLETED","CANCELED","OBSOLETE"],"type":"string","title":"ShipmentStatus"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/shipments/{shipmentId}/actions":{"post":{"operationId":"shipmentActions","parameters":[{"description":"Reference to the shipment you want to call an action for","in":"path","name":"shipmentId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShipmentActionsParameter"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shipment"}}},"description":"Updated Shipment in the body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Call shipment action","tags":["Shipments (Operations)"],"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />"}}}}
```

## GET /api/shipments/{shipmentId}/deliverynote

> Get shipment delivery note

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"DeliveryNote":{"properties":{"companyAddress":{"$ref":"#/components/schemas/CompanyAddress"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddress","description":"use this if no deliveryAddresses are passed."},"deliveryAddresses":{"description":"if this field is filled, the delivery address will be taken from here according to this sorting: PARCEL_LOCKER > POSTAL_ADDRESS > INVOICE_ADDRESS. Each type is only allowed once.","items":{"$ref":"#/components/schemas/DeliveryAddressWithType"},"type":"array"},"items":{"items":{"$ref":"#/components/schemas/DeliveryNoteItem"},"type":"array"},"orderInformation":{"$ref":"#/components/schemas/OrderInformation"}},"required":["orderInformation","items"],"type":"object","title":"DeliveryNote","description":"DeliveryNote"},"CompanyAddress":{"properties":{"city":{"pattern":"^.+$","type":"string"},"country":{"pattern":"^.+$","type":"string"},"houseNumber":{"pattern":"^.+$","type":"string"},"name":{"pattern":"^.+$","type":"string"},"postalCode":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["name","street","postalCode","city","country"],"type":"object","title":"CompanyAddress","description":"CompanyAddress"},"DeliveryAddress":{"properties":{"city":{"pattern":"^.+$","type":"string"},"companyName":{"pattern":"^.+$","type":"string"},"firstName":{"pattern":"^.+$","type":"string"},"houseNumber":{"pattern":"^.+$","type":"string"},"lastName":{"pattern":"^.+$","type":"string"},"personalTitle":{"pattern":"^.+$","type":"string"},"postalCode":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","postalCode","city"],"type":"object","title":"DeliveryAddress","description":"DeliveryAddress"},"DeliveryAddressWithType":{"allOf":[{"$ref":"#/components/schemas/DeliveryAddress"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"}},"required":["street","houseNumber","postalCode","city","addressType"],"type":"object","title":"DeliveryAddressWithType","description":"DeliveryAddressWithType"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"DeliveryNoteItem":{"properties":{"id":{"type":"string"},"quantity":{"type":"string"},"substitutes":{"description":"Titel of the item which is substituted through this item","type":"string"},"title":{"type":"string"}},"required":["id","title","quantity"],"type":"object","title":"DeliveryNoteItem","description":"DeliveryNoteItem"},"OrderInformation":{"properties":{"orderDate":{"description":"The date the order was created.","format":"date-time","type":"string"},"orderNumber":{"description":"An identifier for the order.","pattern":"^.+$","type":"string"}},"type":"object","title":"OrderInformation","description":"OrderInformation"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/shipments/{shipmentId}/deliverynote":{"get":{"operationId":"getShipmentDeliveryNote","parameters":[{"description":"ID of shipment you want to retrieve delivery note for","in":"path","name":"shipmentId","required":true,"schema":{"type":"string"}},{"description":"Provide the localized values for the delivery note. If not provided the default locale is used. For example de_DE.","in":"query","name":"locale","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/DeliveryNote"}}},"description":"Get delivery note as pdf."},"401":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Shipment not found"}},"summary":"Get shipment delivery note","tags":["Shipments (Operations)"]}}}}
```

## POST /api/shipments/{shipmentId}/parcels

> Create shipment parcel

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ParcelForCreation":{"additionalProperties":false,"properties":{"carrierInformation":{"$ref":"#/components/schemas/ParcelCarrierInformation"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"references the carrier to be used for sending. Can not be set when creating a parcel for an existing shipment.","type":"string"},"customAttributes":{"description":"Attributes that can be added to the parcel. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"customProductValue":{"description":"Set this value if you want to overwrite the calculated product value of the parcel.","type":"number"},"dimensions":{"$ref":"#/components/schemas/ParcelDimensions"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"items":{"items":{"$ref":"#/components/schemas/ParcelItemForCreation"},"type":"array"},"loadUnitRefs":{"description":"Reference to array of load unit Refs","items":{"type":"string"},"type":"array"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickUpInformation":{"$ref":"#/components/schemas/ParcelPickUpInformation"},"productValue":{"description":"Monetary value of all goods in this parcel. Needed for sending cross border packages (customs) To be interpreted as money in the currency given under paymentInformation.currency. This value is calculated from the items in the parcel.","type":"number"},"productValueCurrency":{"$ref":"#/components/schemas/ProductValueCurrency"},"productValueType":{"$ref":"#/components/schemas/ProductValueType"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"result":{"$ref":"#/components/schemas/ParcelResult"},"returnAddress":{"$ref":"#/components/schemas/FacilityAddress"},"sender":{"$ref":"#/components/schemas/FacilityAddress"},"services":{"$ref":"#/components/schemas/ParcelServices"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"},"tenantOrderId":{"description":"Field can be used as a reference number in foreign systems, for example as a reference to the source system's identifier for this order.","type":"string"},"tenantParcelId":{"description":"Tenant specific parcel id, needs to be unique for non obsolete or canceled parcel","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"}},"type":"object","title":"ParcelForCreation","description":"ParcelForCreation"},"ParcelCarrierInformation":{"additionalProperties":false,"description":"Carrier specific information about the parcel for the label creation","properties":{"shippingContainerNumber":{"description":"Specific shipping container number for the parcel","type":"string"}},"type":"object","title":"ParcelCarrierInformation"},"ParcelDimensions":{"additionalProperties":false,"nullable":true,"properties":{"customWeight":{"description":"Set this value if you want to overwrite the calculated weight of the parcel (in g).","type":"number"},"height":{"description":"The height of the package (in cm)","type":"number"},"length":{"description":"The length of the package (in cm)","type":"number"},"weight":{"description":"The weight of the package (in g)","type":"number"},"width":{"description":"The width of the package (in cm)","type":"number"}},"type":"object","title":"ParcelDimensions","description":"ParcelDimensions"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ParcelItemForCreation":{"allOf":[{"$ref":"#/components/schemas/LineItemForCreation"}],"properties":{"article":{"$ref":"#/components/schemas/ParcelItemArticle"},"countryOfManufacture":{"deprecated":true,"description":"Deprecated - use article.attribute.countryOfManufacture instead","type":"string"},"description":{"description":"Description of the given item/items","type":"string"},"hsCode":{"deprecated":true,"description":"Deprecated - use article.attribute.hsCode instead","maxLength":50,"type":"string"},"parcelItemValue":{"$ref":"#/components/schemas/ParcelItemValue","deprecated":true,"description":"Deprecated - use article.attribute.pricePerUnit and article.attribute.currency instead"},"quantity":{"description":"amount of the given items","minimum":1,"type":"integer"},"weightInGram":{"deprecated":true,"description":"Weight of a single item in gram. Deprecated - Use article.attribute.weightPerUnit instead","type":"integer"}},"required":["quantity"],"type":"object","xml":{"name":"ParcelItemForCreation"},"title":"ParcelItemForCreation","description":"ParcelItemForCreation"},"LineItemForCreation":{"properties":{"article":{"description":"information about the lineItem","type":"object"},"customAttributes":{"description":"Attributes that can be added to the lineItem. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"globalLineItemId":{"description":"This id is used to identify if this line item is related to the line item of other operational entities.","type":"string"},"quantity":{"description":"The quantity of the lineItem","type":"number"},"recordableAttributes":{"description":"Customizable information about the lineItem that can be set during the process.","items":{"$ref":"#/components/schemas/RecordableAttributeForCreation"},"type":"array"},"scannableCodes":{"description":"Codes that can be used for scanning this lineItem","items":{"type":"string"},"type":"array"}},"title":"LineItemForCreation","type":"object","description":"LineItemForCreation"},"RecordableAttributeForCreation":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","nullable":true,"type":"string"}},"required":["keyLocalized","recordingRule"],"title":"RecordableAttributeForCreation","type":"object","description":"RecordableAttributeForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ParcelItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ParcelItemArticle"},"title":"ParcelItemArticle","description":"ParcelItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"ParcelItemValue":{"description":"deprecated, use MandatoryShippingArticleAttribute.attributes.pricePerUnit instead","nullable":true,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"},"type":{"$ref":"#/components/schemas/ProductValueType"},"value":{"description":"Monetary Value of a single item in the given currency","type":"number"}},"required":["value","currency"],"type":"object","title":"ParcelItemValue"},"ProductValueType":{"enum":["INSURANCE","CUSTOMS","SHOP_PRICE"],"type":"string","title":"ProductValueType","description":"ProductValueType"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"ParcelPickUpInformation":{"additionalProperties":false,"nullable":true,"properties":{"endTime":{"description":"needs to be after start time","format":"date-time","type":"string"},"startTime":{"description":"needs to be before end time","format":"date-time","type":"string"}},"required":["startTime","endTime"],"type":"object","xml":{"name":"ParcelItemForCreation"},"title":"ParcelPickUpInformation","description":"ParcelPickUpInformation"},"ProductValueCurrency":{"additionalProperties":false,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"}},"required":["currency"],"type":"object","title":"ProductValueCurrency","description":"ProductValueCurrency"},"ParcelResult":{"description":"Within this object you can find the result of the request after it has been processed (status = DONE or FAILED)","properties":{"carrierParcelRef":{"description":"The reference number of the parcel by the carrier","maxLength":120,"minLength":1,"type":"string"},"carrierTrackingNumber":{"type":"string"},"carrierTrackingStatus":{"oneOf":[{"$ref":"#/components/schemas/TrackingStatus"},{"$ref":"#/components/schemas/DhlTrackingStatus"}]},"customsDocumentId":{"description":"The customs document id","type":"string"},"customsDocumentUrl":{"description":"The original customs document URL","type":"string"},"errors":{"additionalProperties":false,"description":"temporary field to show errors during parcel creation, will be removed in the future. used to create summary in error case","properties":{"labelError":{"type":"string"},"returnLabelError":{"type":"string"}},"type":"object"},"labelUrl":{"description":"The URL where you can download the label relative to the path of this resource","type":"string"},"proxyId":{"description":"The ID of the corresponding job at the CEP proxy (if used)","type":"string"},"returnLabelId":{"description":"The original return label id","type":"string"},"returnLabelUrl":{"description":"The original return label URL","type":"string"},"returnTrackingUrl":{"description":"The URL to track the return of this parcel","type":"string"},"sendLabelUrl":{"description":"The original send label URL","type":"string"},"summary":{"description":"Summary of the result of the request in a human readable form.","type":"string"},"trackingStatus":{"$ref":"#/components/schemas/TrackingStatus"},"trackingUrl":{"description":"The URL to track this parcel","type":"string"}},"required":["summary"],"type":"object","title":"ParcelResult"},"TrackingStatus":{"description":"The state of the KEP","enum":["registered","picked_up","delivered","not_delivered","transit","exception","out_for_delivery","destroyed","unknown","canceled","awaits_pickup_by_receiver","delayed","notification"],"title":"TrackingStatus","type":"string"},"DhlTrackingStatus":{"additionalProperties":false,"description":"Native trackingStatus provided by carrier","properties":{"description":{"description":"Description of the status","type":"string"},"location":{"$ref":"#/components/schemas/DhlTrackingLocation"},"remark":{"description":"Remark of the status","type":"string"},"status":{"description":"Status of the parcel as provided by carrier","type":"string"},"statusCode":{"description":"Status code of the parcel as provided by carrier","type":"string"},"statusDetailed":{"description":"Second status description","type":"string"},"timestamp":{"description":"Timestamp this status was set by the carrier","format":"date-time","type":"string"}},"required":["status"],"title":"DhlTrackingStatus","type":"object"},"DhlTrackingLocation":{"additionalProperties":false,"description":"Location information provided by DHL","properties":{"address":{"properties":{"addressLocality":{"type":"string"}},"type":"object"}},"title":"DhlTrackingLocation"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"ParcelServices":{"additionalProperties":false,"nullable":true,"properties":{"additionalTransportInsurance":{"description":"Additional insurance for the parcel by the carrier","type":"boolean"},"adultSignature":{"description":"Signature from some adult","type":"boolean"},"bulkyGoods":{"type":"boolean"},"customerSignature":{"description":"Signature from the ordering customer needed","type":"boolean"},"identityCheckCompany":{"description":"Identity check that can be done by a person of receiving company","type":"boolean"},"identityCheckPrivate":{"description":"Identity check that can be done by the receiving person","type":"boolean"},"saturdayDelivery":{"description":"Saturday Delivery","type":"boolean"},"signature":{"description":"Signature from anyone needed","type":"boolean"}},"type":"object","title":"ParcelServices","description":"ParcelServices"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"Parcel":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierInformation":{"$ref":"#/components/schemas/ParcelCarrierInformation"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"Reference to the carrier this parcel should be send by","type":"string"},"customAttributes":{"description":"Attributes that can be added to the parcel. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"customProductValue":{"description":"Set this value if you want to overwrite the calculated product value of the parcel. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"dimensions":{"$ref":"#/components/schemas/ParcelDimensions"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"facilityRef":{"type":"string"},"id":{"description":"The id of this parcel. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"items":{"items":{"$ref":"#/components/schemas/ParcelItem"},"type":"array"},"loadUnitRefs":{"description":"Reference to array of load unit Refs","items":{"type":"string"},"type":"array"},"operativeProcessRef":{"type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickUpInformation":{"$ref":"#/components/schemas/ParcelPickUpInformation"},"postalCharges":{"$ref":"#/components/schemas/ParcelPostalCharge"},"processRef":{"type":"string"},"productValue":{"description":"Monetary value of all goods in this parcel. Needed for sending cross border packages (customs) To be interpreted as money in the currency given under paymentInformation.currency. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"productValueCurrency":{"$ref":"#/components/schemas/ProductValueCurrency"},"productValueType":{"$ref":"#/components/schemas/ProductValueType"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"result":{"$ref":"#/components/schemas/ParcelResult"},"returnAddress":{"$ref":"#/components/schemas/FacilityAddress"},"sender":{"$ref":"#/components/schemas/FacilityAddress"},"services":{"$ref":"#/components/schemas/ParcelServices"},"shipmentRef":{"description":"The id of this shipment this parcel has been created for.","type":"string"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"},"tenantOrderId":{"description":"Field can be used as a reference number in foreign systems, for example as a reference to the source system's identifier for this order.","type":"string"},"tenantParcelId":{"description":"Tenant specific parcel id, needs to be unique for non obsolete or canceled parcel","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"}},"required":["id","status","carrierRef","processRef","sender","recipient","loadUnitRefs"],"type":"object"}],"title":"Parcel","description":"Parcel"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ParcelItem":{"allOf":[{"$ref":"#/components/schemas/LineItem"}],"properties":{"article":{"$ref":"#/components/schemas/ParcelItemArticle"},"countryOfManufacture":{"deprecated":true,"description":"Deprecated - use article.attribute.countryOfManufacture instead","type":"string"},"description":{"deprecated":true,"description":"Description - article.title will be used instead - of the given item/items","type":"string"},"hsCode":{"deprecated":true,"description":"Deprecated - use article.attribute.hsCode instead","maxLength":50,"type":"string"},"id":{"description":"The id of this parcelItem.","type":"string"},"originId":{"description":"The id of the line item this line item was originated from, before any split has happened. This can be used to restore the ‘pre-split’ status.","nullable":true,"type":"string"},"parcelItemValue":{"$ref":"#/components/schemas/ParcelItemValue","deprecated":true,"description":"Deprecated - use article.attribute.pricePerUnit and article.attribute.currency instead"},"quantity":{"description":"amount of the given items","minimum":1,"type":"integer"},"weightInGram":{"deprecated":true,"description":"Deprecated - use article.attribute.weightPerUnit instead - Weight of a single item in gram","type":"integer"}},"required":["id","quantity"],"type":"object","xml":{"name":"ParcelItem"},"title":"ParcelItem","description":"ParcelItem"},"LineItem":{"properties":{"article":{"description":"information about the lineItem","type":"object"},"customAttributes":{"description":"Attributes that can be added to the lineItem. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"globalLineItemId":{"description":"This id is used to identify if this line item is related to the line item of other operational entities.","type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"quantity":{"description":"The quantity of the lineItem","type":"number"},"recordableAttributes":{"description":"Customizable information about the lineItem that can be set during the process.","items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"},"scannableCodes":{"description":"Codes that can be used for scanning this lineItem","items":{"type":"string"},"type":"array"}},"required":["id"],"title":"LineItem","type":"object","description":"LineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"ParcelPostalCharge":{"properties":{"currency":{"description":"Currency of the given value","type":"string"},"value":{"description":"Monetary Value in the given currency","type":"number"}},"required":["currency","value"],"title":"ParcelPostalCharge","description":"ParcelPostalCharge"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/shipments/{shipmentId}/parcels":{"post":{"description":"","operationId":"addParcel","parameters":[{"description":"ID of shipment you want to create parcel for","in":"path","name":"shipmentId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelForCreation"}}},"description":"Payload of the parcel you want to create","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parcel"}}},"description":"The Parcel was successfully created. The Location header contains the URL of the Shipment."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Parcel could not be processed due to failing conditions"}},"summary":"Create shipment parcel","tags":["Shipments (Operations)"]}}}}
```

## Create parcel

> This endpoints directly creates a parcel. If no ShipmentRef was provided, a shipment will be created and linked to this parcel

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ParcelForDirectCreation":{"additionalProperties":false,"properties":{"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"references the carrier to be used for sending. Can not be set when creating a parcel for an existing shipment.","type":"string"},"customAttributes":{"description":"Attributes that can be added to the parcel. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"customProductValue":{"description":"Set this value if you want to overwrite the calculated product value of the parcel.","type":"number"},"dimensions":{"$ref":"#/components/schemas/ParcelDimensions"},"facilityRef":{"description":"Reference to the facility this parcel is created for","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"items":{"items":{"$ref":"#/components/schemas/ParcelItemForCreation"},"type":"array"},"loadUnitRefs":{"description":"Reference to array of load unit Refs","items":{"type":"string"},"type":"array"},"operativeProcessRef":{"description":"Reference to the operative process this parcel is created for","type":"string"},"orderDate":{"description":"Date when the order for the given parcel has been placed Mandatory when no shipmentRef was provided","format":"date-time","type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickUpInformation":{"$ref":"#/components/schemas/ParcelPickUpInformation"},"processRef":{"description":"Reference to the process this parcel is created for","type":"string"},"productValue":{"description":"Monetary value of all goods in this parcel. Needed for sending cross border packages (customs) To be interpreted as money in the currency given under paymentInformation.currency. This value is calculated from the items in the parcel.","type":"number"},"productValueCurrency":{"$ref":"#/components/schemas/ProductValueCurrency"},"productValueType":{"$ref":"#/components/schemas/ProductValueType"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"result":{"$ref":"#/components/schemas/ParcelResult"},"returnAddress":{"$ref":"#/components/schemas/FacilityAddress"},"sender":{"$ref":"#/components/schemas/FacilityAddress"},"services":{"$ref":"#/components/schemas/ParcelServices"},"shipmentRef":{"description":"Reference to the shipment this parcel is created for. If non provided, a shipment will be created automatically.","type":"string"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"},"targetTime":{"description":"The target time for the parcel to be delivered. If not provided, the current time will be used.","format":"date-time","type":"string"},"tenantOrderId":{"description":"Field can be used as a reference number in foreign systems, for example as a reference to the source system's identifier for this order.","type":"string"},"tenantParcelId":{"description":"Tenant specific parcel id, needs to be unique for non obsolete or canceled parcel","type":"string"}},"required":["facilityRef","carrierRef","recipient","sender"],"type":"object","title":"ParcelForDirectCreation","description":"ParcelForDirectCreation"},"ParcelDimensions":{"additionalProperties":false,"nullable":true,"properties":{"customWeight":{"description":"Set this value if you want to overwrite the calculated weight of the parcel (in g).","type":"number"},"height":{"description":"The height of the package (in cm)","type":"number"},"length":{"description":"The length of the package (in cm)","type":"number"},"weight":{"description":"The weight of the package (in g)","type":"number"},"width":{"description":"The width of the package (in cm)","type":"number"}},"type":"object","title":"ParcelDimensions","description":"ParcelDimensions"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ParcelItemForCreation":{"allOf":[{"$ref":"#/components/schemas/LineItemForCreation"}],"properties":{"article":{"$ref":"#/components/schemas/ParcelItemArticle"},"countryOfManufacture":{"deprecated":true,"description":"Deprecated - use article.attribute.countryOfManufacture instead","type":"string"},"description":{"description":"Description of the given item/items","type":"string"},"hsCode":{"deprecated":true,"description":"Deprecated - use article.attribute.hsCode instead","maxLength":50,"type":"string"},"parcelItemValue":{"$ref":"#/components/schemas/ParcelItemValue","deprecated":true,"description":"Deprecated - use article.attribute.pricePerUnit and article.attribute.currency instead"},"quantity":{"description":"amount of the given items","minimum":1,"type":"integer"},"weightInGram":{"deprecated":true,"description":"Weight of a single item in gram. Deprecated - Use article.attribute.weightPerUnit instead","type":"integer"}},"required":["quantity"],"type":"object","xml":{"name":"ParcelItemForCreation"},"title":"ParcelItemForCreation","description":"ParcelItemForCreation"},"LineItemForCreation":{"properties":{"article":{"description":"information about the lineItem","type":"object"},"customAttributes":{"description":"Attributes that can be added to the lineItem. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"globalLineItemId":{"description":"This id is used to identify if this line item is related to the line item of other operational entities.","type":"string"},"quantity":{"description":"The quantity of the lineItem","type":"number"},"recordableAttributes":{"description":"Customizable information about the lineItem that can be set during the process.","items":{"$ref":"#/components/schemas/RecordableAttributeForCreation"},"type":"array"},"scannableCodes":{"description":"Codes that can be used for scanning this lineItem","items":{"type":"string"},"type":"array"}},"title":"LineItemForCreation","type":"object","description":"LineItemForCreation"},"RecordableAttributeForCreation":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","nullable":true,"type":"string"}},"required":["keyLocalized","recordingRule"],"title":"RecordableAttributeForCreation","type":"object","description":"RecordableAttributeForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ParcelItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ParcelItemArticle"},"title":"ParcelItemArticle","description":"ParcelItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"ParcelItemValue":{"description":"deprecated, use MandatoryShippingArticleAttribute.attributes.pricePerUnit instead","nullable":true,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"},"type":{"$ref":"#/components/schemas/ProductValueType"},"value":{"description":"Monetary Value of a single item in the given currency","type":"number"}},"required":["value","currency"],"type":"object","title":"ParcelItemValue"},"ProductValueType":{"enum":["INSURANCE","CUSTOMS","SHOP_PRICE"],"type":"string","title":"ProductValueType","description":"ProductValueType"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"ParcelPickUpInformation":{"additionalProperties":false,"nullable":true,"properties":{"endTime":{"description":"needs to be after start time","format":"date-time","type":"string"},"startTime":{"description":"needs to be before end time","format":"date-time","type":"string"}},"required":["startTime","endTime"],"type":"object","xml":{"name":"ParcelItemForCreation"},"title":"ParcelPickUpInformation","description":"ParcelPickUpInformation"},"ProductValueCurrency":{"additionalProperties":false,"properties":{"currency":{"description":"Currency of the given value","type":"string"},"decimalPlaces":{"description":"Number of decimal places for the given currency","type":"integer"}},"required":["currency"],"type":"object","title":"ProductValueCurrency","description":"ProductValueCurrency"},"ParcelResult":{"description":"Within this object you can find the result of the request after it has been processed (status = DONE or FAILED)","properties":{"carrierParcelRef":{"description":"The reference number of the parcel by the carrier","maxLength":120,"minLength":1,"type":"string"},"carrierTrackingNumber":{"type":"string"},"carrierTrackingStatus":{"oneOf":[{"$ref":"#/components/schemas/TrackingStatus"},{"$ref":"#/components/schemas/DhlTrackingStatus"}]},"customsDocumentId":{"description":"The customs document id","type":"string"},"customsDocumentUrl":{"description":"The original customs document URL","type":"string"},"errors":{"additionalProperties":false,"description":"temporary field to show errors during parcel creation, will be removed in the future. used to create summary in error case","properties":{"labelError":{"type":"string"},"returnLabelError":{"type":"string"}},"type":"object"},"labelUrl":{"description":"The URL where you can download the label relative to the path of this resource","type":"string"},"proxyId":{"description":"The ID of the corresponding job at the CEP proxy (if used)","type":"string"},"returnLabelId":{"description":"The original return label id","type":"string"},"returnLabelUrl":{"description":"The original return label URL","type":"string"},"returnTrackingUrl":{"description":"The URL to track the return of this parcel","type":"string"},"sendLabelUrl":{"description":"The original send label URL","type":"string"},"summary":{"description":"Summary of the result of the request in a human readable form.","type":"string"},"trackingStatus":{"$ref":"#/components/schemas/TrackingStatus"},"trackingUrl":{"description":"The URL to track this parcel","type":"string"}},"required":["summary"],"type":"object","title":"ParcelResult"},"TrackingStatus":{"description":"The state of the KEP","enum":["registered","picked_up","delivered","not_delivered","transit","exception","out_for_delivery","destroyed","unknown","canceled","awaits_pickup_by_receiver","delayed","notification"],"title":"TrackingStatus","type":"string"},"DhlTrackingStatus":{"additionalProperties":false,"description":"Native trackingStatus provided by carrier","properties":{"description":{"description":"Description of the status","type":"string"},"location":{"$ref":"#/components/schemas/DhlTrackingLocation"},"remark":{"description":"Remark of the status","type":"string"},"status":{"description":"Status of the parcel as provided by carrier","type":"string"},"statusCode":{"description":"Status code of the parcel as provided by carrier","type":"string"},"statusDetailed":{"description":"Second status description","type":"string"},"timestamp":{"description":"Timestamp this status was set by the carrier","format":"date-time","type":"string"}},"required":["status"],"title":"DhlTrackingStatus","type":"object"},"DhlTrackingLocation":{"additionalProperties":false,"description":"Location information provided by DHL","properties":{"address":{"properties":{"addressLocality":{"type":"string"}},"type":"object"}},"title":"DhlTrackingLocation"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"ParcelServices":{"additionalProperties":false,"nullable":true,"properties":{"additionalTransportInsurance":{"description":"Additional insurance for the parcel by the carrier","type":"boolean"},"adultSignature":{"description":"Signature from some adult","type":"boolean"},"bulkyGoods":{"type":"boolean"},"customerSignature":{"description":"Signature from the ordering customer needed","type":"boolean"},"identityCheckCompany":{"description":"Identity check that can be done by a person of receiving company","type":"boolean"},"identityCheckPrivate":{"description":"Identity check that can be done by the receiving person","type":"boolean"},"saturdayDelivery":{"description":"Saturday Delivery","type":"boolean"},"signature":{"description":"Signature from anyone needed","type":"boolean"}},"type":"object","title":"ParcelServices","description":"ParcelServices"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"Parcel":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierInformation":{"$ref":"#/components/schemas/ParcelCarrierInformation"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"Reference to the carrier this parcel should be send by","type":"string"},"customAttributes":{"description":"Attributes that can be added to the parcel. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"customProductValue":{"description":"Set this value if you want to overwrite the calculated product value of the parcel. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"dimensions":{"$ref":"#/components/schemas/ParcelDimensions"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"facilityRef":{"type":"string"},"id":{"description":"The id of this parcel. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"items":{"items":{"$ref":"#/components/schemas/ParcelItem"},"type":"array"},"loadUnitRefs":{"description":"Reference to array of load unit Refs","items":{"type":"string"},"type":"array"},"operativeProcessRef":{"type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickUpInformation":{"$ref":"#/components/schemas/ParcelPickUpInformation"},"postalCharges":{"$ref":"#/components/schemas/ParcelPostalCharge"},"processRef":{"type":"string"},"productValue":{"description":"Monetary value of all goods in this parcel. Needed for sending cross border packages (customs) To be interpreted as money in the currency given under paymentInformation.currency. This field uses the smallest denomination, e.g. Euro Cents. So a value of 1250 represents 12,50€.","type":"number"},"productValueCurrency":{"$ref":"#/components/schemas/ProductValueCurrency"},"productValueType":{"$ref":"#/components/schemas/ProductValueType"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"result":{"$ref":"#/components/schemas/ParcelResult"},"returnAddress":{"$ref":"#/components/schemas/FacilityAddress"},"sender":{"$ref":"#/components/schemas/FacilityAddress"},"services":{"$ref":"#/components/schemas/ParcelServices"},"shipmentRef":{"description":"The id of this shipment this parcel has been created for.","type":"string"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"},"tenantOrderId":{"description":"Field can be used as a reference number in foreign systems, for example as a reference to the source system's identifier for this order.","type":"string"},"tenantParcelId":{"description":"Tenant specific parcel id, needs to be unique for non obsolete or canceled parcel","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"}},"required":["id","status","carrierRef","processRef","sender","recipient","loadUnitRefs"],"type":"object"}],"title":"Parcel","description":"Parcel"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ParcelCarrierInformation":{"additionalProperties":false,"description":"Carrier specific information about the parcel for the label creation","properties":{"shippingContainerNumber":{"description":"Specific shipping container number for the parcel","type":"string"}},"type":"object","title":"ParcelCarrierInformation"},"ParcelItem":{"allOf":[{"$ref":"#/components/schemas/LineItem"}],"properties":{"article":{"$ref":"#/components/schemas/ParcelItemArticle"},"countryOfManufacture":{"deprecated":true,"description":"Deprecated - use article.attribute.countryOfManufacture instead","type":"string"},"description":{"deprecated":true,"description":"Description - article.title will be used instead - of the given item/items","type":"string"},"hsCode":{"deprecated":true,"description":"Deprecated - use article.attribute.hsCode instead","maxLength":50,"type":"string"},"id":{"description":"The id of this parcelItem.","type":"string"},"originId":{"description":"The id of the line item this line item was originated from, before any split has happened. This can be used to restore the ‘pre-split’ status.","nullable":true,"type":"string"},"parcelItemValue":{"$ref":"#/components/schemas/ParcelItemValue","deprecated":true,"description":"Deprecated - use article.attribute.pricePerUnit and article.attribute.currency instead"},"quantity":{"description":"amount of the given items","minimum":1,"type":"integer"},"weightInGram":{"deprecated":true,"description":"Deprecated - use article.attribute.weightPerUnit instead - Weight of a single item in gram","type":"integer"}},"required":["id","quantity"],"type":"object","xml":{"name":"ParcelItem"},"title":"ParcelItem","description":"ParcelItem"},"LineItem":{"properties":{"article":{"description":"information about the lineItem","type":"object"},"customAttributes":{"description":"Attributes that can be added to the lineItem. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"globalLineItemId":{"description":"This id is used to identify if this line item is related to the line item of other operational entities.","type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"quantity":{"description":"The quantity of the lineItem","type":"number"},"recordableAttributes":{"description":"Customizable information about the lineItem that can be set during the process.","items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"},"scannableCodes":{"description":"Codes that can be used for scanning this lineItem","items":{"type":"string"},"type":"array"}},"required":["id"],"title":"LineItem","type":"object","description":"LineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"ParcelPostalCharge":{"properties":{"currency":{"description":"Currency of the given value","type":"string"},"value":{"description":"Monetary Value in the given currency","type":"number"}},"required":["currency","value"],"title":"ParcelPostalCharge","description":"ParcelPostalCharge"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/shipments/parcels":{"post":{"description":"This endpoints directly creates a parcel. If no ShipmentRef was provided, a shipment will be created and linked to this parcel","operationId":"directCreateParcel","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelForDirectCreation"}}},"description":"Representation that describes the parcel you want to create","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parcel"}}},"description":"Parcel was successfully created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Create parcel","tags":["Shipments (Operations)"]}}}}
```

## List shipments (search)

> This part of the API is in Beta status. For details please check the \<a href="<https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta>" target="\_blank">api-release-life-cycle documentation\</a>.\<br />\<br />Search for Shipment

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read shipments and parcels.","name":"Shipments (Operations)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ShipmentSearchPayload":{"properties":{"after":{"deprecated":false,"description":"The cursor to start after for forward pagination. The value is provided in the `pageInfo.endCursor` field of the response. Cannot be used with `before` or `last`.","type":"string"},"before":{"description":"The cursor to start before for backward pagination. The value is provided in the `pageInfo.startCursor` field of the response. Cannot be used with `after` or `size` (first).","type":"string"},"last":{"description":"Number of items to return for backward pagination. Cannot be used with 'size' (first). Default: 20.","maximum":250,"minimum":1,"type":"number"},"options":{"$ref":"#/components/schemas/SearchOptions"},"query":{"$ref":"#/components/schemas/ShipmentSearchQueryWrapper"},"size":{"description":"Number of items to return for forward pagination. Cannot be used with 'last'. Default: 20.","maximum":250,"minimum":1,"type":"number"},"sort":{"description":"Use for sorting the result.","items":{"$ref":"#/components/schemas/ShipmentSort"},"maxItems":1,"minItems":1,"type":"array"},"startAfterId":{"deprecated":true,"description":"The ID to start after. Deprecated, use `after` with the value provided in `pageInfo.endCursor` instead.","type":"string"}},"required":["query"],"title":"ShipmentSearchPayload","type":"object","description":"ShipmentSearchPayload"},"SearchOptions":{"properties":{"withTotal":{"description":"Set to true to include the total count of items in the search result.","type":"boolean"}},"title":"SearchOptions","type":"object","description":"SearchOptions"},"ShipmentSearchQueryWrapper":{"properties":{"and":{"items":{"$ref":"#/components/schemas/ShipmentSearchQuery"},"maxItems":500,"type":"array"},"anonymized":{"allOf":[{"$ref":"#/components/schemas/BooleanFilter"}],"description":"Search by anonymized"},"carrierKey":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by carrierKey"},"carrierRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by carrierRef"},"created":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by created"},"facilityRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by facilityRef"},"id":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by id"},"or":{"items":{"$ref":"#/components/schemas/ShipmentSearchQuery"},"maxItems":500,"type":"array"},"parcels":{"allOf":[{"$ref":"#/components/schemas/ShipmentParcelsListFilter"}],"description":"Nested list search by parcels"},"pickJobRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by pickJobRef"},"status":{"allOf":[{"$ref":"#/components/schemas/ShipmentStatusEnumFilter"}],"description":"Search by status"},"targetTime":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by targetTime"},"tenantOrderId":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by tenantOrderId"}},"required":["created"],"title":"ShipmentSearchQueryWrapper","type":"object","description":"ShipmentSearchQueryWrapper"},"ShipmentSearchQuery":{"properties":{"and":{"items":{"$ref":"#/components/schemas/ShipmentSearchQuery"},"maxItems":500,"type":"array"},"anonymized":{"allOf":[{"$ref":"#/components/schemas/BooleanFilter"}],"description":"Search by anonymized"},"carrierKey":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by carrierKey"},"carrierRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by carrierRef"},"created":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search entries by created. Applying a narrow and well-considered filter value is strongly recommended, as it can greatly improve response times, especially when working with large datasets."},"facilityRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by facilityRef"},"id":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by id"},"or":{"items":{"$ref":"#/components/schemas/ShipmentSearchQuery"},"maxItems":500,"type":"array"},"parcels":{"allOf":[{"$ref":"#/components/schemas/ShipmentParcelsListFilter"}],"description":"Nested list search by parcels"},"pickJobRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by pickJobRef"},"status":{"allOf":[{"$ref":"#/components/schemas/ShipmentStatusEnumFilter"}],"description":"Search by status"},"targetTime":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by targetTime"},"tenantOrderId":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by tenantOrderId"}},"title":"ShipmentSearchQuery","type":"object","description":"ShipmentSearchQuery"},"BooleanFilter":{"properties":{"eq":{"type":"boolean"},"notEq":{"type":"boolean"}},"title":"BooleanFilter","type":"object","description":"BooleanFilter"},"StringFilter":{"properties":{"eq":{"maxLength":256,"type":"string"},"in":{"items":{"maxLength":256,"type":"string"},"maxItems":25,"type":"array"},"notEq":{"maxLength":256,"type":"string"},"notIn":{"items":{"maxLength":256,"type":"string"},"maxItems":25,"type":"array"}},"title":"StringFilter","type":"object","description":"StringFilter"},"DateFilter":{"properties":{"after":{"description":"Search using ISO‑8601 dates relative to today. Prefix with “–” for past dates. Results include events after the specified date. Example: “–P1D” for yesterday, “P1W” for next week.","maxLength":256,"type":"string"},"before":{"description":"Search using ISO‑8601 dates relative to today. Prefix with “–” for past dates. Results include events before the specified date. Example: “–P1D” for yesterday, “P1W” for next week.","maxLength":256,"type":"string"},"eq":{"format":"date-time","type":"string"},"gt":{"format":"date-time","type":"string"},"gte":{"format":"date-time","type":"string"},"lt":{"format":"date-time","type":"string"},"lte":{"format":"date-time","type":"string"},"notEq":{"format":"date-time","type":"string"}},"title":"DateFilter","type":"object","description":"DateFilter"},"ShipmentParcelsListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/ShipmentParcelsFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"ShipmentParcelsListFilter","type":"object","description":"ShipmentParcelsListFilter"},"ShipmentParcelsFilter":{"properties":{"status":{"allOf":[{"$ref":"#/components/schemas/ShipmentParcelsParcelStatusEnumFilter"}],"description":"Search by status"}},"title":"ShipmentParcelsFilter","type":"object","description":"ShipmentParcelsFilter"},"ShipmentParcelsParcelStatusEnumFilter":{"properties":{"eq":{"description":"Search by status","enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string"},"in":{"description":"Search by status","items":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string"},"maxItems":500,"type":"array"},"notEq":{"description":"Search by status","enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string"}},"title":"ShipmentParcelsParcelStatusEnumFilter","type":"object","description":"ShipmentParcelsParcelStatusEnumFilter"},"ShipmentStatusEnumFilter":{"properties":{"eq":{"description":"Search by status","enum":["INITIAL","REQUEST","RETRYABLE","CONFIRMED","COMPLETED","CANCELED","OBSOLETE"],"type":"string"},"in":{"description":"Search by status","items":{"enum":["INITIAL","REQUEST","RETRYABLE","CONFIRMED","COMPLETED","CANCELED","OBSOLETE"],"type":"string"},"maxItems":500,"type":"array"},"notEq":{"description":"Search by status","enum":["INITIAL","REQUEST","RETRYABLE","CONFIRMED","COMPLETED","CANCELED","OBSOLETE"],"type":"string"}},"title":"ShipmentStatusEnumFilter","type":"object","description":"ShipmentStatusEnumFilter"},"ShipmentSort":{"properties":{"created":{"enum":["ASC","DESC"],"type":"string"},"targetTime":{"enum":["ASC","DESC"],"type":"string"}},"title":"ShipmentSort","type":"object","description":"ShipmentSort"},"ShipmentPaginatedResult":{"properties":{"pageInfo":{"allOf":[{"$ref":"#/components/schemas/PageInfo"}],"description":"Pagination information for the search result."},"shipments":{"items":{"$ref":"#/components/schemas/Shipment"},"type":"array"},"total":{"description":"The total number of items matching the search criteria. Only filled, if withTotal is set to true in the search options.","minimum":0,"type":"number"}},"required":["pageInfo","shipments"],"title":"ShipmentPaginatedResult","type":"object","description":"ShipmentPaginatedResult"},"PageInfo":{"properties":{"endCursor":{"description":"The cursor to use to fetch the next page of items. Use with parameter `after`.","type":"string"},"hasNextPage":{"description":"If true, there are more items after the current page.","type":"boolean"},"hasPreviousPage":{"description":"If true, there are more items before the current page.","type":"boolean"},"startCursor":{"description":"The cursor to use to fetch the previous page of items.","type":"string"}},"required":["hasNextPage","hasPreviousPage","startCursor","endCursor"],"title":"PageInfo","type":"object","description":"PageInfo"},"Shipment":{"allOf":[{"$ref":"#/components/schemas/ShipmentForCreation"},{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"default":false,"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"carrierKey":{"type":"string"},"hasActiveCarrier":{"default":true,"description":"Indicates if there is an active carrier configuration to fulfill this shipment","type":"boolean"},"id":{"description":"The id of this Shipment. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItem"},"type":"array"},"parcels":{"items":{"$ref":"#/components/schemas/StrippedParcel"},"type":"array"},"status":{"$ref":"#/components/schemas/ShipmentStatus"}},"required":["id","status","hasActiveCarrier"],"type":"object"}],"title":"Shipment","description":"Shipment"},"ShipmentForCreation":{"additionalProperties":false,"properties":{"carrierLogoUrl":{"description":"The URL to the carrier logo","type":"string"},"carrierProduct":{"description":"Desired product of given carrier to choose when ordering a label","type":"string"},"carrierRef":{"description":"The reference to the carrier for which the shipment is assigned to","type":"string"},"carrierServices":{"items":{"$ref":"#/components/schemas/CarrierServices"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the shipment. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"facilityRef":{"description":"The reference to the facility which the shipment is assigned to.","type":"string"},"invoiceAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"paymentInformation":{"$ref":"#/components/schemas/PaymentInformation"},"pickJobRef":{"description":"The id of the facility reference.","type":"string"},"postalAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"sourceAddress":{"$ref":"#/components/schemas/FacilityAddress"},"targetAddress":{"$ref":"#/components/schemas/ConsumerAddress"},"targetTime":{"description":"At which time the result is expected.","format":"date-time","type":"string"},"targetTimeBaseDate":{"description":"The start date for the targetTime calculation.","format":"date-time","type":"string"},"tenantOrderId":{"description":"Reference to the order in the tenant system.","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["facilityRef","targetTime","orderDate"],"type":"object","xml":{"name":"Shipment"},"title":"ShipmentForCreation","description":"ShipmentForCreation"},"CarrierServices":{"description":"Services which should be booked from carrier","enum":["SIGNATURE","CUSTOMER_SIGNATURE","ADULT_SIGNATURE","SATURDAY_DELIVERY","IDENTITY_CHECK_COMPANY","IDENTITY_CHECK_PRIVATE","ADDITIONAL_TRANSPORTATION_INSURANCE"],"type":"string","title":"CarrierServices"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"ShipmentLineItemForCreation":{"properties":{"article":{"$ref":"#/components/schemas/ShipmentLineItemArticle"},"customAttributes":{"description":"Attributes that can be added to the orderline. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","type":"string"},"quantity":{"description":"quantity of the specific article that has been ordered","format":"int64","minimum":1,"type":"integer"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttributeForCreation"},"type":"array"},"scannableCodes":{"items":{"description":"Codes, that identify the article","type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["quantity","article"],"type":"object","title":"ShipmentLineItemForCreation","description":"ShipmentLineItemForCreation"},"ShipmentLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"ShipmentLineItemArticle"},"title":"ShipmentLineItemArticle","description":"ShipmentLineItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"RecordableAttributeForCreation":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","nullable":true,"type":"string"}},"required":["keyLocalized","recordingRule"],"title":"RecordableAttributeForCreation","type":"object","description":"RecordableAttributeForCreation"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"PaymentInformation":{"properties":{"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"PaymentInformation","description":"PaymentInformation"},"FacilityAddress":{"allOf":[{"$ref":"#/components/schemas/FacilityAddressForCreation"},{"properties":{"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZone"}},"type":"object"}],"type":"object","xml":{"name":"FacilityAddress"},"title":"FacilityAddress","description":"FacilityAddress"},"FacilityAddressForCreation":{"allOf":[{"$ref":"#/components/schemas/Address"},{"properties":{"companyName":{"type":"string"},"emailAddresses":{"items":{"properties":{"recipient":{"description":"Human readable information who is the recipient for emails sent to this address.","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"type":"array"},"resolvedCoordinates":{"$ref":"#/components/schemas/Coordinates"},"resolvedTimeZone":{"$ref":"#/components/schemas/TimeZoneForCreation","description":"User-specified time zone in identifier format (e.g., \"America/Los_Angeles\"). Used to determine local time. Relevant only if the country spans multiple time zones; otherwise, the time zone is automatically determined from the country or via Google if unspecified."}},"required":["companyName"],"type":"object"}],"type":"object","xml":{"name":"FacilityAddressForCreation"},"title":"FacilityAddressForCreation","description":"FacilityAddressForCreation"},"TimeZoneForCreation":{"description":"Self-provided timezone for determining the local time of a facility","properties":{"timeZoneId":{"description":"official id of the timezone","type":"string"}},"required":["timeZoneId"],"type":"object","title":"TimeZoneForCreation"},"TimeZone":{"description":"Timezone for information retrieved e.g. by the Google Maps API","properties":{"offsetInSeconds":{"description":"offset in seconds to standard time. Does not account for daylight saving time.","type":"number"},"source":{"description":"source of the timezone information","type":"string"},"timeZoneId":{"description":"official id of the timezone","type":"string"},"timeZoneName":{"description":"descriptive name of the timezone","type":"string"}},"required":["timeZoneId","timeZoneName","offsetInSeconds"],"type":"object","title":"TimeZone"},"OperativeTransfer":{"additionalProperties":false,"properties":{"id":{"description":"The id of the transfer","type":"string"},"type":{"description":"The type of the transfer","enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["id","type"],"title":"OperativeTransfer","type":"object","description":"OperativeTransfer"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ShipmentLineItem":{"allOf":[{"$ref":"#/components/schemas/ShipmentLineItemForCreation"},{"properties":{"id":{"description":"The id of this lineItem. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"recordableAttributes":{"items":{"$ref":"#/components/schemas/RecordableAttribute"},"type":"array"}},"required":["id"],"type":"object"}],"title":"ShipmentLineItem","description":"ShipmentLineItem"},"RecordableAttribute":{"additionalProperties":false,"properties":{"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations of the key"},"group":{"description":"The group of the attribute","minLength":1,"nullable":true,"type":"string"},"id":{"description":"id of the recordable attribute","type":"string"},"key":{"description":"The translated key of the attribute. This field gets filled automatically on request","type":"string"},"originId":{"description":"The id of the original lineItem the attribute was split from.","nullable":true,"type":"string"},"recordingRule":{"description":"Indicates whether the value has to be recorded or not","enum":["OPTIONAL","MANDATORY"],"type":"string"},"value":{"description":"The value of the attribute","minLength":1,"nullable":true,"type":"string"}},"required":["id","keyLocalized","recordingRule"],"title":"RecordableAttribute","type":"object","description":"RecordableAttribute"},"StrippedParcel":{"properties":{"carrierRef":{"description":"The reference to the carrier for which the parcel is assigned to","type":"string"},"carrierTrackingNumber":{"type":"string"},"parcelRef":{"type":"string"},"status":{"$ref":"#/components/schemas/ParcelStatus"}},"required":["parcelRef","carrierRef","status"],"type":"object","title":"StrippedParcel","description":"StrippedParcel"},"ParcelStatus":{"enum":["OPEN","PROCESSING","DONE","FAILED","CANCELED","OBSOLETE","WAITING_FOR_INPUT"],"type":"string","title":"ParcelStatus","description":"ParcelStatus"},"ShipmentStatus":{"description":"Every newly created shipment is in state INITIAL. When the parcel labels should be requested the state changes to REQUEST and as soon as all parcel labels are successfully requested the state changes to CONFIRMED. The state COMPLETED is set in the end or the process","enum":["INITIAL","REQUEST","RETRYABLE","CONFIRMED","COMPLETED","CANCELED","OBSOLETE"],"type":"string","title":"ShipmentStatus"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/shipments/search":{"post":{"deprecated":false,"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />Search for Shipment","operationId":"searchShipment","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShipmentSearchPayload"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShipmentPaginatedResult"}}},"description":"Your search result"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this"}},"summary":"List shipments (search)","tags":["Shipments (Operations)"]}}}}
```
