# 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)"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fulfillmenttools.com/documentation/apis/api-reference/stocks-configuration-inventory.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
