# Stocks Configuration (Inventory)

Endpoints to create, update and read stocks configuration.

## GET /api/configurations/inventory

> Get inventory config

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"InventoryConfiguration":{"properties":{"isMixedStorage":{"type":"boolean"},"version":{"type":"number"}},"required":["version"],"title":"InventoryConfiguration","type":"object","description":"InventoryConfiguration"},"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/inventory":{"get":{"deprecated":false,"description":"","operationId":"getInventoryConfigurations","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryConfiguration"}}},"description":"Requested Inventory Configuration"},"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":"Get inventory config","tags":["Stocks Configuration (Inventory)"]}}}}
```

## PATCH /api/configurations/inventory

> Update inventory config

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"InventoryConfigurationForPatch":{"properties":{"isMixedStorage":{"nullable":true,"type":"boolean"},"version":{"type":"number"}},"required":["version"],"title":"InventoryConfigurationForPatch","type":"object","description":"InventoryConfigurationForPatch"},"InventoryConfiguration":{"properties":{"isMixedStorage":{"type":"boolean"},"version":{"type":"number"}},"required":["version"],"title":"InventoryConfiguration","type":"object","description":"InventoryConfiguration"},"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/inventory":{"patch":{"deprecated":false,"description":"","operationId":"upsertInventoryConfigurations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryConfigurationForPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryConfiguration"}}},"description":"Requested Inventory Configuration"},"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":"Update inventory config","tags":["Stocks Configuration (Inventory)"]}}}}
```

## Get stock config

