# Custom Services (Core)

Endpoints to create, update and read custom services.

## List custom services

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"StrippedCustomServices":{"properties":{"customServices":{"items":{"$ref":"#/components/schemas/CustomService"},"type":"array"},"total":{"description":"Total number of found entities for this query","type":"integer"}},"type":"object","title":"StrippedCustomServices","description":"StrippedCustomServices"},"CustomService":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"$ref":"#/components/schemas/CustomServiceForCreation"}],"properties":{"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformation"},"type":"array"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"}},"required":["id"],"type":"object","title":"CustomService","description":"CustomService"},"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"},"CustomServiceForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformationForCreation"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to custom service. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","nullable":true,"type":"object"},"executionTimeInMin":{"type":"integer"},"itemsRequired":{"$ref":"#/components/schemas/ItemsRequiredEnum"},"itemsReturnable":{"type":"boolean"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"},"tenantCustomServiceId":{"type":"string"}},"required":["nameLocalized","itemsRequired","status"],"type":"object","title":"CustomServiceForCreation","description":"CustomServiceForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"AdditionalInformationForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"isMandatory":{"type":"boolean"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"$ref":"#/components/schemas/AdditionalInformationValueType"}},"required":["nameLocalized","valueType"],"type":"object","title":"AdditionalInformationForCreation","description":"AdditionalInformationForCreation"},"AdditionalInformationValueType":{"enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string","title":"AdditionalInformationValueType","description":"AdditionalInformationValueType"},"ItemsRequiredEnum":{"enum":["MANDATORY","NONE"],"type":"string","title":"ItemsRequiredEnum","description":"ItemsRequiredEnum"},"CustomServiceStatus":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string","title":"CustomServiceStatus"},"AdditionalInformation":{"allOf":[{"$ref":"#/components/schemas/AdditionalInformationForCreation"}],"properties":{"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id"],"type":"object","title":"AdditionalInformation","description":"AdditionalInformation"},"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/customservices":{"get":{"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 />","operationId":"getCustomServices","parameters":[{"description":"all entities after given Id","in":"query","name":"startAfterId","required":false,"schema":{"type":"string"}},{"description":"number of entities to show","in":"query","name":"size","required":false,"schema":{"default":25,"type":"integer"}},{"description":"tenantCustomServiceId to filter for","in":"query","name":"tenantCustomServiceId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrippedCustomServices"}}},"description":"Custom service config could be found in response body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found"}},"summary":"List custom services","tags":["Custom Services (Core)"]}}}}
```

## Create custom service

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"CustomServiceForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformationForCreation"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to custom service. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","nullable":true,"type":"object"},"executionTimeInMin":{"type":"integer"},"itemsRequired":{"$ref":"#/components/schemas/ItemsRequiredEnum"},"itemsReturnable":{"type":"boolean"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"},"tenantCustomServiceId":{"type":"string"}},"required":["nameLocalized","itemsRequired","status"],"type":"object","title":"CustomServiceForCreation","description":"CustomServiceForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"AdditionalInformationForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"isMandatory":{"type":"boolean"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"$ref":"#/components/schemas/AdditionalInformationValueType"}},"required":["nameLocalized","valueType"],"type":"object","title":"AdditionalInformationForCreation","description":"AdditionalInformationForCreation"},"AdditionalInformationValueType":{"enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string","title":"AdditionalInformationValueType","description":"AdditionalInformationValueType"},"ItemsRequiredEnum":{"enum":["MANDATORY","NONE"],"type":"string","title":"ItemsRequiredEnum","description":"ItemsRequiredEnum"},"CustomServiceStatus":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string","title":"CustomServiceStatus"},"CustomService":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"$ref":"#/components/schemas/CustomServiceForCreation"}],"properties":{"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformation"},"type":"array"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"}},"required":["id"],"type":"object","title":"CustomService","description":"CustomService"},"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"},"AdditionalInformation":{"allOf":[{"$ref":"#/components/schemas/AdditionalInformationForCreation"}],"properties":{"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id"],"type":"object","title":"AdditionalInformation","description":"AdditionalInformation"},"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/customservices":{"post":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","operationId":"createCustomService","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomServiceForCreation"}}},"description":"Desired custom service to create","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"The custom service was successfully updated."},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"The custom service 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":"Create custom service","tags":["Custom Services (Core)"]}}}}
```

## Get custom service

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"CustomService":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"$ref":"#/components/schemas/CustomServiceForCreation"}],"properties":{"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformation"},"type":"array"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"}},"required":["id"],"type":"object","title":"CustomService","description":"CustomService"},"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"},"CustomServiceForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformationForCreation"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to custom service. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","nullable":true,"type":"object"},"executionTimeInMin":{"type":"integer"},"itemsRequired":{"$ref":"#/components/schemas/ItemsRequiredEnum"},"itemsReturnable":{"type":"boolean"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"},"tenantCustomServiceId":{"type":"string"}},"required":["nameLocalized","itemsRequired","status"],"type":"object","title":"CustomServiceForCreation","description":"CustomServiceForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"AdditionalInformationForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"isMandatory":{"type":"boolean"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"$ref":"#/components/schemas/AdditionalInformationValueType"}},"required":["nameLocalized","valueType"],"type":"object","title":"AdditionalInformationForCreation","description":"AdditionalInformationForCreation"},"AdditionalInformationValueType":{"enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string","title":"AdditionalInformationValueType","description":"AdditionalInformationValueType"},"ItemsRequiredEnum":{"enum":["MANDATORY","NONE"],"type":"string","title":"ItemsRequiredEnum","description":"ItemsRequiredEnum"},"CustomServiceStatus":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string","title":"CustomServiceStatus"},"AdditionalInformation":{"allOf":[{"$ref":"#/components/schemas/AdditionalInformationForCreation"}],"properties":{"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id"],"type":"object","title":"AdditionalInformation","description":"AdditionalInformation"},"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/customservices/{customServiceId}":{"get":{"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 />","operationId":"getCustomService","parameters":[{"description":"ID of custom service you want to get","in":"path","name":"customServiceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"Custom service config could be found in response body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found"}},"summary":"Get custom service","tags":["Custom Services (Core)"]}}}}
```

## Update custom service

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"CustomServicePatchActions":{"additionalProperties":false,"deprecated":true,"description":"Deprecated - please use patch via CustomServiceForUpdate on the CustomService endpoint instead.","properties":{"actions":{"items":{"anyOf":[{"$ref":"#/components/schemas/ModifyCustomServiceAction"}]},"minItems":1,"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version","actions"],"type":"object","xml":{"name":"CustomServicePatchActions"},"title":"CustomServicePatchActions"},"ModifyCustomServiceAction":{"allOf":[{"$ref":"#/components/schemas/AbstractModificationAction"},{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"action":{"description":"Use value 'ModifyCustomService', because you want to modify a custom service","enum":["ModifyCustomService"],"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","type":"integer"},"itemsRequired":{"$ref":"#/components/schemas/ItemsRequiredEnum"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after the custom service has been executed","type":"boolean"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"},"tenantCustomServiceId":{"type":"string"}},"required":["action"],"type":"object"}],"description":"Action to modify a custom service.","title":"ModifyCustomServiceAction","xml":{"name":"ModifyCustomServiceAction"}},"AbstractModificationAction":{"discriminator":{"propertyName":"action"},"properties":{"action":{"description":"","enum":["AddAllowedValueToTag","ModifyPickJob","ModifyPickJobLastEditor","RestartPickJob","ResetPickJob","CancelPickRun","CancelHandoverjob","AbortPickJob","FinishPickRun","StartPickRun","ModifyPickLineItem","ModifyPickRunLineItem","ModifyPackJob","PausePackJob","ModifyPackLineItem","SplitLineItemsPackJob","ModifyFacility","ModifyListing","ModifyRetainedOfflineStock","ModifyListingReactivationAfter","ModifyUser","ModifyShipment","ModifyHandoverjob","ModifyCarrier","ModifyShortpick","ModifyRoutingPlan","ModifyFence","ModifyRating","ModifyTimingMode","ModifyGlobalRoutingConfiguration","ModifyOrderSplit","ModifyPrioritization","ModifyFeature","ModifyParcel","ModifyParcelLoadUnit","ModifyRestowItem","RemovePickJobFromPickRun","ModifyPartialStock","AddTagsToProcess","AssignFacilityToProcess","UpdateGdprCleanupDateAction","ModifyStorageLocation","ModifyPackingContainerType","ModifyPackingContainerTypeIcon","ReplaceCodesInPackingTargetContainer","AddLineItemToPackingTargetContainer","RemoveLineItemFromPackingTargetContainer","UpdateLineItemOnPackingTargetContainer","UpdatePackingTargetContainerLineItemRecordableAttributes","UpdatePackingTargetContainerStorageLocation","ModifyCustomService","UnlockOrder"],"type":"string"}},"required":["action"],"type":"object","xml":{"name":"AbstractModificationAction"},"title":"AbstractModificationAction","description":"AbstractModificationAction"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ItemsRequiredEnum":{"enum":["MANDATORY","NONE"],"type":"string","title":"ItemsRequiredEnum","description":"ItemsRequiredEnum"},"CustomServiceStatus":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string","title":"CustomServiceStatus"},"CustomServiceForUpdate":{"additionalProperties":false,"description":"Updating a custom service.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"customAttributes":{"description":"Attributes that can be added to the custom service. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","type":"object"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","type":"integer"},"itemsRequired":{"$ref":"#/components/schemas/ItemsRequiredEnum"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after the custom service has been executed","type":"boolean"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"title":"CustomServiceForUpdate"},"CustomService":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"$ref":"#/components/schemas/CustomServiceForCreation"}],"properties":{"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformation"},"type":"array"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"}},"required":["id"],"type":"object","title":"CustomService","description":"CustomService"},"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"},"CustomServiceForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformationForCreation"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to custom service. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","nullable":true,"type":"object"},"executionTimeInMin":{"type":"integer"},"itemsRequired":{"$ref":"#/components/schemas/ItemsRequiredEnum"},"itemsReturnable":{"type":"boolean"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"},"tenantCustomServiceId":{"type":"string"}},"required":["nameLocalized","itemsRequired","status"],"type":"object","title":"CustomServiceForCreation","description":"CustomServiceForCreation"},"AdditionalInformationForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"isMandatory":{"type":"boolean"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"$ref":"#/components/schemas/AdditionalInformationValueType"}},"required":["nameLocalized","valueType"],"type":"object","title":"AdditionalInformationForCreation","description":"AdditionalInformationForCreation"},"AdditionalInformationValueType":{"enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string","title":"AdditionalInformationValueType","description":"AdditionalInformationValueType"},"AdditionalInformation":{"allOf":[{"$ref":"#/components/schemas/AdditionalInformationForCreation"}],"properties":{"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id"],"type":"object","title":"AdditionalInformation","description":"AdditionalInformation"},"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/customservices/{customServiceId}":{"patch":{"operationId":"patchCustomService","parameters":[{"description":"ID of custom service you want to patch","in":"path","name":"customServiceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CustomServicePatchActions"},{"$ref":"#/components/schemas/CustomServiceForUpdate"}]}}},"description":"Patch set","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"custom service was found & patch-set has been applied. The patched custom service is in the body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"custom service not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"custom service version conflict"}},"summary":"Update custom service","tags":["Custom Services (Core)"],"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 />"}}}}
```

## Create additional information

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"AdditionalInformationForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"isMandatory":{"type":"boolean"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"$ref":"#/components/schemas/AdditionalInformationValueType"}},"required":["nameLocalized","valueType"],"type":"object","title":"AdditionalInformationForCreation","description":"AdditionalInformationForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"AdditionalInformationValueType":{"enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string","title":"AdditionalInformationValueType","description":"AdditionalInformationValueType"},"CustomService":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"$ref":"#/components/schemas/CustomServiceForCreation"}],"properties":{"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformation"},"type":"array"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"}},"required":["id"],"type":"object","title":"CustomService","description":"CustomService"},"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"},"CustomServiceForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformationForCreation"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to custom service. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","nullable":true,"type":"object"},"executionTimeInMin":{"type":"integer"},"itemsRequired":{"$ref":"#/components/schemas/ItemsRequiredEnum"},"itemsReturnable":{"type":"boolean"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"},"tenantCustomServiceId":{"type":"string"}},"required":["nameLocalized","itemsRequired","status"],"type":"object","title":"CustomServiceForCreation","description":"CustomServiceForCreation"},"ItemsRequiredEnum":{"enum":["MANDATORY","NONE"],"type":"string","title":"ItemsRequiredEnum","description":"ItemsRequiredEnum"},"CustomServiceStatus":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string","title":"CustomServiceStatus"},"AdditionalInformation":{"allOf":[{"$ref":"#/components/schemas/AdditionalInformationForCreation"}],"properties":{"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id"],"type":"object","title":"AdditionalInformation","description":"AdditionalInformation"},"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/customservices/{customServiceId}/additionalinformation":{"post":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","operationId":"createCustomServiceAdditionalInformation","parameters":[{"description":"ID of custom service you want to create service job for","in":"path","name":"customServiceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdditionalInformationForCreation"}}},"description":"Desired custom service to create","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"The custom service was successfully updated."},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"The custom service 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":"Create additional information","tags":["Custom Services (Core)"]}}}}
```

## Update additional information

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"AdditionalInformationForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"isMandatory":{"type":"boolean"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"$ref":"#/components/schemas/AdditionalInformationValueType"}},"required":["nameLocalized","valueType"],"type":"object","title":"AdditionalInformationForCreation","description":"AdditionalInformationForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"AdditionalInformationValueType":{"enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string","title":"AdditionalInformationValueType","description":"AdditionalInformationValueType"},"CustomService":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"$ref":"#/components/schemas/CustomServiceForCreation"}],"properties":{"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformation"},"type":"array"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"}},"required":["id"],"type":"object","title":"CustomService","description":"CustomService"},"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"},"CustomServiceForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformationForCreation"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to custom service. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","nullable":true,"type":"object"},"executionTimeInMin":{"type":"integer"},"itemsRequired":{"$ref":"#/components/schemas/ItemsRequiredEnum"},"itemsReturnable":{"type":"boolean"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"},"tenantCustomServiceId":{"type":"string"}},"required":["nameLocalized","itemsRequired","status"],"type":"object","title":"CustomServiceForCreation","description":"CustomServiceForCreation"},"ItemsRequiredEnum":{"enum":["MANDATORY","NONE"],"type":"string","title":"ItemsRequiredEnum","description":"ItemsRequiredEnum"},"CustomServiceStatus":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string","title":"CustomServiceStatus"},"AdditionalInformation":{"allOf":[{"$ref":"#/components/schemas/AdditionalInformationForCreation"}],"properties":{"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id"],"type":"object","title":"AdditionalInformation","description":"AdditionalInformation"},"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/customservices/{customServiceId}/additionalinformation/{additionalInformationId}":{"put":{"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 />","operationId":"updateCustomServiceAdditionalInformation","parameters":[{"description":"ID of custom service","in":"path","name":"customServiceId","required":true,"schema":{"type":"string"}},{"description":"ID of additional information you want to put","in":"path","name":"additionalInformationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdditionalInformationForCreation"}}},"description":"Desired custom service to create","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"The custom service was successfully updated."},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"The custom service 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 additional information","tags":["Custom Services (Core)"]}}}}
```

## Delete additional information

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"CustomService":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"$ref":"#/components/schemas/CustomServiceForCreation"}],"properties":{"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformation"},"type":"array"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"}},"required":["id"],"type":"object","title":"CustomService","description":"CustomService"},"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"},"CustomServiceForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"items":{"$ref":"#/components/schemas/AdditionalInformationForCreation"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to custom service. These attributes cannot be used within fulfillment processes, but it could be useful to have the information carried here.","nullable":true,"type":"object"},"executionTimeInMin":{"type":"integer"},"itemsRequired":{"$ref":"#/components/schemas/ItemsRequiredEnum"},"itemsReturnable":{"type":"boolean"},"status":{"$ref":"#/components/schemas/CustomServiceStatus"},"tenantCustomServiceId":{"type":"string"}},"required":["nameLocalized","itemsRequired","status"],"type":"object","title":"CustomServiceForCreation","description":"CustomServiceForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"AdditionalInformationForCreation":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"isMandatory":{"type":"boolean"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"$ref":"#/components/schemas/AdditionalInformationValueType"}},"required":["nameLocalized","valueType"],"type":"object","title":"AdditionalInformationForCreation","description":"AdditionalInformationForCreation"},"AdditionalInformationValueType":{"enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string","title":"AdditionalInformationValueType","description":"AdditionalInformationValueType"},"ItemsRequiredEnum":{"enum":["MANDATORY","NONE"],"type":"string","title":"ItemsRequiredEnum","description":"ItemsRequiredEnum"},"CustomServiceStatus":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string","title":"CustomServiceStatus"},"AdditionalInformation":{"allOf":[{"$ref":"#/components/schemas/AdditionalInformationForCreation"}],"properties":{"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id"],"type":"object","title":"AdditionalInformation","description":"AdditionalInformation"},"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/customservices/{customServiceId}/additionalinformation/{additionalInformationId}":{"delete":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","operationId":"deleteAdditionalInfo","parameters":[{"description":"ID of custom service","in":"path","name":"customServiceId","required":true,"schema":{"type":"string"}},{"description":"ID of additional information you want to delete","in":"path","name":"additionalInformationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"The custom service was successfully updated."},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"The custom service 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":"Delete additional information","tags":["Custom Services (Core)"]}}}}
```

## List facility custom services

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"StrippedFacilityCustomServiceConnections":{"additionalProperties":false,"properties":{"facilityCustomServiceConnections":{"items":{"$ref":"#/components/schemas/FacilityCustomServiceConnection"},"type":"array"},"total":{"description":"Total number of found entities for this query","type":"integer"}},"type":"object","title":"StrippedFacilityCustomServiceConnections","description":"StrippedFacilityCustomServiceConnections"},"FacilityCustomServiceConnection":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"customServiceRef":{"type":"string"},"executionTimeInMin":{"type":"integer"},"facilityRef":{"type":"string"},"id":{"type":"string"},"status":{"$ref":"#/components/schemas/FacilityCustomServiceConnectionStatus"}},"required":["id","status","facilityRef","customServiceRef"],"title":"FacilityCustomServiceConnection","description":"FacilityCustomServiceConnection"},"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"},"FacilityCustomServiceConnectionStatus":{"enum":["ACTIVE","INACTIVE"],"type":"string","title":"FacilityCustomServiceConnectionStatus","description":"FacilityCustomServiceConnectionStatus"},"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}/customservices":{"get":{"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 />","operationId":"getFacilityCustomServiceConnections","parameters":[{"description":"ID of facility. Also accepts tenantFacilityId in urn format (e.g. urn:fft:facility:tenantFacilityId:{your-tenant-facility-id}).","in":"path","name":"facilityId","required":true,"schema":{"type":"string"}},{"description":"all entities after given Id","in":"query","name":"startAfterId","required":false,"schema":{"type":"string"}},{"description":"number of entities to show","in":"query","name":"size","required":false,"schema":{"default":25,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrippedFacilityCustomServiceConnections"}}},"description":"Custom service connections could be found in response body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found"}},"summary":"List facility custom services","tags":["Custom Services (Core)"]}}}}
```

## Get facility custom service

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"FacilityCustomServiceConnection":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"customServiceRef":{"type":"string"},"executionTimeInMin":{"type":"integer"},"facilityRef":{"type":"string"},"id":{"type":"string"},"status":{"$ref":"#/components/schemas/FacilityCustomServiceConnectionStatus"}},"required":["id","status","facilityRef","customServiceRef"],"title":"FacilityCustomServiceConnection","description":"FacilityCustomServiceConnection"},"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"},"FacilityCustomServiceConnectionStatus":{"enum":["ACTIVE","INACTIVE"],"type":"string","title":"FacilityCustomServiceConnectionStatus","description":"FacilityCustomServiceConnectionStatus"},"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}/customservices/{customServiceId}":{"get":{"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 />","operationId":"getFacilityCustomService","parameters":[{"description":"ID of facility. Also accepts tenantFacilityId in urn format (e.g. urn:fft:facility:tenantFacilityId:{your-tenant-facility-id}).","in":"path","name":"facilityId","required":true,"schema":{"type":"string"}},{"description":"ID of the custom service","in":"path","name":"customServiceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FacilityCustomServiceConnection"}}},"description":"Custom service connection could be found in response body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found"}},"summary":"Get facility custom service","tags":["Custom Services (Core)"]}}}}
```

## Create facility custom service

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"FacilityCustomServiceConnectionForCreation":{"additionalProperties":false,"properties":{"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","type":"integer"},"status":{"$ref":"#/components/schemas/FacilityCustomServiceConnectionStatus"}},"required":["status"],"title":"FacilityCustomServiceConnectionForCreation","description":"FacilityCustomServiceConnectionForCreation"},"FacilityCustomServiceConnectionStatus":{"enum":["ACTIVE","INACTIVE"],"type":"string","title":"FacilityCustomServiceConnectionStatus","description":"FacilityCustomServiceConnectionStatus"},"FacilityCustomServiceConnection":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"customServiceRef":{"type":"string"},"executionTimeInMin":{"type":"integer"},"facilityRef":{"type":"string"},"id":{"type":"string"},"status":{"$ref":"#/components/schemas/FacilityCustomServiceConnectionStatus"}},"required":["id","status","facilityRef","customServiceRef"],"title":"FacilityCustomServiceConnection","description":"FacilityCustomServiceConnection"},"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/facilities/{facilityId}/customservices/{customServiceId}":{"post":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","operationId":"createFacilityCustomServiceConnection","parameters":[{"description":"ID of facility. Also accepts tenantFacilityId in urn format (e.g. urn:fft:facility:tenantFacilityId:{your-tenant-facility-id}).","in":"path","name":"facilityId","required":true,"schema":{"type":"string"}},{"description":"ID of the custom service","in":"path","name":"customServiceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FacilityCustomServiceConnectionForCreation"}}},"description":"Desired custom service connection to create/update","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FacilityCustomServiceConnection"}}},"description":"The custom service connection 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":"Create facility custom service","tags":["Custom Services (Core)"]}}}}
```

