# Pack job endpoints

## The PackJob object

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"components":{"schemas":{"PackJob":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"assignedUsers":{"description":"Assigned users for this entity","items":{"$ref":"#/components/schemas/AssignedUser"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the pack job. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"deliveryChannel":{"enum":["COLLECT","SHIPPING"],"type":"string"},"documentHandling":{"$ref":"#/components/schemas/DocumentHandling"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"editor":{"$ref":"#/components/schemas/Editor"},"facilityRef":{"description":"Reference to the facility you want to get the corresponding packjob","type":"string"},"id":{"description":"The id of this pack job. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/PackLineItem"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"Date when the order was placed.","format":"date-time","type":"string"},"orderRef":{"description":"The id of the order","type":"string"},"packingSourceContainers":{"items":{"$ref":"#/components/schemas/StrippedPackingSourceContainer"}},"pickJobRef":{"description":"Reference to a pick job","type":"string"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"recipientName":{"description":"The name of the recipient","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"status":{"$ref":"#/components/schemas/PackJobStatus"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"targetTime":{"description":"Until when the pack job must be finished.","format":"date-time","type":"string"},"tenantOrderId":{"type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"minItems":1,"type":"array"}},"required":["id","facilityRef","documentsRef","status","lineItems","processId","workflowInformation"],"type":"object","xml":{"name":"PackJob"}}],"title":"PackJob","description":"PackJob"},"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"},"AssignedUser":{"properties":{"userId":{"description":"ID of the user who is assigned","type":"string"},"username":{"description":"username of the user who is assigned","type":"string"}},"required":["username","userId"],"type":"object","title":"AssignedUser","description":"AssignedUser"},"DocumentHandling":{"properties":{"sendLabel":{"properties":{"enabled":{"default":false,"type":"boolean"}},"required":["enabled"],"type":"object"}},"required":["sendLabel"],"type":"object","title":"DocumentHandling","description":"DocumentHandling"},"Editor":{"properties":{"userId":{"description":"ID of the user who edits the pickjob","type":"string"},"username":{"description":"username of the user who edits the pickjob","type":"string"}},"required":["username"],"type":"object","title":"Editor","description":"Editor"},"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"},"PackLineItem":{"allOf":[{"$ref":"#/components/schemas/MandatoryLineItem"},{"properties":{"article":{"$ref":"#/components/schemas/PackLineItemArticle"},"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"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","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"},"packed":{"description":"The amount of articles that were packed for this packline.","format":"int32","minimum":0,"type":"integer"},"quantity":{"description":"quantity of this item","format":"int64","minimum":1,"type":"integer"},"serviceJobRefs":{"description":"Reference to the service job that has altered this line item","items":{"type":"string"},"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["id","quantity","article"]}],"type":"object","xml":{"name":"PackLineItem"},"title":"PackLineItem","description":"PackLineItem"},"MandatoryLineItem":{"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","article","quantity"],"title":"MandatoryLineItem","type":"object","description":"MandatoryLineItem"},"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"},"PackLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"PackLineItemArticle"},"title":"PackLineItemArticle","description":"PackLineItemArticle"},"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"},"Sticker":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString","description":"Dictionary of possible translations, min 1 entry, max 14 characters per description"},"color":{"description":"optional color coding for the sticker","type":"string"},"key":{"description":"unique identifier","type":"string"},"name":{"description":"Translated display name","type":"string"},"priority":{"description":"priority of the given sticker","format":"int64","maximum":10000,"minimum":1,"type":"integer"}},"required":["key","nameLocalized","priority"],"title":"Sticker","description":"Sticker"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"StrippedPackingSourceContainer":{"additionalProperties":false,"properties":{"codes":{"items":{"description":"Codes, that identify the container","type":"string"},"minItems":1,"type":"array"},"id":{"type":"string"},"loadUnitRef":{"type":"string"}},"type":"object","title":"StrippedPackingSourceContainer","description":"StrippedPackingSourceContainer"},"PackJobStatus":{"description":"A pack job initially has the status OPEN and packing can start. When packing has started, the pack job changes its status to IN_PROGRESS. After a pack job has been completely packed its status becomes CLOSED.","enum":["OPEN","IN_PROGRESS","CLOSED","OBSOLETE","CANCELED","PAUSED"],"type":"string","xml":{"name":"PackJobStatus"},"title":"PackJobStatus"},"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"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"}}}}
```

## GET /api/packjobs

> List pack jobs

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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":{"PackJobOrderBy":{"description":"Attribute to order a packJobs by","enum":["TARGET_TIME_DESC","TARGET_TIME_ASC","LAST_MODIFIED_DESC","LAST_MODIFIED_ASC","ORDER_DATE_DESC","ORDER_DATE_ASC"],"type":"string","xml":{"name":"PackJobOrderBy"},"title":"PackJobOrderBy"},"PackJobs":{"properties":{"packJobs":{"items":{"$ref":"#/components/schemas/PackJobWithSearchPath"},"type":"array"},"total":{"description":"Total number of found entities for this query","type":"integer"}},"type":"object","title":"PackJobs","description":"PackJobs"},"PackJobWithSearchPath":{"allOf":[{"$ref":"#/components/schemas/PackJob"},{"additionalProperties":false}],"properties":{"searchPaths":{"items":{"type":"string"},"minItems":0,"type":"array"}},"xml":{"name":"PackJobWithPath"},"title":"PackJobWithSearchPath","description":"PackJobWithSearchPath"},"PackJob":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"assignedUsers":{"description":"Assigned users for this entity","items":{"$ref":"#/components/schemas/AssignedUser"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the pack job. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"deliveryChannel":{"enum":["COLLECT","SHIPPING"],"type":"string"},"documentHandling":{"$ref":"#/components/schemas/DocumentHandling"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"editor":{"$ref":"#/components/schemas/Editor"},"facilityRef":{"description":"Reference to the facility you want to get the corresponding packjob","type":"string"},"id":{"description":"The id of this pack job. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/PackLineItem"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"Date when the order was placed.","format":"date-time","type":"string"},"orderRef":{"description":"The id of the order","type":"string"},"packingSourceContainers":{"items":{"$ref":"#/components/schemas/StrippedPackingSourceContainer"}},"pickJobRef":{"description":"Reference to a pick job","type":"string"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"recipientName":{"description":"The name of the recipient","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"status":{"$ref":"#/components/schemas/PackJobStatus"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"targetTime":{"description":"Until when the pack job must be finished.","format":"date-time","type":"string"},"tenantOrderId":{"type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"minItems":1,"type":"array"}},"required":["id","facilityRef","documentsRef","status","lineItems","processId","workflowInformation"],"type":"object","xml":{"name":"PackJob"}}],"title":"PackJob","description":"PackJob"},"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"},"AssignedUser":{"properties":{"userId":{"description":"ID of the user who is assigned","type":"string"},"username":{"description":"username of the user who is assigned","type":"string"}},"required":["username","userId"],"type":"object","title":"AssignedUser","description":"AssignedUser"},"DocumentHandling":{"properties":{"sendLabel":{"properties":{"enabled":{"default":false,"type":"boolean"}},"required":["enabled"],"type":"object"}},"required":["sendLabel"],"type":"object","title":"DocumentHandling","description":"DocumentHandling"},"Editor":{"properties":{"userId":{"description":"ID of the user who edits the pickjob","type":"string"},"username":{"description":"username of the user who edits the pickjob","type":"string"}},"required":["username"],"type":"object","title":"Editor","description":"Editor"},"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"},"PackLineItem":{"allOf":[{"$ref":"#/components/schemas/MandatoryLineItem"},{"properties":{"article":{"$ref":"#/components/schemas/PackLineItemArticle"},"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"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","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"},"packed":{"description":"The amount of articles that were packed for this packline.","format":"int32","minimum":0,"type":"integer"},"quantity":{"description":"quantity of this item","format":"int64","minimum":1,"type":"integer"},"serviceJobRefs":{"description":"Reference to the service job that has altered this line item","items":{"type":"string"},"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["id","quantity","article"]}],"type":"object","xml":{"name":"PackLineItem"},"title":"PackLineItem","description":"PackLineItem"},"MandatoryLineItem":{"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","article","quantity"],"title":"MandatoryLineItem","type":"object","description":"MandatoryLineItem"},"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"},"PackLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"PackLineItemArticle"},"title":"PackLineItemArticle","description":"PackLineItemArticle"},"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"},"Sticker":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString","description":"Dictionary of possible translations, min 1 entry, max 14 characters per description"},"color":{"description":"optional color coding for the sticker","type":"string"},"key":{"description":"unique identifier","type":"string"},"name":{"description":"Translated display name","type":"string"},"priority":{"description":"priority of the given sticker","format":"int64","maximum":10000,"minimum":1,"type":"integer"}},"required":["key","nameLocalized","priority"],"title":"Sticker","description":"Sticker"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"StrippedPackingSourceContainer":{"additionalProperties":false,"properties":{"codes":{"items":{"description":"Codes, that identify the container","type":"string"},"minItems":1,"type":"array"},"id":{"type":"string"},"loadUnitRef":{"type":"string"}},"type":"object","title":"StrippedPackingSourceContainer","description":"StrippedPackingSourceContainer"},"PackJobStatus":{"description":"A pack job initially has the status OPEN and packing can start. When packing has started, the pack job changes its status to IN_PROGRESS. After a pack job has been completely packed its status becomes CLOSED.","enum":["OPEN","IN_PROGRESS","CLOSED","OBSOLETE","CANCELED","PAUSED"],"type":"string","xml":{"name":"PackJobStatus"},"title":"PackJobStatus"},"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"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"},"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/packjobs":{"get":{"description":"","operationId":"getPackJobs","parameters":[{"description":"number of entities to show","in":"query","name":"size","required":false,"schema":{"default":25,"type":"integer"}},{"description":"all entities after given Id","in":"query","name":"startAfterId","required":false,"schema":{"type":"string"}},{"description":"Parameter to filter anonymized pack jobs","in":"query","name":"anonymized","required":false,"schema":{"type":"boolean"}},{"description":"Reference the assigned user on this entity - id or username","in":"query","name":"assignedUser","required":false,"schema":{"type":"string"}},{"description":"Reference to the status you want to get the corresponding packJobs","explode":false,"in":"query","name":"status","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Reference to the facility you want to get the corresponding packJobs","in":"query","name":"facilityRef","required":false,"schema":{"type":"string"}},{"description":"Term by which to search through the fields","in":"query","name":"searchTerm","required":false,"schema":{"type":"string"}},{"description":"Reference to the channel you want to get the corresponding packJobs","in":"query","name":"channel","required":false,"schema":{"enum":["COLLECT","SHIPPING"],"type":"string"}},{"description":"filter by packingsourcecontainer containing codes","in":"query","name":"sourceContainerCodes","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"query packjobs orderBy","in":"query","name":"orderBy","required":false,"schema":{"$ref":"#/components/schemas/PackJobOrderBy"}},{"description":"Start date range for pack jobs","in":"query","name":"startTargetTime","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"End date range for pack jobs","in":"query","name":"endTargetTime","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Reference to the order you want to get the corresponding packJobs","in":"query","name":"orderRef","required":false,"schema":{"type":"string"}},{"description":"Reference to the packJobs you want to get","in":"query","name":"packJobIds","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Reference to the process you want to get the corresponding packJobs","in":"query","name":"processId","required":false,"schema":{"type":"string"}},{"description":"Reference to the pickJobRef you want to get the corresponding packJobs","in":"query","name":"pickJobRef","required":false,"schema":{"type":"string"}},{"description":"Reference to the shortId you want to get the corresponding packJobs","in":"query","name":"shortId","required":false,"schema":{"type":"string"}},{"description":"Reference to the articleTitle you want to get the corresponding packJobs","in":"query","name":"articleTitle","required":false,"schema":{"type":"string"}},{"description":"Start date range of the order for the corresponding pack jobs","in":"query","name":"startOrderDate","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"End date range of the order for the corresponding pack jobs","in":"query","name":"endOrderDate","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Reference to the username you want to get the corresponding pack jobs","in":"query","name":"modifiedByUsername","required":false,"schema":{"type":"string"}},{"description":"Reference to the tenantOrderId you want to get the corresponding packJobs","in":"query","name":"tenantOrderId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJobs"}}},"description":"Pack jobs was loaded & 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":"List pack jobs","tags":["Packing (Operations)"]}}}}
```

## GET /api/packjobs/{packJobId}

> Get pack job

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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":{"PackJob":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"assignedUsers":{"description":"Assigned users for this entity","items":{"$ref":"#/components/schemas/AssignedUser"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the pack job. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"deliveryChannel":{"enum":["COLLECT","SHIPPING"],"type":"string"},"documentHandling":{"$ref":"#/components/schemas/DocumentHandling"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"editor":{"$ref":"#/components/schemas/Editor"},"facilityRef":{"description":"Reference to the facility you want to get the corresponding packjob","type":"string"},"id":{"description":"The id of this pack job. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/PackLineItem"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"Date when the order was placed.","format":"date-time","type":"string"},"orderRef":{"description":"The id of the order","type":"string"},"packingSourceContainers":{"items":{"$ref":"#/components/schemas/StrippedPackingSourceContainer"}},"pickJobRef":{"description":"Reference to a pick job","type":"string"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"recipientName":{"description":"The name of the recipient","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"status":{"$ref":"#/components/schemas/PackJobStatus"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"targetTime":{"description":"Until when the pack job must be finished.","format":"date-time","type":"string"},"tenantOrderId":{"type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"minItems":1,"type":"array"}},"required":["id","facilityRef","documentsRef","status","lineItems","processId","workflowInformation"],"type":"object","xml":{"name":"PackJob"}}],"title":"PackJob","description":"PackJob"},"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"},"AssignedUser":{"properties":{"userId":{"description":"ID of the user who is assigned","type":"string"},"username":{"description":"username of the user who is assigned","type":"string"}},"required":["username","userId"],"type":"object","title":"AssignedUser","description":"AssignedUser"},"DocumentHandling":{"properties":{"sendLabel":{"properties":{"enabled":{"default":false,"type":"boolean"}},"required":["enabled"],"type":"object"}},"required":["sendLabel"],"type":"object","title":"DocumentHandling","description":"DocumentHandling"},"Editor":{"properties":{"userId":{"description":"ID of the user who edits the pickjob","type":"string"},"username":{"description":"username of the user who edits the pickjob","type":"string"}},"required":["username"],"type":"object","title":"Editor","description":"Editor"},"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"},"PackLineItem":{"allOf":[{"$ref":"#/components/schemas/MandatoryLineItem"},{"properties":{"article":{"$ref":"#/components/schemas/PackLineItemArticle"},"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"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","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"},"packed":{"description":"The amount of articles that were packed for this packline.","format":"int32","minimum":0,"type":"integer"},"quantity":{"description":"quantity of this item","format":"int64","minimum":1,"type":"integer"},"serviceJobRefs":{"description":"Reference to the service job that has altered this line item","items":{"type":"string"},"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["id","quantity","article"]}],"type":"object","xml":{"name":"PackLineItem"},"title":"PackLineItem","description":"PackLineItem"},"MandatoryLineItem":{"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","article","quantity"],"title":"MandatoryLineItem","type":"object","description":"MandatoryLineItem"},"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"},"PackLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"PackLineItemArticle"},"title":"PackLineItemArticle","description":"PackLineItemArticle"},"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"},"Sticker":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString","description":"Dictionary of possible translations, min 1 entry, max 14 characters per description"},"color":{"description":"optional color coding for the sticker","type":"string"},"key":{"description":"unique identifier","type":"string"},"name":{"description":"Translated display name","type":"string"},"priority":{"description":"priority of the given sticker","format":"int64","maximum":10000,"minimum":1,"type":"integer"}},"required":["key","nameLocalized","priority"],"title":"Sticker","description":"Sticker"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"StrippedPackingSourceContainer":{"additionalProperties":false,"properties":{"codes":{"items":{"description":"Codes, that identify the container","type":"string"},"minItems":1,"type":"array"},"id":{"type":"string"},"loadUnitRef":{"type":"string"}},"type":"object","title":"StrippedPackingSourceContainer","description":"StrippedPackingSourceContainer"},"PackJobStatus":{"description":"A pack job initially has the status OPEN and packing can start. When packing has started, the pack job changes its status to IN_PROGRESS. After a pack job has been completely packed its status becomes CLOSED.","enum":["OPEN","IN_PROGRESS","CLOSED","OBSOLETE","CANCELED","PAUSED"],"type":"string","xml":{"name":"PackJobStatus"},"title":"PackJobStatus"},"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"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"},"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/packjobs/{packJobId}":{"get":{"description":"","operationId":"getPackJob","parameters":[{"description":"ID of the pack job you want to get","in":"path","name":"packJobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJob"}}},"description":"Pack job 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 pack job","tags":["Packing (Operations)"]}}}}
```

## PATCH /api/packjobs/{packJobId}

> Update pack job

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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":{"PackJobPatchActions":{"properties":{"actions":{"items":{"anyOf":[{"$ref":"#/components/schemas/ModifyPackJob"},{"$ref":"#/components/schemas/ModifyPackLineItem"},{"$ref":"#/components/schemas/PausePackJob"}]},"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":"PackJobPatchActions"},"title":"PackJobPatchActions","description":"PackJobPatchActions"},"ModifyPackJob":{"allOf":[{"$ref":"#/components/schemas/AbstractModificationAction"},{"additionalProperties":false,"properties":{"action":{"description":"Use value 'ModifyPackJob', because you want to modify a packjob","enum":["ModifyPackJob"],"type":"string"},"customAttributes":{"description":"Attributes that can be added to the line item. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"status":{"$ref":"#/components/schemas/PackJobStatus"}},"required":["action"],"type":"object"}],"description":"Action to modify a PackJob","title":"ModifyPackJob","xml":{"name":"ModifyPackJob"}},"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"},"PackJobStatus":{"description":"A pack job initially has the status OPEN and packing can start. When packing has started, the pack job changes its status to IN_PROGRESS. After a pack job has been completely packed its status becomes CLOSED.","enum":["OPEN","IN_PROGRESS","CLOSED","OBSOLETE","CANCELED","PAUSED"],"type":"string","xml":{"name":"PackJobStatus"},"title":"PackJobStatus"},"ModifyPackLineItem":{"allOf":[{"$ref":"#/components/schemas/AbstractModificationAction"},{"additionalProperties":false,"properties":{"action":{"description":"Use value 'ModifyPackLineItem', because you want to modify a packjobs lineItem","enum":["ModifyPackLineItem"],"type":"string"},"id":{"description":"references the id of the packLineItem of a packJob","type":"string"},"packed":{"description":"The amount of articles that were packed for this packline. Can't be more than picked before.","format":"int64","minimum":0,"type":"integer"}},"required":["action","id"],"type":"object"}],"description":"Action to modify a PackLineItem of a PackJob","title":"ModifyPackLineItem","xml":{"name":"ModifyPackLineItem"}},"PausePackJob":{"allOf":[{"$ref":"#/components/schemas/AbstractModificationAction"},{"additionalProperties":false,"properties":{"action":{"description":"Use value 'PausePackJob', because you want to pause a packjob","enum":["PausePackJob"],"type":"string"},"packLineItemsUpdate":{"items":{"$ref":"#/components/schemas/PackLineItemForUpdate"},"type":"array"}},"required":["action"],"type":"object"}],"description":"Action to pause a PackJob","title":"PausePackJob","xml":{"name":"PausePackJob"}},"PackLineItemForUpdate":{"properties":{"id":{"description":"references the id of the packLineItem of a packJob","type":"string"},"packed":{"description":"The amount of articles that were packed for this packline. Can't be more than picked before.","format":"int64","minimum":0,"type":"integer"}},"required":["id","packed"],"type":"object","xml":{"name":"PackLineItemForUpdate"},"title":"PackLineItemForUpdate","description":"PackLineItemForUpdate"},"PackJob":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"assignedUsers":{"description":"Assigned users for this entity","items":{"$ref":"#/components/schemas/AssignedUser"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the pack job. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"deliveryChannel":{"enum":["COLLECT","SHIPPING"],"type":"string"},"documentHandling":{"$ref":"#/components/schemas/DocumentHandling"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"editor":{"$ref":"#/components/schemas/Editor"},"facilityRef":{"description":"Reference to the facility you want to get the corresponding packjob","type":"string"},"id":{"description":"The id of this pack job. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/PackLineItem"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"Date when the order was placed.","format":"date-time","type":"string"},"orderRef":{"description":"The id of the order","type":"string"},"packingSourceContainers":{"items":{"$ref":"#/components/schemas/StrippedPackingSourceContainer"}},"pickJobRef":{"description":"Reference to a pick job","type":"string"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"recipientName":{"description":"The name of the recipient","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"status":{"$ref":"#/components/schemas/PackJobStatus"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"targetTime":{"description":"Until when the pack job must be finished.","format":"date-time","type":"string"},"tenantOrderId":{"type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"minItems":1,"type":"array"}},"required":["id","facilityRef","documentsRef","status","lineItems","processId","workflowInformation"],"type":"object","xml":{"name":"PackJob"}}],"title":"PackJob","description":"PackJob"},"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"},"AssignedUser":{"properties":{"userId":{"description":"ID of the user who is assigned","type":"string"},"username":{"description":"username of the user who is assigned","type":"string"}},"required":["username","userId"],"type":"object","title":"AssignedUser","description":"AssignedUser"},"DocumentHandling":{"properties":{"sendLabel":{"properties":{"enabled":{"default":false,"type":"boolean"}},"required":["enabled"],"type":"object"}},"required":["sendLabel"],"type":"object","title":"DocumentHandling","description":"DocumentHandling"},"Editor":{"properties":{"userId":{"description":"ID of the user who edits the pickjob","type":"string"},"username":{"description":"username of the user who edits the pickjob","type":"string"}},"required":["username"],"type":"object","title":"Editor","description":"Editor"},"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"},"PackLineItem":{"allOf":[{"$ref":"#/components/schemas/MandatoryLineItem"},{"properties":{"article":{"$ref":"#/components/schemas/PackLineItemArticle"},"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"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","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"},"packed":{"description":"The amount of articles that were packed for this packline.","format":"int32","minimum":0,"type":"integer"},"quantity":{"description":"quantity of this item","format":"int64","minimum":1,"type":"integer"},"serviceJobRefs":{"description":"Reference to the service job that has altered this line item","items":{"type":"string"},"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["id","quantity","article"]}],"type":"object","xml":{"name":"PackLineItem"},"title":"PackLineItem","description":"PackLineItem"},"MandatoryLineItem":{"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","article","quantity"],"title":"MandatoryLineItem","type":"object","description":"MandatoryLineItem"},"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"},"PackLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"PackLineItemArticle"},"title":"PackLineItemArticle","description":"PackLineItemArticle"},"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"},"Sticker":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString","description":"Dictionary of possible translations, min 1 entry, max 14 characters per description"},"color":{"description":"optional color coding for the sticker","type":"string"},"key":{"description":"unique identifier","type":"string"},"name":{"description":"Translated display name","type":"string"},"priority":{"description":"priority of the given sticker","format":"int64","maximum":10000,"minimum":1,"type":"integer"}},"required":["key","nameLocalized","priority"],"title":"Sticker","description":"Sticker"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"StrippedPackingSourceContainer":{"additionalProperties":false,"properties":{"codes":{"items":{"description":"Codes, that identify the container","type":"string"},"minItems":1,"type":"array"},"id":{"type":"string"},"loadUnitRef":{"type":"string"}},"type":"object","title":"StrippedPackingSourceContainer","description":"StrippedPackingSourceContainer"},"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"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"},"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/packjobs/{packJobId}":{"patch":{"description":"","operationId":"patchPackJob","parameters":[{"description":"ID of the packjob you want to get","in":"path","name":"packJobId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJobPatchActions"}}},"description":"Patch set","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJob"}}},"description":"PackJob was found & patch-set has been applied. The patched pack job 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":"PackJob not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"PackJob version conflict"}},"summary":"Update pack job","tags":["Packing (Operations)"]}}}}
```

## POST /api/packjobs/{packJobId}/actions

> Call pack job action

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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":{"PackJobActionsParameter":{"anyOf":[{"$ref":"#/components/schemas/PackJobReplaceAssignedUsersActionParameter"},{"$ref":"#/components/schemas/PackJobSplitLineItemsActionParameter"},{"$ref":"#/components/schemas/UpdatePackLineItemRecordableAttributesActionParameter"},{"$ref":"#/components/schemas/PackJobMoveEachesToSourceContainerActionParameter"},{"$ref":"#/components/schemas/PackJobMoveEachesToTargetContainerActionParameter"}],"title":"PackJobActionsParameter","description":"PackJobActionsParameter"},"PackJobReplaceAssignedUsersActionParameter":{"additionalProperties":false,"description":"Action to replace the assigned users.","properties":{"assignedUsers":{"description":"Assigned users for this entity","items":{"anyOf":[{"$ref":"#/components/schemas/AssignedUserForCreationByName"},{"$ref":"#/components/schemas/AssignedUserForCreationById"}]},"type":"array"},"name":{"$ref":"#/components/schemas/PackJobReplaceAssignedUsersActionEnum"},"version":{"description":"Version of the entity to be changed","minimum":0,"type":"integer"}},"required":["name","version","assignedUsers"],"title":"PackJobReplaceAssignedUsersActionParameter"},"AssignedUserForCreationByName":{"description":"Create a assigned user by giving a valid name","properties":{"username":{"description":"username of the user should be assigned","type":"string"}},"required":["username"],"title":"AssignedUserForCreationByName","type":"object"},"AssignedUserForCreationById":{"description":"Create a assigned user by giving a valid id","properties":{"userId":{"description":"userId of the user should be assigned","type":"string"}},"required":["userId"],"title":"AssignedUserForCreationById","type":"object"},"PackJobReplaceAssignedUsersActionEnum":{"enum":["REPLACE_ASSIGNED_USERS"],"type":"string","title":"PackJobReplaceAssignedUsersActionEnum","description":"PackJobReplaceAssignedUsersActionEnum"},"PackJobSplitLineItemsActionParameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/components/schemas/PackJobSplitLineItemsActionEnum"},"splitLineItemsInfo":{"items":{"$ref":"#/components/schemas/PackJobSplitLineItemsInfo"},"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","type":"integer"}},"required":["name","version","splitLineItemsInfo"],"title":"PackJobSplitLineItemsActionParameter","type":"object","description":"PackJobSplitLineItemsActionParameter"},"PackJobSplitLineItemsActionEnum":{"enum":["SPLIT_LINES_PACK_JOB"],"type":"string","title":"PackJobSplitLineItemsActionEnum","description":"PackJobSplitLineItemsActionEnum"},"PackJobSplitLineItemsInfo":{"additionalProperties":false,"properties":{"lineItemId":{"description":"references the id of the packLineItem of a packJob","type":"string"},"packed":{"description":"The amount of articles that were packed for this line item.","format":"int64","minimum":0,"type":"integer"},"quantity":{"description":"quantity of the specific item that has been ordered","minimum":1,"type":"integer"}},"required":["lineItemId","quantity"],"type":"object","title":"PackJobSplitLineItemsInfo","description":"PackJobSplitLineItemsInfo"},"UpdatePackLineItemRecordableAttributesActionParameter":{"additionalProperties":false,"properties":{"name":{"$ref":"#/components/schemas/UpdatePackLineItemRecordableAttributesActionEnum"},"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":"UpdatePackLineItemRecordableAttributesActionParameter","type":"object","description":"UpdatePackLineItemRecordableAttributesActionParameter"},"UpdatePackLineItemRecordableAttributesActionEnum":{"enum":["UPDATE_PACK_LINE_ITEM_RECORDABLE_ATTRIBUTES"],"type":"string","title":"UpdatePackLineItemRecordableAttributesActionEnum","description":"UpdatePackLineItemRecordableAttributesActionEnum"},"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"},"PackJobMoveEachesToSourceContainerActionParameter":{"additionalProperties":false,"description":"Action to replace the assigned users.","properties":{"move":{"$ref":"#/components/schemas/PackJobMoveEachesToContainerActionParameterMove"},"name":{"$ref":"#/components/schemas/PackJobMoveEachesToSourceContainerActionEnum"}},"required":["name","move"],"title":"PackJobReplaceAssignedUsersActionParameter"},"PackJobMoveEachesToContainerActionParameterMove":{"additionalProperties":false,"description":"Assigned users for this entity","properties":{"from":{"items":{"$ref":"#/components/schemas/PackJobMoveEachesToContainerFrom"},"minItems":1,"type":"array"},"to":{"oneOf":[{"$ref":"#/components/schemas/PackJobMoveEachesToContainerTo"},{"$ref":"#/components/schemas/PackJobMoveEachesToNewContainerTo"}]}},"required":["from","to"],"type":"object","title":"PackJobMoveEachesToContainerActionParameterMove"},"PackJobMoveEachesToContainerFrom":{"additionalProperties":false,"description":"Where to take the eaches from","properties":{"containerId":{"description":"id of the container to move the eaches from","type":"string"},"containerVersion":{"description":"version of the container to move the eaches from","minimum":0,"type":"integer"},"globalLineItemId":{"description":"global line item id of the line item to move eaches from","type":"string"},"quantity":{"description":"amount of items to move","minimum":0,"type":"integer"},"secondaryQuantity":{"description":"secondary amount of items to move","minimum":0,"type":"integer"}},"required":["containerId","containerVersion","globalLineItemId","quantity"],"title":"PackJobMoveEachesToContainerFrom"},"PackJobMoveEachesToContainerTo":{"additionalProperties":false,"description":"Where to move the eaches to.","properties":{"containerId":{"description":"id of the container to move the eaches to","type":"string"},"containerVersion":{"description":"version of the container to move the eaches to","minimum":0,"type":"integer"}},"required":["containerId","containerVersion"],"title":"PackJobMoveEachesToContainerTo"},"PackJobMoveEachesToNewContainerTo":{"additionalProperties":false,"description":"Additional information for the new created container during a move","properties":{"codes":{"items":{"description":"Codes, that identify the container","type":"string"},"type":"array"},"operativeContainerTypeRef":{"description":"the reference to the operativeContainerType","type":"string"}},"required":["operativeContainerTypeRef"],"title":"PackJobMoveEachesToContainerTo"},"PackJobMoveEachesToSourceContainerActionEnum":{"enum":["MOVE_EACHES_TO_PACKING_SOURCE_CONTAINER"],"type":"string","title":"PackJobMoveEachesToSourceContainerActionEnum","description":"PackJobMoveEachesToSourceContainerActionEnum"},"PackJobMoveEachesToTargetContainerActionParameter":{"additionalProperties":false,"description":"Action to replace the assigned users.","properties":{"move":{"$ref":"#/components/schemas/PackJobMoveEachesToContainerActionParameterMove"},"name":{"$ref":"#/components/schemas/PackJobMoveEachesToTargetContainerActionEnum"}},"required":["name","move"],"title":"PackJobReplaceAssignedUsersActionParameter"},"PackJobMoveEachesToTargetContainerActionEnum":{"enum":["MOVE_EACHES_TO_PACKING_TARGET_CONTAINER"],"type":"string","title":"PackJobMoveEachesToTargetContainerActionEnum","description":"PackJobMoveEachesToTargetContainerActionEnum"},"PackJob":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"assignedUsers":{"description":"Assigned users for this entity","items":{"$ref":"#/components/schemas/AssignedUser"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the pack job. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"deliveryChannel":{"enum":["COLLECT","SHIPPING"],"type":"string"},"documentHandling":{"$ref":"#/components/schemas/DocumentHandling"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"editor":{"$ref":"#/components/schemas/Editor"},"facilityRef":{"description":"Reference to the facility you want to get the corresponding packjob","type":"string"},"id":{"description":"The id of this pack job. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/PackLineItem"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"Date when the order was placed.","format":"date-time","type":"string"},"orderRef":{"description":"The id of the order","type":"string"},"packingSourceContainers":{"items":{"$ref":"#/components/schemas/StrippedPackingSourceContainer"}},"pickJobRef":{"description":"Reference to a pick job","type":"string"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"recipientName":{"description":"The name of the recipient","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"status":{"$ref":"#/components/schemas/PackJobStatus"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"targetTime":{"description":"Until when the pack job must be finished.","format":"date-time","type":"string"},"tenantOrderId":{"type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"minItems":1,"type":"array"}},"required":["id","facilityRef","documentsRef","status","lineItems","processId","workflowInformation"],"type":"object","xml":{"name":"PackJob"}}],"title":"PackJob","description":"PackJob"},"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"},"AssignedUser":{"properties":{"userId":{"description":"ID of the user who is assigned","type":"string"},"username":{"description":"username of the user who is assigned","type":"string"}},"required":["username","userId"],"type":"object","title":"AssignedUser","description":"AssignedUser"},"DocumentHandling":{"properties":{"sendLabel":{"properties":{"enabled":{"default":false,"type":"boolean"}},"required":["enabled"],"type":"object"}},"required":["sendLabel"],"type":"object","title":"DocumentHandling","description":"DocumentHandling"},"Editor":{"properties":{"userId":{"description":"ID of the user who edits the pickjob","type":"string"},"username":{"description":"username of the user who edits the pickjob","type":"string"}},"required":["username"],"type":"object","title":"Editor","description":"Editor"},"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"},"PackLineItem":{"allOf":[{"$ref":"#/components/schemas/MandatoryLineItem"},{"properties":{"article":{"$ref":"#/components/schemas/PackLineItemArticle"},"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"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","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"},"packed":{"description":"The amount of articles that were packed for this packline.","format":"int32","minimum":0,"type":"integer"},"quantity":{"description":"quantity of this item","format":"int64","minimum":1,"type":"integer"},"serviceJobRefs":{"description":"Reference to the service job that has altered this line item","items":{"type":"string"},"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["id","quantity","article"]}],"type":"object","xml":{"name":"PackLineItem"},"title":"PackLineItem","description":"PackLineItem"},"MandatoryLineItem":{"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","article","quantity"],"title":"MandatoryLineItem","type":"object","description":"MandatoryLineItem"},"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"},"PackLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"PackLineItemArticle"},"title":"PackLineItemArticle","description":"PackLineItemArticle"},"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"},"Sticker":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString","description":"Dictionary of possible translations, min 1 entry, max 14 characters per description"},"color":{"description":"optional color coding for the sticker","type":"string"},"key":{"description":"unique identifier","type":"string"},"name":{"description":"Translated display name","type":"string"},"priority":{"description":"priority of the given sticker","format":"int64","maximum":10000,"minimum":1,"type":"integer"}},"required":["key","nameLocalized","priority"],"title":"Sticker","description":"Sticker"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"StrippedPackingSourceContainer":{"additionalProperties":false,"properties":{"codes":{"items":{"description":"Codes, that identify the container","type":"string"},"minItems":1,"type":"array"},"id":{"type":"string"},"loadUnitRef":{"type":"string"}},"type":"object","title":"StrippedPackingSourceContainer","description":"StrippedPackingSourceContainer"},"PackJobStatus":{"description":"A pack job initially has the status OPEN and packing can start. When packing has started, the pack job changes its status to IN_PROGRESS. After a pack job has been completely packed its status becomes CLOSED.","enum":["OPEN","IN_PROGRESS","CLOSED","OBSOLETE","CANCELED","PAUSED"],"type":"string","xml":{"name":"PackJobStatus"},"title":"PackJobStatus"},"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"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"},"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/packjobs/{packJobId}/actions":{"post":{"operationId":"packJobAction","parameters":[{"description":"Reference to the pack job you want to call an action for","in":"path","name":"packJobId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJobActionsParameter"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJob"}}},"description":"Updated PackJob 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":"Enitity not found"}},"summary":"Call pack job action","tags":["Packing (Operations)"]}}}}
```

## POST /api/packjobs

> Create pack job

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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":{"PackJobForCreation":{"additionalProperties":false,"properties":{"assignedUsers":{"description":"Assigned users for this entity","items":{"anyOf":[{"$ref":"#/components/schemas/AssignedUserForCreationByName"},{"$ref":"#/components/schemas/AssignedUserForCreationById"}]},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the pack job. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"deliveryChannel":{"enum":["COLLECT","SHIPPING"],"type":"string"},"facilityRef":{"description":"Reference to the facility you want to get the corresponding packjob","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/PackLineItemForCreation"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"Date when the order was placed.","format":"date-time","type":"string"},"orderRef":{"description":"The id of the order","type":"string"},"pickJobRef":{"description":"Reference to a pick job","type":"string"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"recipientName":{"description":"The name of the recipient","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"status":{"$ref":"#/components/schemas/PackJobStatus"},"targetTime":{"description":"Until when the pack job must be finished.","format":"date-time","type":"string"},"tenantOrderId":{"type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]},"tags":{"description":"Tags can only be set when there is no process related with this packJob. Setting processId and tags will lead to an validationError.","items":{"$ref":"#/components/schemas/TagReference"},"minItems":1,"type":"array"}},"required":["facilityRef","lineItems","workflowInformation"],"type":"object","xml":{"name":"PackJobForCreation"},"title":"PackJobForCreation","description":"PackJobForCreation"},"AssignedUserForCreationByName":{"description":"Create a assigned user by giving a valid name","properties":{"username":{"description":"username of the user should be assigned","type":"string"}},"required":["username"],"title":"AssignedUserForCreationByName","type":"object"},"AssignedUserForCreationById":{"description":"Create a assigned user by giving a valid id","properties":{"userId":{"description":"userId of the user should be assigned","type":"string"}},"required":["userId"],"title":"AssignedUserForCreationById","type":"object"},"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"},"PackLineItemForCreation":{"allOf":[{"$ref":"#/components/schemas/MandatoryLineItemForCreation"}],"properties":{"article":{"$ref":"#/components/schemas/PackLineItemArticle"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","type":"string"},"quantity":{"description":"quantity of this item","format":"int64","minimum":1,"type":"integer"},"serviceJobRefs":{"description":"Reference to the service job that has altered this line item","items":{"type":"string"},"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["quantity","article"],"type":"object","xml":{"name":"PackLineItemForCreation"},"title":"PackLineItemForCreation","description":"PackLineItemForCreation"},"MandatoryLineItemForCreation":{"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"}},"required":["article","quantity"],"title":"MandatoryLineItemForCreation","type":"object","description":"MandatoryLineItemForCreation"},"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"},"PackLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"PackLineItemArticle"},"title":"PackLineItemArticle","description":"PackLineItemArticle"},"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"},"Sticker":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString","description":"Dictionary of possible translations, min 1 entry, max 14 characters per description"},"color":{"description":"optional color coding for the sticker","type":"string"},"key":{"description":"unique identifier","type":"string"},"name":{"description":"Translated display name","type":"string"},"priority":{"description":"priority of the given sticker","format":"int64","maximum":10000,"minimum":1,"type":"integer"}},"required":["key","nameLocalized","priority"],"title":"Sticker","description":"Sticker"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"PackJobStatus":{"description":"A pack job initially has the status OPEN and packing can start. When packing has started, the pack job changes its status to IN_PROGRESS. After a pack job has been completely packed its status becomes CLOSED.","enum":["OPEN","IN_PROGRESS","CLOSED","OBSOLETE","CANCELED","PAUSED"],"type":"string","xml":{"name":"PackJobStatus"},"title":"PackJobStatus"},"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"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"},"PackJob":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"assignedUsers":{"description":"Assigned users for this entity","items":{"$ref":"#/components/schemas/AssignedUser"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the pack job. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"deliveryChannel":{"enum":["COLLECT","SHIPPING"],"type":"string"},"documentHandling":{"$ref":"#/components/schemas/DocumentHandling"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"editor":{"$ref":"#/components/schemas/Editor"},"facilityRef":{"description":"Reference to the facility you want to get the corresponding packjob","type":"string"},"id":{"description":"The id of this pack job. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/PackLineItem"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"Date when the order was placed.","format":"date-time","type":"string"},"orderRef":{"description":"The id of the order","type":"string"},"packingSourceContainers":{"items":{"$ref":"#/components/schemas/StrippedPackingSourceContainer"}},"pickJobRef":{"description":"Reference to a pick job","type":"string"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"recipientName":{"description":"The name of the recipient","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"status":{"$ref":"#/components/schemas/PackJobStatus"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"targetTime":{"description":"Until when the pack job must be finished.","format":"date-time","type":"string"},"tenantOrderId":{"type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"minItems":1,"type":"array"}},"required":["id","facilityRef","documentsRef","status","lineItems","processId","workflowInformation"],"type":"object","xml":{"name":"PackJob"}}],"title":"PackJob","description":"PackJob"},"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"},"AssignedUser":{"properties":{"userId":{"description":"ID of the user who is assigned","type":"string"},"username":{"description":"username of the user who is assigned","type":"string"}},"required":["username","userId"],"type":"object","title":"AssignedUser","description":"AssignedUser"},"DocumentHandling":{"properties":{"sendLabel":{"properties":{"enabled":{"default":false,"type":"boolean"}},"required":["enabled"],"type":"object"}},"required":["sendLabel"],"type":"object","title":"DocumentHandling","description":"DocumentHandling"},"Editor":{"properties":{"userId":{"description":"ID of the user who edits the pickjob","type":"string"},"username":{"description":"username of the user who edits the pickjob","type":"string"}},"required":["username"],"type":"object","title":"Editor","description":"Editor"},"PackLineItem":{"allOf":[{"$ref":"#/components/schemas/MandatoryLineItem"},{"properties":{"article":{"$ref":"#/components/schemas/PackLineItemArticle"},"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"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","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"},"packed":{"description":"The amount of articles that were packed for this packline.","format":"int32","minimum":0,"type":"integer"},"quantity":{"description":"quantity of this item","format":"int64","minimum":1,"type":"integer"},"serviceJobRefs":{"description":"Reference to the service job that has altered this line item","items":{"type":"string"},"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["id","quantity","article"]}],"type":"object","xml":{"name":"PackLineItem"},"title":"PackLineItem","description":"PackLineItem"},"MandatoryLineItem":{"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","article","quantity"],"title":"MandatoryLineItem","type":"object","description":"MandatoryLineItem"},"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"},"StrippedPackingSourceContainer":{"additionalProperties":false,"properties":{"codes":{"items":{"description":"Codes, that identify the container","type":"string"},"minItems":1,"type":"array"},"id":{"type":"string"},"loadUnitRef":{"type":"string"}},"type":"object","title":"StrippedPackingSourceContainer","description":"StrippedPackingSourceContainer"},"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/packjobs":{"post":{"description":"","operationId":"addPackJob","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJobForCreation"}}},"description":"Pack job object","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJob"}}},"description":"The pack job was successfully created. The Location header contains the URL of the pack job."},"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 pack job","tags":["Packing (Operations)"]}}}}
```

## GET /api/packjobs/{packJobId}/deliverynote

> Get pack job delivery note

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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/packjobs/{packJobId}/deliverynote":{"get":{"description":"","operationId":"getPackJobDeliveryNote","parameters":[{"description":"ID of the pack job for which you want to get a deliverynote","in":"path","name":"packJobId","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":{}},"description":"The deliverynote for the given packjob"},"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 pack job delivery note","tags":["Packing (Operations)"]}}}}
```

## GET /api/packjobs/{packJobId}/documenthandling

> Get pack job document handling

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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":{"DocumentHandling":{"properties":{"sendLabel":{"properties":{"enabled":{"default":false,"type":"boolean"}},"required":["enabled"],"type":"object"}},"required":["sendLabel"],"type":"object","title":"DocumentHandling","description":"DocumentHandling"},"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/packjobs/{packJobId}/documenthandling":{"get":{"description":"","operationId":"getPackJobDocumentHandling","parameters":[{"description":"ID of the pack job you want to get document handling information","in":"path","name":"packJobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentHandling"}}},"description":"Pack job document handling 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 pack job document handling","tags":["Packing (Operations)"]}}}}
```

## GET /api/packjobs/{packJobId}/transferlabel

> Get pack job transfer label

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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/packjobs/{packJobId}/transferlabel":{"get":{"description":"","operationId":"getPackJobTransferLabel","parameters":[{"description":"ID of the pack job for which you want to get a transfer label","in":"path","name":"packJobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/pdf":{}},"description":"The transfer label for the given packjob"},"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 pack job transfer label","tags":["Packing (Operations)"]}}}}
```

## List pack jobs (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 PackJob

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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":{"PackJobSearchPayload":{"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/PackJobSearchQuery"},"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/PackJobSort"},"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":"PackJobSearchPayload","type":"object","description":"PackJobSearchPayload"},"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"},"PackJobSearchQuery":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PackJobSearchQuery"},"maxItems":500,"type":"array"},"facilityRef":{"allOf":[{"$ref":"#/components/schemas/StringEqFilter"}],"description":"Search by facilityRef"},"id":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by id"},"invoice":{"allOf":[{"$ref":"#/components/schemas/PackJobInvoiceFilter"}],"description":"Nested search by invoice"},"lastModified":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by lastModified"},"lineItems":{"allOf":[{"$ref":"#/components/schemas/PackJobLineItemsListFilter"}],"description":"Nested list search by lineItems"},"or":{"items":{"$ref":"#/components/schemas/PackJobSearchQuery"},"maxItems":500,"type":"array"},"orderDate":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search entries by orderDate. Applying a narrow and well-considered filter value is strongly recommended, as it can greatly improve response times, especially when working with large datasets."},"packingSourceContainers":{"allOf":[{"$ref":"#/components/schemas/PackJobPackingSourceContainersListFilter"}],"description":"Nested list search by packingSourceContainers"},"recipient":{"allOf":[{"$ref":"#/components/schemas/PackJobRecipientFilter"}],"description":"Nested search by recipient"},"shortId":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by shortId"},"status":{"allOf":[{"$ref":"#/components/schemas/PackJobStatusEnumFilter"}],"description":"Search by status"},"targetTime":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by targetTime"},"tenantOrderId":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by tenantOrderId"}},"title":"PackJobSearchQuery","type":"object","description":"PackJobSearchQuery"},"StringEqFilter":{"properties":{"eq":{"maxLength":256,"type":"string"},"notEq":{"maxLength":256,"type":"string"}},"title":"StringEqFilter","type":"object","description":"StringEqFilter"},"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"},"PackJobInvoiceFilter":{"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":"PackJobInvoiceFilter","type":"object","description":"PackJobInvoiceFilter"},"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"},"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"},"PackJobLineItemsListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/PackJobLineItemsFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"PackJobLineItemsListFilter","type":"object","description":"PackJobLineItemsListFilter"},"PackJobLineItemsFilter":{"properties":{"article":{"allOf":[{"$ref":"#/components/schemas/PackJobLineItemsArticleFilter"}],"description":"Nested search by article"}},"title":"PackJobLineItemsFilter","type":"object","description":"PackJobLineItemsFilter"},"PackJobLineItemsArticleFilter":{"properties":{"tenantArticleId":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by tenantArticleId"},"title":{"allOf":[{"$ref":"#/components/schemas/StringSearchFilter"}],"description":"Search by title"}},"title":"PackJobLineItemsArticleFilter","type":"object","description":"PackJobLineItemsArticleFilter"},"PackJobPackingSourceContainersListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/PackJobPackingSourceContainersFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"PackJobPackingSourceContainersListFilter","type":"object","description":"PackJobPackingSourceContainersListFilter"},"PackJobPackingSourceContainersFilter":{"properties":{"codes":{"allOf":[{"$ref":"#/components/schemas/StringListFilter"}],"description":"Search by codes"}},"title":"PackJobPackingSourceContainersFilter","type":"object","description":"PackJobPackingSourceContainersFilter"},"StringListFilter":{"properties":{"contains":{"$ref":"#/components/schemas/StringEqFilter"}},"title":"StringListFilter","type":"object","description":"StringListFilter"},"PackJobRecipientFilter":{"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":"PackJobRecipientFilter","type":"object","description":"PackJobRecipientFilter"},"PackJobStatusEnumFilter":{"properties":{"eq":{"description":"Search by status","enum":["OPEN","IN_PROGRESS","CLOSED","OBSOLETE","CANCELED","PAUSED"],"type":"string"},"in":{"description":"Search by status","items":{"enum":["OPEN","IN_PROGRESS","CLOSED","OBSOLETE","CANCELED","PAUSED"],"type":"string"},"maxItems":500,"type":"array"},"notEq":{"description":"Search by status","enum":["OPEN","IN_PROGRESS","CLOSED","OBSOLETE","CANCELED","PAUSED"],"type":"string"}},"title":"PackJobStatusEnumFilter","type":"object","description":"PackJobStatusEnumFilter"},"PackJobSort":{"properties":{"lastModified":{"enum":["ASC","DESC"],"type":"string"},"orderDate":{"enum":["ASC","DESC"],"type":"string"},"targetTime":{"enum":["ASC","DESC"],"type":"string"}},"title":"PackJobSort","type":"object","description":"PackJobSort"},"PackJobPaginatedResult":{"properties":{"packJobs":{"items":{"$ref":"#/components/schemas/PackJob"},"type":"array"},"pageInfo":{"allOf":[{"$ref":"#/components/schemas/PageInfo"}],"description":"Pagination information for the search result."},"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","packJobs"],"title":"PackJobPaginatedResult","type":"object","description":"PackJobPaginatedResult"},"PackJob":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"assignedUsers":{"description":"Assigned users for this entity","items":{"$ref":"#/components/schemas/AssignedUser"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the pack job. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"deliveryChannel":{"enum":["COLLECT","SHIPPING"],"type":"string"},"documentHandling":{"$ref":"#/components/schemas/DocumentHandling"},"documentsRef":{"description":"Reference to the documents collection from this entity","type":"string"},"editor":{"$ref":"#/components/schemas/Editor"},"facilityRef":{"description":"Reference to the facility you want to get the corresponding packjob","type":"string"},"id":{"description":"The id of this pack job. It is generated during creation automatically and suits as the primary identifier of the described entity.","type":"string"},"invoice":{"$ref":"#/components/schemas/ConsumerAddress"},"lineItems":{"items":{"$ref":"#/components/schemas/PackLineItem"},"type":"array"},"operativeProcessRef":{"type":"string"},"orderDate":{"description":"Date when the order was placed.","format":"date-time","type":"string"},"orderRef":{"description":"The id of the order","type":"string"},"packingSourceContainers":{"items":{"$ref":"#/components/schemas/StrippedPackingSourceContainer"}},"pickJobRef":{"description":"Reference to a pick job","type":"string"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"recipient":{"$ref":"#/components/schemas/ConsumerAddress"},"recipientName":{"description":"The name of the recipient","type":"string"},"shortId":{"description":"The short identifier of the shipment.","type":"string"},"status":{"$ref":"#/components/schemas/PackJobStatus"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"targetTime":{"description":"Until when the pack job must be finished.","format":"date-time","type":"string"},"tenantOrderId":{"type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/OperativeTransfer"},"minItems":0,"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"minItems":1,"type":"array"}},"required":["id","facilityRef","documentsRef","status","lineItems","processId","workflowInformation"],"type":"object","xml":{"name":"PackJob"}}],"title":"PackJob","description":"PackJob"},"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"},"AssignedUser":{"properties":{"userId":{"description":"ID of the user who is assigned","type":"string"},"username":{"description":"username of the user who is assigned","type":"string"}},"required":["username","userId"],"type":"object","title":"AssignedUser","description":"AssignedUser"},"DocumentHandling":{"properties":{"sendLabel":{"properties":{"enabled":{"default":false,"type":"boolean"}},"required":["enabled"],"type":"object"}},"required":["sendLabel"],"type":"object","title":"DocumentHandling","description":"DocumentHandling"},"Editor":{"properties":{"userId":{"description":"ID of the user who edits the pickjob","type":"string"},"username":{"description":"username of the user who edits the pickjob","type":"string"}},"required":["username"],"type":"object","title":"Editor","description":"Editor"},"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"},"PackLineItem":{"allOf":[{"$ref":"#/components/schemas/MandatoryLineItem"},{"properties":{"article":{"$ref":"#/components/schemas/PackLineItemArticle"},"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"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","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"},"packed":{"description":"The amount of articles that were packed for this packline.","format":"int32","minimum":0,"type":"integer"},"quantity":{"description":"quantity of this item","format":"int64","minimum":1,"type":"integer"},"serviceJobRefs":{"description":"Reference to the service job that has altered this line item","items":{"type":"string"},"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"type":"array"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["id","quantity","article"]}],"type":"object","xml":{"name":"PackLineItem"},"title":"PackLineItem","description":"PackLineItem"},"MandatoryLineItem":{"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","article","quantity"],"title":"MandatoryLineItem","type":"object","description":"MandatoryLineItem"},"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"},"PackLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/ArticleAttributeItem"},"maxItems":40,"type":"array"}},"type":"object"}],"xml":{"name":"PackLineItemArticle"},"title":"PackLineItemArticle","description":"PackLineItemArticle"},"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"},"Sticker":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString","description":"Dictionary of possible translations, min 1 entry, max 14 characters per description"},"color":{"description":"optional color coding for the sticker","type":"string"},"key":{"description":"unique identifier","type":"string"},"name":{"description":"Translated display name","type":"string"},"priority":{"description":"priority of the given sticker","format":"int64","maximum":10000,"minimum":1,"type":"integer"}},"required":["key","nameLocalized","priority"],"title":"Sticker","description":"Sticker"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"StrippedPackingSourceContainer":{"additionalProperties":false,"properties":{"codes":{"items":{"description":"Codes, that identify the container","type":"string"},"minItems":1,"type":"array"},"id":{"type":"string"},"loadUnitRef":{"type":"string"}},"type":"object","title":"StrippedPackingSourceContainer","description":"StrippedPackingSourceContainer"},"PackJobStatus":{"description":"A pack job initially has the status OPEN and packing can start. When packing has started, the pack job changes its status to IN_PROGRESS. After a pack job has been completely packed its status becomes CLOSED.","enum":["OPEN","IN_PROGRESS","CLOSED","OBSOLETE","CANCELED","PAUSED"],"type":"string","xml":{"name":"PackJobStatus"},"title":"PackJobStatus"},"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"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"},"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"},"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/packjobs/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 PackJob","operationId":"searchPackJob","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJobSearchPayload"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJobPaginatedResult"}}},"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 pack jobs (search)","tags":["Packing (Operations)"]}}}}
```

## GET /api/packjobs/{packJobId}/targetcontainers/{targetcontainerId}/transferlabel

> Get target container transfer label

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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/packjobs/{packJobId}/targetcontainers/{targetcontainerId}/transferlabel":{"get":{"description":"","operationId":"getPackingTargetContainerTransferLabel","parameters":[{"description":"ID of the pack job for which you want to get a transfer label","in":"path","name":"packJobId","required":true,"schema":{"type":"string"}},{"description":"ID of the packingTargetContainer for which you want to get a transfer label","in":"path","name":"targetcontainerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/pdf":{}},"description":"The transfer label for the given packingTargetContainer"},"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 target container transfer label","tags":["Packing (Operations)"]}}}}
```

## Delete pack job target container

> 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 />Deletes a packing target container

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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/packjobs/{packJobId}/targetcontainers/{targetcontainerId}":{"delete":{"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 />Deletes a packing target container","operationId":"deletePackingTargetContainer","parameters":[{"description":"ID of corresponding packJob you want to patch","in":"path","name":"packJobId","required":true,"schema":{"type":"string"}},{"description":"ID of container you want to delete","in":"path","name":"targetcontainerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Container was found & you were allowed to delete it."},"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":"Delete pack job target container","tags":["Packing (Operations)"]}}}}
```

## PATCH /api/configurations/packing

> Update packing config

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read packing configuration.","name":"Packing Configuration (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":{"PackingConfigurations":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"documentHandlingConfiguration":{"$ref":"#/components/schemas/DocumentHandlingConfiguration"},"packingContainerRequiredConfiguration":{"$ref":"#/components/schemas/PackingContainerRequiredConfiguration"},"packingItemConfirmationNeededConfiguration":{"$ref":"#/components/schemas/PackingItemConfirmationNeededConfiguration"},"packingSourceContainerConfiguration":{"$ref":"#/components/schemas/PackingSourceContainerConfiguration"},"scanningConfiguration":{"$ref":"#/components/schemas/PackingScanningConfiguration"}},"type":"object","title":"PackingConfigurations","description":"PackingConfigurations"},"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"},"DocumentHandlingConfiguration":{"description":"The configuration allows documents that have been added to the document set of a pack job to be added to the process. The configuration sets the section names of the entities to which external documents will be added to. If the configuration set is empty, no external documents will be added to the process.","properties":{"inheritedDocumentConfigurations":{"items":{"$ref":"#/components/schemas/InheritedDocumentConfiguration"},"type":"array"}},"required":["inheritedDocumentConfigurations"],"title":"DocumentHandlingConfiguration","type":"object"},"InheritedDocumentConfiguration":{"properties":{"section":{"$ref":"#/components/schemas/Section"}},"required":["section"],"title":"InheritedDocumentConfiguration","description":"InheritedDocumentConfiguration"},"Section":{"enum":["ORDER","PACKJOB","PICKJOB","HANDOVERJOB","PARCEL","PACKING_TARGET_CONTAINER"],"type":"string","title":"Section","description":"Section"},"PackingContainerRequiredConfiguration":{"additionalProperties":false,"description":"Packing Container Required Configuration.","properties":{"active":{"default":false,"type":"boolean"}},"required":["active"],"title":"PackingContainerRequiredConfiguration","type":"object"},"PackingItemConfirmationNeededConfiguration":{"additionalProperties":false,"description":"Do the customer need to validate which items are part of a pack job","properties":{"active":{"default":true,"type":"boolean"}},"required":["active"],"title":"PackingContainerRequiredConfiguration","type":"object"},"PackingSourceContainerConfiguration":{"description":"Can this tenant use the packing source container","properties":{"active":{"default":false,"type":"boolean"}},"required":["active"],"title":"PackingSourceContainerConfiguration","type":"object"},"PackingScanningConfiguration":{"description":"Packing Scanning Configuration.","properties":{"scanningType":{"$ref":"#/components/schemas/PackingScanningConfigurationEnum"}},"title":"PackingScanningConfiguration","type":"object"},"PackingScanningConfigurationEnum":{"enum":["MUST_SCAN_EACH","SCAN_NOT_REQUIRED"],"type":"string","title":"PackingScanningConfigurationEnum","description":"PackingScanningConfigurationEnum"},"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/configurations/packing":{"patch":{"description":"","operationId":"upsertPackingConfigurations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackingConfigurations"}}},"description":"create/update packing central configuration","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackingConfigurations"}}},"description":"The packing central configuration was successfully updated."},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackingConfigurations"}}},"description":"The packing central configuration was successfully created."},"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":"Update packing config","tags":["Packing Configuration (Operations)"]}}}}
```

## GET /api/configurations/packing

> Get packing config

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read packing configuration.","name":"Packing Configuration (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":{"PackingConfigurations":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"documentHandlingConfiguration":{"$ref":"#/components/schemas/DocumentHandlingConfiguration"},"packingContainerRequiredConfiguration":{"$ref":"#/components/schemas/PackingContainerRequiredConfiguration"},"packingItemConfirmationNeededConfiguration":{"$ref":"#/components/schemas/PackingItemConfirmationNeededConfiguration"},"packingSourceContainerConfiguration":{"$ref":"#/components/schemas/PackingSourceContainerConfiguration"},"scanningConfiguration":{"$ref":"#/components/schemas/PackingScanningConfiguration"}},"type":"object","title":"PackingConfigurations","description":"PackingConfigurations"},"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"},"DocumentHandlingConfiguration":{"description":"The configuration allows documents that have been added to the document set of a pack job to be added to the process. The configuration sets the section names of the entities to which external documents will be added to. If the configuration set is empty, no external documents will be added to the process.","properties":{"inheritedDocumentConfigurations":{"items":{"$ref":"#/components/schemas/InheritedDocumentConfiguration"},"type":"array"}},"required":["inheritedDocumentConfigurations"],"title":"DocumentHandlingConfiguration","type":"object"},"InheritedDocumentConfiguration":{"properties":{"section":{"$ref":"#/components/schemas/Section"}},"required":["section"],"title":"InheritedDocumentConfiguration","description":"InheritedDocumentConfiguration"},"Section":{"enum":["ORDER","PACKJOB","PICKJOB","HANDOVERJOB","PARCEL","PACKING_TARGET_CONTAINER"],"type":"string","title":"Section","description":"Section"},"PackingContainerRequiredConfiguration":{"additionalProperties":false,"description":"Packing Container Required Configuration.","properties":{"active":{"default":false,"type":"boolean"}},"required":["active"],"title":"PackingContainerRequiredConfiguration","type":"object"},"PackingItemConfirmationNeededConfiguration":{"additionalProperties":false,"description":"Do the customer need to validate which items are part of a pack job","properties":{"active":{"default":true,"type":"boolean"}},"required":["active"],"title":"PackingContainerRequiredConfiguration","type":"object"},"PackingSourceContainerConfiguration":{"description":"Can this tenant use the packing source container","properties":{"active":{"default":false,"type":"boolean"}},"required":["active"],"title":"PackingSourceContainerConfiguration","type":"object"},"PackingScanningConfiguration":{"description":"Packing Scanning Configuration.","properties":{"scanningType":{"$ref":"#/components/schemas/PackingScanningConfigurationEnum"}},"title":"PackingScanningConfiguration","type":"object"},"PackingScanningConfigurationEnum":{"enum":["MUST_SCAN_EACH","SCAN_NOT_REQUIRED"],"type":"string","title":"PackingScanningConfigurationEnum","description":"PackingScanningConfigurationEnum"},"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/configurations/packing":{"get":{"operationId":"getPackingConfigurations","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackingConfigurations"}}},"description":"Central Configuration of all packing related things"},"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 packing config","tags":["Packing Configuration (Operations)"]}}}}
```

## GET /api/configurations/tags/packjob

> Get pack jobs tag config

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read packing configuration.","name":"Packing Configuration (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":{"PackJobTagConfiguration":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"$ref":"#/components/schemas/TagConfiguration"},{"properties":{"lineItemStickerConfiguration":{"$ref":"#/components/schemas/StickerConfiguration"},"packJobCreationPerTag":{"description":"All entries with a match in their matchingValues will be combined when determining what documents belong to an entity","items":{"$ref":"#/components/schemas/PackJobCreationPerTag"},"type":"array"},"stickerConfiguration":{"$ref":"#/components/schemas/StickerConfiguration"}},"required":["packJobCreationPerTag"],"type":"object"}],"title":"PackJobTagConfiguration","description":"PackJobTagConfiguration"},"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"},"TagConfiguration":{"properties":{"offeredDocumentsByDefault":{"description":"This configuration is a fallback and applies only if none of the entries in offeredDocumentsPerTag can be applied","items":{"$ref":"#/components/schemas/OfferedDocument"},"type":"array"},"offeredDocumentsPerTag":{"description":"All entries with a match in their matchingValues will be combined when determining what documents belong to an entity","items":{"$ref":"#/components/schemas/OfferedDocumentPerTag"},"type":"array"}},"required":["offeredDocumentsPerTag","offeredDocumentsByDefault"],"title":"TagConfiguration","description":"TagConfiguration"},"OfferedDocument":{"properties":{"documentCategory":{"$ref":"#/components/schemas/DocumentCategory"}},"required":["documentCategory"],"type":"object","title":"OfferedDocument","description":"OfferedDocument"},"DocumentCategory":{"enum":["EXTERNAL","DELIVERYNOTE","RETURNNOTE","SENDLABEL","RETURNLABEL","TRANSFERLABEL","CUSTOMS"],"type":"string","title":"DocumentCategory","description":"DocumentCategory"},"OfferedDocumentPerTag":{"properties":{"matchingValues":{"items":{"minItems":1,"type":"string"},"type":"array"},"offeredDocuments":{"items":{"$ref":"#/components/schemas/OfferedDocument"},"type":"array"},"tagRef":{"type":"string"}},"required":["offeredDocuments","matchingValues","tagRef"],"type":"object","title":"OfferedDocumentPerTag","description":"OfferedDocumentPerTag"},"StickerConfiguration":{"additionalProperties":false,"properties":{"offeredStickersByTag":{"items":{"$ref":"#/components/schemas/OfferedStickersByTag"},"type":"array"}},"title":"StickerConfiguration","description":"StickerConfiguration"},"OfferedStickersByTag":{"additionalProperties":false,"properties":{"matchingValues":{"items":{"type":"string"},"minItems":1,"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"minItems":1,"type":"array"},"tagRef":{"type":"string"}},"required":["tagRef","matchingValues","stickers"],"type":"object","title":"OfferedStickersByTag","description":"OfferedStickersByTag"},"Sticker":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString","description":"Dictionary of possible translations, min 1 entry, max 14 characters per description"},"color":{"description":"optional color coding for the sticker","type":"string"},"key":{"description":"unique identifier","type":"string"},"name":{"description":"Translated display name","type":"string"},"priority":{"description":"priority of the given sticker","format":"int64","maximum":10000,"minimum":1,"type":"integer"}},"required":["key","nameLocalized","priority"],"title":"Sticker","description":"Sticker"},"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"},"PackJobCreationPerTag":{"properties":{"matchingValues":{"items":{"minItems":1,"type":"string"},"type":"array"},"packJobCreationDisabled":{"type":"boolean"},"tagRef":{"type":"string"}},"required":["packJobCreationDisabled","matchingValues","tagRef"],"type":"object","title":"PackJobCreationPerTag","description":"PackJobCreationPerTag"},"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/configurations/tags/packjob":{"get":{"description":"","operationId":"getPackJobTagConfiguration","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJobTagConfiguration"}}},"description":"Packjob tag config is in response 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 pack jobs tag config","tags":["Packing Configuration (Operations)"]}}}}
```

## PUT /api/configurations/tags/packjob

> Update pack jobs tag config

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read packing configuration.","name":"Packing Configuration (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":{"PackJobTagConfiguration":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"$ref":"#/components/schemas/TagConfiguration"},{"properties":{"lineItemStickerConfiguration":{"$ref":"#/components/schemas/StickerConfiguration"},"packJobCreationPerTag":{"description":"All entries with a match in their matchingValues will be combined when determining what documents belong to an entity","items":{"$ref":"#/components/schemas/PackJobCreationPerTag"},"type":"array"},"stickerConfiguration":{"$ref":"#/components/schemas/StickerConfiguration"}},"required":["packJobCreationPerTag"],"type":"object"}],"title":"PackJobTagConfiguration","description":"PackJobTagConfiguration"},"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"},"TagConfiguration":{"properties":{"offeredDocumentsByDefault":{"description":"This configuration is a fallback and applies only if none of the entries in offeredDocumentsPerTag can be applied","items":{"$ref":"#/components/schemas/OfferedDocument"},"type":"array"},"offeredDocumentsPerTag":{"description":"All entries with a match in their matchingValues will be combined when determining what documents belong to an entity","items":{"$ref":"#/components/schemas/OfferedDocumentPerTag"},"type":"array"}},"required":["offeredDocumentsPerTag","offeredDocumentsByDefault"],"title":"TagConfiguration","description":"TagConfiguration"},"OfferedDocument":{"properties":{"documentCategory":{"$ref":"#/components/schemas/DocumentCategory"}},"required":["documentCategory"],"type":"object","title":"OfferedDocument","description":"OfferedDocument"},"DocumentCategory":{"enum":["EXTERNAL","DELIVERYNOTE","RETURNNOTE","SENDLABEL","RETURNLABEL","TRANSFERLABEL","CUSTOMS"],"type":"string","title":"DocumentCategory","description":"DocumentCategory"},"OfferedDocumentPerTag":{"properties":{"matchingValues":{"items":{"minItems":1,"type":"string"},"type":"array"},"offeredDocuments":{"items":{"$ref":"#/components/schemas/OfferedDocument"},"type":"array"},"tagRef":{"type":"string"}},"required":["offeredDocuments","matchingValues","tagRef"],"type":"object","title":"OfferedDocumentPerTag","description":"OfferedDocumentPerTag"},"StickerConfiguration":{"additionalProperties":false,"properties":{"offeredStickersByTag":{"items":{"$ref":"#/components/schemas/OfferedStickersByTag"},"type":"array"}},"title":"StickerConfiguration","description":"StickerConfiguration"},"OfferedStickersByTag":{"additionalProperties":false,"properties":{"matchingValues":{"items":{"type":"string"},"minItems":1,"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"minItems":1,"type":"array"},"tagRef":{"type":"string"}},"required":["tagRef","matchingValues","stickers"],"type":"object","title":"OfferedStickersByTag","description":"OfferedStickersByTag"},"Sticker":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString","description":"Dictionary of possible translations, min 1 entry, max 14 characters per description"},"color":{"description":"optional color coding for the sticker","type":"string"},"key":{"description":"unique identifier","type":"string"},"name":{"description":"Translated display name","type":"string"},"priority":{"description":"priority of the given sticker","format":"int64","maximum":10000,"minimum":1,"type":"integer"}},"required":["key","nameLocalized","priority"],"title":"Sticker","description":"Sticker"},"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"},"PackJobCreationPerTag":{"properties":{"matchingValues":{"items":{"minItems":1,"type":"string"},"type":"array"},"packJobCreationDisabled":{"type":"boolean"},"tagRef":{"type":"string"}},"required":["packJobCreationDisabled","matchingValues","tagRef"],"type":"object","title":"PackJobCreationPerTag","description":"PackJobCreationPerTag"},"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/configurations/tags/packjob":{"put":{"description":"","operationId":"putPackJobTagConfiguration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJobTagConfiguration"}}},"description":"Desired PackJobTagConfiguration","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackJobTagConfiguration"}}},"description":"The packing configuration was successfully updated."},"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":"Update pack jobs tag config","tags":["Packing Configuration (Operations)"]}}}}
```

## GET /api/packjobs/{packJobId}/returnnote

> Get pack job return note

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"These endpoints facilitate the packing process.","name":"Packing (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/packjobs/{packJobId}/returnnote":{"get":{"description":"","operationId":"getReturnNotesForPackJob","parameters":[{"description":"ID of the PackJob","in":"path","name":"packJobId","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":{}},"description":"Returns a return note for the packjob."},"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 pack job return note","tags":["Packing (Operations)"]}}}}
```