> Read current stock configuration

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"StockConfiguration":{"allOf":[{"$ref":"#/components/schemas/StockConfigurationForUpdate"},{"$ref":"#/components/schemas/VersionedResource"}],"description":"https://docs.fulfillmenttools.com/documentation/products/inventory-management/configurations","properties":{"id":{"type":"string"}},"type":"object","xml":{"name":"StockConfiguration"},"title":"StockConfiguration"},"StockConfigurationForUpdate":{"allOf":[{"$ref":"#/components/schemas/StockConfigurationForCreation"}],"description":"Stock configuration data for updates","properties":{"version":{"description":"Version of the documentSet you want to update a document of","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"StockConfigurationForUpdate"},"StockConfigurationForCreation":{"description":"Stock configuration data for creation","properties":{"expectedStock":{"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 />Configuration for expected stock generation from routing plans","properties":{"generateFromRoutingPlan":{"default":false,"description":"If true, automatically create incoming expected stock after routing","type":"boolean"}},"type":"object"},"inboundProcess":{"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 />Configuration for inbound process creation from interfacility transfers","properties":{"generateFromInterfacilityTransfer":{"default":true,"description":"If true, automatically create an internal purchase order when an interfacility transfer is handed over. Defaults to true.","type":"boolean"}},"type":"object"},"reservedStock":{"description":"This part of the API is in Alpha status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#alpha\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />This config has no effect yet","properties":{"clearAllPredecessors":{"deprecated":true,"description":"@deprecated Clear stocks and reservations in supplying facilities when handover events occur in the receiving facility","type":"boolean"},"clearStocksAndReservationsTrigger":{"description":"Clear related stocks and reservations when the specified events occur","items":{"properties":{"completionEntity":{"$ref":"#/components/schemas/ReservationReleaseCompletionEntityEnum"}},"required":["completionEntity"],"type":"object"},"maxItems":1,"minItems":1,"type":"array"}},"type":"object"},"stockModificationEnabled":{"default":true,"deprecated":true,"description":"This part of the API is deprecated. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#deprecated\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />@deprecated Indicates if manual stock modification is allowed - will be moved to remoteConfig","type":"boolean"}},"required":["stockModificationEnabled"],"type":"object","title":"StockConfigurationForCreation"},"ReservationReleaseCompletionEntityEnum":{"enum":["HANDOVERJOB","PICKJOB"],"type":"string","title":"ReservationReleaseCompletionEntityEnum","description":"ReservationReleaseCompletionEntityEnum"},"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"},"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/stock":{"get":{"description":"Read current stock configuration","operationId":"getStockConfiguration","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StockConfiguration"}}},"description":"StockConfiguration config found."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found"}},"summary":"Get stock config","tags":["Stocks Configuration (Inventory)"]}}}}
```

## Update stock config

> Update stock configuration

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"StockConfigurationForUpdate":{"allOf":[{"$ref":"#/components/schemas/StockConfigurationForCreation"}],"description":"Stock configuration data for updates","properties":{"version":{"description":"Version of the documentSet you want to update a document of","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"StockConfigurationForUpdate"},"StockConfigurationForCreation":{"description":"Stock configuration data for creation","properties":{"expectedStock":{"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 />Configuration for expected stock generation from routing plans","properties":{"generateFromRoutingPlan":{"default":false,"description":"If true, automatically create incoming expected stock after routing","type":"boolean"}},"type":"object"},"inboundProcess":{"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 />Configuration for inbound process creation from interfacility transfers","properties":{"generateFromInterfacilityTransfer":{"default":true,"description":"If true, automatically create an internal purchase order when an interfacility transfer is handed over. Defaults to true.","type":"boolean"}},"type":"object"},"reservedStock":{"description":"This part of the API is in Alpha status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#alpha\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />This config has no effect yet","properties":{"clearAllPredecessors":{"deprecated":true,"description":"@deprecated Clear stocks and reservations in supplying facilities when handover events occur in the receiving facility","type":"boolean"},"clearStocksAndReservationsTrigger":{"description":"Clear related stocks and reservations when the specified events occur","items":{"properties":{"completionEntity":{"$ref":"#/components/schemas/ReservationReleaseCompletionEntityEnum"}},"required":["completionEntity"],"type":"object"},"maxItems":1,"minItems":1,"type":"array"}},"type":"object"},"stockModificationEnabled":{"default":true,"deprecated":true,"description":"This part of the API is deprecated. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#deprecated\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />@deprecated Indicates if manual stock modification is allowed - will be moved to remoteConfig","type":"boolean"}},"required":["stockModificationEnabled"],"type":"object","title":"StockConfigurationForCreation"},"ReservationReleaseCompletionEntityEnum":{"enum":["HANDOVERJOB","PICKJOB"],"type":"string","title":"ReservationReleaseCompletionEntityEnum","description":"ReservationReleaseCompletionEntityEnum"},"StockConfiguration":{"allOf":[{"$ref":"#/components/schemas/StockConfigurationForUpdate"},{"$ref":"#/components/schemas/VersionedResource"}],"description":"https://docs.fulfillmenttools.com/documentation/products/inventory-management/configurations","properties":{"id":{"type":"string"}},"type":"object","xml":{"name":"StockConfiguration"},"title":"StockConfiguration"},"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"},"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/stock":{"put":{"description":"Update stock configuration","operationId":"putStockConfiguration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StockConfigurationForUpdate"}}},"description":"Desired stock configuration to put","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StockConfiguration"}}},"description":"The stockConfiguration 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 stock config","tags":["Stocks Configuration (Inventory)"]}}}}
```

## List stock change reasons

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"ExternalStockChangeReason":{"properties":{"reasonLocalized":{"additionalProperties":{"maxLength":255,"type":"string"},"description":"Localizations, i.e. names which are to be displayed. Each localized string must not exceed 255 characters","type":"object"},"active":{"description":"Whether the reason is active","type":"boolean"},"created":{"description":"Date of creation","format":"date-time","type":"string"},"customAttributes":{"description":"The custom attributes of this external stock change reason","type":"object"},"id":{"description":"Id of the external stock change reason","type":"string"},"lastModified":{"description":"Date of last modification","format":"date-time","type":"string"},"tenantReasonId":{"description":"Identifier of the stock change reason","type":"string"},"version":{"description":"Version of the external stock change reason","type":"number"}},"required":["active","reasonLocalized","id","version"],"title":"ExternalStockChangeReason","type":"object","description":"ExternalStockChangeReason"},"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/externalstockchangereasons":{"get":{"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 />Get external stock change reasons","operationId":"getExternalStockChangeReasons","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalStockChangeReason"}}},"description":"List of external stock change reasons"},"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 stock change reasons","tags":["Stocks Configuration (Inventory)"]}}}}
```

## Create stock change reason

> 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 />Post external stock change reason.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"ExternalStockChangeReasonForCreation":{"properties":{"reasonLocalized":{"additionalProperties":{"maxLength":255,"type":"string"},"description":"Localizations, i.e. names which are to be displayed. Each localized string must not exceed 255 characters","type":"object"},"active":{"description":"Whether the reason is active","type":"boolean"},"customAttributes":{"description":"The custom attributes of this external stock change reason","type":"object"},"tenantReasonId":{"description":"Identifier of the stock change reason","type":"string"}},"required":["active","reasonLocalized"],"title":"ExternalStockChangeReasonForCreation","type":"object","description":"ExternalStockChangeReasonForCreation"},"ExternalStockChangeReason":{"properties":{"reasonLocalized":{"additionalProperties":{"maxLength":255,"type":"string"},"description":"Localizations, i.e. names which are to be displayed. Each localized string must not exceed 255 characters","type":"object"},"active":{"description":"Whether the reason is active","type":"boolean"},"created":{"description":"Date of creation","format":"date-time","type":"string"},"customAttributes":{"description":"The custom attributes of this external stock change reason","type":"object"},"id":{"description":"Id of the external stock change reason","type":"string"},"lastModified":{"description":"Date of last modification","format":"date-time","type":"string"},"tenantReasonId":{"description":"Identifier of the stock change reason","type":"string"},"version":{"description":"Version of the external stock change reason","type":"number"}},"required":["active","reasonLocalized","id","version"],"title":"ExternalStockChangeReason","type":"object","description":"ExternalStockChangeReason"},"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/externalstockchangereasons":{"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 />Post external stock change reason.","operationId":"postExternalStockChangeReason","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalStockChangeReasonForCreation"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalStockChangeReason"}}},"description":"The created external stock change reason"},"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":"Create stock change reason","tags":["Stocks Configuration (Inventory)"]}}}}
```