## Delete facility custom service

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/facilities/{facilityId}/customservices/{customServiceId}":{"delete":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","operationId":"deleteFacilityCustomServiceConnection","parameters":[{"description":"ID of facility. Also accepts tenantFacilityId in urn format (e.g. urn:fft:facility:tenantFacilityId:{your-tenant-facility-id}).","in":"path","name":"facilityId","required":true,"schema":{"type":"string"}},{"description":"ID of the custom service","in":"path","name":"customServiceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The custom service connection was successfully deleted."},"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":"Delete facility custom service","tags":["Custom Services (Core)"]}}}}
```

## Update facility custom service

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

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to create, update, and read custom services.","name":"Custom Services (Core)"}],"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":{"FacilityCustomServiceConnectionForUpdate":{"additionalProperties":false,"properties":{"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","type":"integer"},"status":{"$ref":"#/components/schemas/FacilityCustomServiceConnectionStatus"},"version":{"description":"Version of the documentSet you want to update a document of","format":"int64","type":"integer"}},"required":["version"],"title":"FacilityCustomServiceConnectionForUpdate","description":"FacilityCustomServiceConnectionForUpdate"},"FacilityCustomServiceConnectionStatus":{"enum":["ACTIVE","INACTIVE"],"type":"string","title":"FacilityCustomServiceConnectionStatus","description":"FacilityCustomServiceConnectionStatus"},"FacilityCustomServiceConnection":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"customServiceRef":{"type":"string"},"executionTimeInMin":{"type":"integer"},"facilityRef":{"type":"string"},"id":{"type":"string"},"status":{"$ref":"#/components/schemas/FacilityCustomServiceConnectionStatus"}},"required":["id","status","facilityRef","customServiceRef"],"title":"FacilityCustomServiceConnection","description":"FacilityCustomServiceConnection"},"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/facilities/{facilityId}/customservices/{customServiceId}":{"patch":{"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 />","operationId":"updateFacilityCustomServiceConnection","parameters":[{"description":"ID of facility. Also accepts tenantFacilityId in urn format (e.g. urn:fft:facility:tenantFacilityId:{your-tenant-facility-id}).","in":"path","name":"facilityId","required":true,"schema":{"type":"string"}},{"description":"ID of the custom service","in":"path","name":"customServiceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FacilityCustomServiceConnectionForUpdate"}}},"description":"Desired custom service connection to create/update","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FacilityCustomServiceConnection"}}},"description":"The custom service connection 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 facility custom service","tags":["Custom Services (Core)"]}}}}
```


---

# 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/custom-services-core.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.