## Get stock change reason

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"ExternalStockChangeReason":{"properties":{"reasonLocalized":{"additionalProperties":{"maxLength":255,"type":"string"},"description":"Localizations, i.e. names which are to be displayed. Each localized string must not exceed 255 characters","type":"object"},"active":{"description":"Whether the reason is active","type":"boolean"},"created":{"description":"Date of creation","format":"date-time","type":"string"},"customAttributes":{"description":"The custom attributes of this external stock change reason","type":"object"},"id":{"description":"Id of the external stock change reason","type":"string"},"lastModified":{"description":"Date of last modification","format":"date-time","type":"string"},"tenantReasonId":{"description":"Identifier of the stock change reason","type":"string"},"version":{"description":"Version of the external stock change reason","type":"number"}},"required":["active","reasonLocalized","id","version"],"title":"ExternalStockChangeReason","type":"object","description":"ExternalStockChangeReason"},"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/externalstockchangereasons/{externalStockChangeReasonId}":{"get":{"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 />Get external stock change reason.","operationId":"getExternalStockChangeReason","parameters":[{"in":"path","name":"externalStockChangeReasonId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalStockChangeReason"}}},"description":"The external stock change reason"},"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":"Get stock change reason","tags":["Stocks Configuration (Inventory)"]}}}}
```

## Update stock change reason

> 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 />Update external stock change reason.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"ExternalStockChangeReasonForUpdate":{"properties":{"reasonLocalized":{"additionalProperties":{"maxLength":255,"type":"string"},"description":"Localizations, i.e. names which are to be displayed. Each localized string must not exceed 255 characters","type":"object"},"active":{"description":"Whether the reason is active","type":"boolean"},"customAttributes":{"description":"The custom attributes of this external stock change reason","type":"object"},"id":{"description":"Id of the external stock change reason","type":"string"},"version":{"description":"Version of the external stock change reason","type":"number"}},"required":["version"],"title":"ExternalStockChangeReasonForUpdate","type":"object","description":"ExternalStockChangeReasonForUpdate"},"ExternalStockChangeReason":{"properties":{"reasonLocalized":{"additionalProperties":{"maxLength":255,"type":"string"},"description":"Localizations, i.e. names which are to be displayed. Each localized string must not exceed 255 characters","type":"object"},"active":{"description":"Whether the reason is active","type":"boolean"},"created":{"description":"Date of creation","format":"date-time","type":"string"},"customAttributes":{"description":"The custom attributes of this external stock change reason","type":"object"},"id":{"description":"Id of the external stock change reason","type":"string"},"lastModified":{"description":"Date of last modification","format":"date-time","type":"string"},"tenantReasonId":{"description":"Identifier of the stock change reason","type":"string"},"version":{"description":"Version of the external stock change reason","type":"number"}},"required":["active","reasonLocalized","id","version"],"title":"ExternalStockChangeReason","type":"object","description":"ExternalStockChangeReason"},"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/externalstockchangereasons/{externalStockChangeReasonId}":{"put":{"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 />Update external stock change reason.","operationId":"putExternalStockChangeReason","parameters":[{"in":"path","name":"externalStockChangeReasonId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalStockChangeReasonForUpdate"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalStockChangeReason"}}},"description":"The updated external stock change reason"},"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":"Update stock change reason","tags":["Stocks Configuration (Inventory)"]}}}}
```

## Get facility inventory config

> Get the Inventory Configuration for a specific Facility.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"InventoryFacilityConfiguration":{"properties":{"facilityRef":{"type":"string"},"id":{"type":"string"},"isMixedStorage":{"type":"boolean"},"outboundStockConfiguration":{"$ref":"#/components/schemas/OutboundStockConfiguration"},"version":{"type":"number"}},"required":["id","version","facilityRef"],"title":"InventoryFacilityConfiguration","type":"object","description":"InventoryFacilityConfiguration"},"OutboundStockConfiguration":{"properties":{"clearTrigger":{"items":{"$ref":"#/components/schemas/OutboundClearTrigger"},"type":"array"},"locationRef":{"type":"string"},"trackOutboundStock":{"type":"boolean"}},"required":["trackOutboundStock","locationRef"],"title":"OutboundStockConfiguration","type":"object","description":"OutboundStockConfiguration"},"OutboundClearTrigger":{"properties":{"event":{"enum":["pick-job-closed_event-v1","handoverjob-handed-over_event-v1"],"type":"string"},"tagFilter":{"items":{"$ref":"#/components/schemas/OutboundTagFilter"},"type":"array"}},"required":["event"],"title":"OutboundClearTrigger","type":"object","description":"OutboundClearTrigger"},"OutboundTagFilter":{"properties":{"allowedValues":{"items":{"type":"string"},"type":"array"},"tagId":{"type":"string"}},"required":["allowedValues","tagId"],"title":"OutboundTagFilter","type":"object","description":"OutboundTagFilter"},"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/facilities/{facilityId}/configurations/inventory":{"get":{"deprecated":false,"description":"Get the Inventory Configuration for a specific Facility.","operationId":"getInventoryFacilityConfigurations","parameters":[{"description":"ID of the facility you want to get the config for. Also accepts tenantFacilityId in urn format (e.g. urn:fft:facility:tenantFacilityId:{your-tenant-facility-id}) for the path parameter facilityId.","in":"path","name":"facilityId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryFacilityConfiguration"}}},"description":"Requested Inventory Facility Configuration"},"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":"Get facility inventory config","tags":["Stocks Configuration (Inventory)"]}}}}
```

## Update facility inventory config

> This endpoint allows you to update the inventory configuration for a specific facility. It is used to set or modify the inventory management settings at the facility level.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"InventoryFacilityConfigurationForPatch":{"properties":{"isMixedStorage":{"nullable":true,"type":"boolean"},"outboundStockConfiguration":{"$ref":"#/components/schemas/OutboundStockConfiguration"},"version":{"type":"number"}},"required":["version"],"title":"InventoryFacilityConfigurationForPatch","type":"object","description":"InventoryFacilityConfigurationForPatch"},"OutboundStockConfiguration":{"properties":{"clearTrigger":{"items":{"$ref":"#/components/schemas/OutboundClearTrigger"},"type":"array"},"locationRef":{"type":"string"},"trackOutboundStock":{"type":"boolean"}},"required":["trackOutboundStock","locationRef"],"title":"OutboundStockConfiguration","type":"object","description":"OutboundStockConfiguration"},"OutboundClearTrigger":{"properties":{"event":{"enum":["pick-job-closed_event-v1","handoverjob-handed-over_event-v1"],"type":"string"},"tagFilter":{"items":{"$ref":"#/components/schemas/OutboundTagFilter"},"type":"array"}},"required":["event"],"title":"OutboundClearTrigger","type":"object","description":"OutboundClearTrigger"},"OutboundTagFilter":{"properties":{"allowedValues":{"items":{"type":"string"},"type":"array"},"tagId":{"type":"string"}},"required":["allowedValues","tagId"],"title":"OutboundTagFilter","type":"object","description":"OutboundTagFilter"},"InventoryFacilityConfiguration":{"properties":{"facilityRef":{"type":"string"},"id":{"type":"string"},"isMixedStorage":{"type":"boolean"},"outboundStockConfiguration":{"$ref":"#/components/schemas/OutboundStockConfiguration"},"version":{"type":"number"}},"required":["id","version","facilityRef"],"title":"InventoryFacilityConfiguration","type":"object","description":"InventoryFacilityConfiguration"},"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/facilities/{facilityId}/configurations/inventory":{"patch":{"deprecated":false,"description":"This endpoint allows you to update the inventory configuration for a specific facility. It is used to set or modify the inventory management settings at the facility level.","operationId":"upsertInventoryFacilityConfigurations","parameters":[{"description":"ID of the facility you want to set the config to. Also accepts tenantFacilityId in urn format (e.g. urn:fft:facility:tenantFacilityId:{your-tenant-facility-id}) for the path parameter facilityId.","in":"path","name":"facilityId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryFacilityConfigurationForPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryFacilityConfiguration"}}},"description":"Requested Inventory Facility Configuration"},"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":"Update facility inventory config","tags":["Stocks Configuration (Inventory)"]}}}}
```

## Get facility stock config

> Get the stock configuration for a specific facility.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"FacilityStockConfiguration":{"properties":{"created":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"The facility stock configuration ID (same as facility ID)","type":"string"},"lastModified":{"description":"Last modified timestamp","format":"date-time","type":"string"},"listingReactivationAfter":{"allOf":[{"$ref":"#/components/schemas/FacilityStockConfigurationListingReactivationAfter"}],"description":"Configuration for listing reactivation timing"},"retainedOfflineStock":{"allOf":[{"$ref":"#/components/schemas/FacilityStockConfigurationRetainedOfflineStock"}],"deprecated":true,"description":"Configuration for retained offline stock. Deprecated: Use safety stock instead."},"shortpick":{"allOf":[{"$ref":"#/components/schemas/FacilityStockConfigurationShortpick"}],"description":"Configuration for shortpick handling"},"version":{"description":"Document version for optimistic locking","type":"number"}},"required":["id","version","listingReactivationAfter","retainedOfflineStock","shortpick"],"title":"FacilityStockConfiguration","type":"object","description":"FacilityStockConfiguration"},"FacilityStockConfigurationListingReactivationAfter":{"properties":{"active":{"default":true,"description":"The disabling of listings is enabled or disabled.","type":"boolean"},"value":{"default":24,"description":"Time in hours that has to pass for a deactivated listing (e.g. due to manual deactivation or as a result of a shortpick) to become active again.","type":"number"}},"title":"FacilityStockConfigurationListingReactivationAfter","type":"object","description":"FacilityStockConfigurationListingReactivationAfter"},"FacilityStockConfigurationRetainedOfflineStock":{"properties":{"active":{"deprecated":true,"description":"The retained Offline Stock is enabled or disabled.","type":"boolean"},"value":{"default":0.2,"deprecated":true,"description":"The overall percentage of stock that should be reserved to offline clients.","maximum":1,"minimum":0.01,"type":"number"}},"title":"FacilityStockConfigurationRetainedOfflineStock","type":"object","description":"FacilityStockConfigurationRetainedOfflineStock"},"FacilityStockConfigurationShortpick":{"properties":{"active":{"default":true,"description":"Inventory adjustment in the case of insufficient order picking","type":"boolean"}},"required":["active"],"title":"FacilityStockConfigurationShortpick","type":"object","description":"FacilityStockConfigurationShortpick"},"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/facilities/{facilityId}/configurations/stock":{"get":{"deprecated":false,"description":"Get the stock configuration for a specific facility.","operationId":"getFacilityStockConfiguration","parameters":[{"in":"path","name":"facilityId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FacilityStockConfiguration"}}},"description":"Configuration for stock routing was found."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The requested entity was not found"}},"summary":"Get facility stock config","tags":["Stocks Configuration (Inventory)"]}}}}
```

## Update facility stock config

> Update the stock configuration for a specific facility.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update and read stocks configuration.","name":"Stocks Configuration (Inventory)"}],"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":{"FacilityStockConfiguration":{"properties":{"created":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"The facility stock configuration ID (same as facility ID)","type":"string"},"lastModified":{"description":"Last modified timestamp","format":"date-time","type":"string"},"listingReactivationAfter":{"allOf":[{"$ref":"#/components/schemas/FacilityStockConfigurationListingReactivationAfter"}],"description":"Configuration for listing reactivation timing"},"retainedOfflineStock":{"allOf":[{"$ref":"#/components/schemas/FacilityStockConfigurationRetainedOfflineStock"}],"deprecated":true,"description":"Configuration for retained offline stock. Deprecated: Use safety stock instead."},"shortpick":{"allOf":[{"$ref":"#/components/schemas/FacilityStockConfigurationShortpick"}],"description":"Configuration for shortpick handling"},"version":{"description":"Document version for optimistic locking","type":"number"}},"required":["id","version","listingReactivationAfter","retainedOfflineStock","shortpick"],"title":"FacilityStockConfiguration","type":"object","description":"FacilityStockConfiguration"},"FacilityStockConfigurationListingReactivationAfter":{"properties":{"active":{"default":true,"description":"The disabling of listings is enabled or disabled.","type":"boolean"},"value":{"default":24,"description":"Time in hours that has to pass for a deactivated listing (e.g. due to manual deactivation or as a result of a shortpick) to become active again.","type":"number"}},"title":"FacilityStockConfigurationListingReactivationAfter","type":"object","description":"FacilityStockConfigurationListingReactivationAfter"},"FacilityStockConfigurationRetainedOfflineStock":{"properties":{"active":{"deprecated":true,"description":"The retained Offline Stock is enabled or disabled.","type":"boolean"},"value":{"default":0.2,"deprecated":true,"description":"The overall percentage of stock that should be reserved to offline clients.","maximum":1,"minimum":0.01,"type":"number"}},"title":"FacilityStockConfigurationRetainedOfflineStock","type":"object","description":"FacilityStockConfigurationRetainedOfflineStock"},"FacilityStockConfigurationShortpick":{"properties":{"active":{"default":true,"description":"Inventory adjustment in the case of insufficient order picking","type":"boolean"}},"required":["active"],"title":"FacilityStockConfigurationShortpick","type":"object","description":"FacilityStockConfigurationShortpick"},"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/facilities/{facilityId}/configurations/stock":{"patch":{"deprecated":false,"description":"Update the stock configuration for a specific facility.","operationId":"patchFacilityConfiguration","parameters":[{"in":"path","name":"facilityId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FacilityStockConfiguration"}}},"description":"Facility was found & patch-set has been applied. The patched facility configuration is in the body."},"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"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The requested entity was not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"A version conflict occurred."}},"summary":"Update facility stock config","tags":["Stocks Configuration (Inventory)"]}}}}
```
