> For the complete documentation index, see [llms.txt](https://docs.fulfillmenttools.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fulfillmenttools.com/documentation/apis/api-reference/custom-services-core.md).

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

```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":{"description":"List of custom services matching the query","items":{"$ref":"#/components/schemas/CustomService"},"maxItems":500,"type":"array"},"total":{"description":"Total number of found entities for this query","type":"integer"}},"title":"StrippedCustomServices","type":"object","description":"StrippedCustomServices"},"CustomService":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"description":"Additional information entries defined for this custom service","items":{"$ref":"#/components/schemas/AdditionalInformation"},"maxItems":15,"type":"array"},"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"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"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"id":{"description":"Unique ID of this custom service","minLength":1,"type":"string"},"imageRefs":{"description":"List of linked images for this custom service","items":{"type":"string"},"maxItems":50,"type":"array"},"itemsRequired":{"description":"Indicates whether items are required for executing a service job of this custom service","enum":["MANDATORY","NONE"],"type":"string"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after execution","type":"boolean"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"status":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service","minLength":1,"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","nameLocalized","itemsRequired","id","created","lastModified","version"],"title":"CustomService","type":"object","description":"CustomService"},"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"},"AdditionalInformation":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"id":{"description":"Unique ID of this additional information entry","minLength":1,"type":"string"},"isMandatory":{"description":"Indicates if filling in this additional information is mandatory","type":"boolean"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"description":"Type of the value","enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string"}},"required":["nameLocalized","valueType","id"],"title":"AdditionalInformation","type":"object","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":{"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 />List custom services","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,"maximum":500,"minimum":1,"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 services can 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"}},"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 />Create custom service

```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":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"description":"Additional information fields to be collected when executing this custom service","items":{"$ref":"#/components/schemas/AdditionalInformationForCreation"},"maxItems":15,"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":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"imageRefs":{"description":"List of linked images for this custom service","items":{"type":"string"},"maxItems":50,"type":"array"},"itemsRequired":{"description":"Indicates whether items are required for executing a service job of this custom service","enum":["MANDATORY","NONE"],"type":"string"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after execution","type":"boolean"},"status":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service","minLength":1,"type":"string"}},"required":["status","nameLocalized","itemsRequired"],"title":"CustomServiceForCreation","type":"object","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":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"isMandatory":{"description":"Indicates if filling in this additional information is mandatory","type":"boolean"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"description":"Type of the value","enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string"}},"required":["nameLocalized","valueType"],"title":"AdditionalInformationForCreation","type":"object","description":"AdditionalInformationForCreation"},"CustomService":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"description":"Additional information entries defined for this custom service","items":{"$ref":"#/components/schemas/AdditionalInformation"},"maxItems":15,"type":"array"},"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"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"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"id":{"description":"Unique ID of this custom service","minLength":1,"type":"string"},"imageRefs":{"description":"List of linked images for this custom service","items":{"type":"string"},"maxItems":50,"type":"array"},"itemsRequired":{"description":"Indicates whether items are required for executing a service job of this custom service","enum":["MANDATORY","NONE"],"type":"string"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after execution","type":"boolean"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"status":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service","minLength":1,"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","nameLocalized","itemsRequired","id","created","lastModified","version"],"title":"CustomService","type":"object","description":"CustomService"},"AdditionalInformation":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"id":{"description":"Unique ID of this additional information entry","minLength":1,"type":"string"},"isMandatory":{"description":"Indicates if filling in this additional information is mandatory","type":"boolean"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"description":"Type of the value","enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string"}},"required":["nameLocalized","valueType","id"],"title":"AdditionalInformation","type":"object","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":{"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 />Create custom service","operationId":"createCustomService","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomServiceForCreation"}}},"description":"Desired custom service to create","required":true},"responses":{"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 />Get custom service

```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":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"description":"Additional information entries defined for this custom service","items":{"$ref":"#/components/schemas/AdditionalInformation"},"maxItems":15,"type":"array"},"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"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"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"id":{"description":"Unique ID of this custom service","minLength":1,"type":"string"},"imageRefs":{"description":"List of linked images for this custom service","items":{"type":"string"},"maxItems":50,"type":"array"},"itemsRequired":{"description":"Indicates whether items are required for executing a service job of this custom service","enum":["MANDATORY","NONE"],"type":"string"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after execution","type":"boolean"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"status":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service","minLength":1,"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","nameLocalized","itemsRequired","id","created","lastModified","version"],"title":"CustomService","type":"object","description":"CustomService"},"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"},"AdditionalInformation":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"id":{"description":"Unique ID of this additional information entry","minLength":1,"type":"string"},"isMandatory":{"description":"Indicates if filling in this additional information is mandatory","type":"boolean"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"description":"Type of the value","enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string"}},"required":["nameLocalized","valueType","id"],"title":"AdditionalInformation","type":"object","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":{"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 custom service","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 can 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":"The requested entity was 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 />Apply a patch set or partial update to the custom service.

```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":{"properties":{"actions":{"description":"List of actions to apply to this custom service","items":{"anyOf":[{"$ref":"#/components/schemas/ModifyCustomServiceAction"}]},"maxItems":10,"minItems":1,"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["actions","version"],"title":"CustomServicePatchActions","type":"object","description":"CustomServicePatchActions"},"ModifyCustomServiceAction":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$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","minimum":0,"type":"integer"},"imageRefs":{"description":"List of linked images for this custom service","items":{"type":"string"},"maxItems":50,"minItems":0,"type":"array"},"itemsRequired":{"description":"Indicates whether items are required for executing a service job of this custom service","enum":["MANDATORY","NONE"],"type":"string"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after the custom service has been executed","type":"boolean"},"status":{"description":"New status to set for the custom service","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service to be modified","minLength":1,"type":"string"}},"required":["action"],"title":"ModifyCustomServiceAction","type":"object","description":"ModifyCustomServiceAction"},"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"},"CustomServiceForUpdate":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$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","minimum":0,"type":"integer"},"itemsRequired":{"description":"Indicates whether items are required for executing a service job of this custom service","enum":["MANDATORY","NONE"],"type":"string"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after the custom service has been executed","type":"boolean"},"status":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service","minLength":1,"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","minimum":1,"type":"integer"}},"required":["version"],"title":"CustomServiceForUpdate","type":"object","description":"CustomServiceForUpdate"},"CustomService":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"description":"Additional information entries defined for this custom service","items":{"$ref":"#/components/schemas/AdditionalInformation"},"maxItems":15,"type":"array"},"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"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"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"id":{"description":"Unique ID of this custom service","minLength":1,"type":"string"},"imageRefs":{"description":"List of linked images for this custom service","items":{"type":"string"},"maxItems":50,"type":"array"},"itemsRequired":{"description":"Indicates whether items are required for executing a service job of this custom service","enum":["MANDATORY","NONE"],"type":"string"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after execution","type":"boolean"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"status":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service","minLength":1,"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","nameLocalized","itemsRequired","id","created","lastModified","version"],"title":"CustomService","type":"object","description":"CustomService"},"AdditionalInformation":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"id":{"description":"Unique ID of this additional information entry","minLength":1,"type":"string"},"isMandatory":{"description":"Indicates if filling in this additional information is mandatory","type":"boolean"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"description":"Type of the value","enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string"}},"required":["nameLocalized","valueType","id"],"title":"AdditionalInformation","type":"object","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":{"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 />Apply a patch set or partial update to the custom service.","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":{"anyOf":[{"$ref":"#/components/schemas/CustomServicePatchActions"},{"$ref":"#/components/schemas/CustomServiceForUpdate"}]}}},"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":"The requested entity was not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"A version conflict occurred."}},"summary":"Update custom service","tags":["Custom Services (Core)"]}}}}
```

## 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 />Create additional information on the custom service.

```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":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"isMandatory":{"description":"Indicates if filling in this additional information is mandatory","type":"boolean"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"description":"Type of the value","enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string"}},"required":["nameLocalized","valueType"],"title":"AdditionalInformationForCreation","type":"object","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"},"CustomService":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"description":"Additional information entries defined for this custom service","items":{"$ref":"#/components/schemas/AdditionalInformation"},"maxItems":15,"type":"array"},"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"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"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"id":{"description":"Unique ID of this custom service","minLength":1,"type":"string"},"imageRefs":{"description":"List of linked images for this custom service","items":{"type":"string"},"maxItems":50,"type":"array"},"itemsRequired":{"description":"Indicates whether items are required for executing a service job of this custom service","enum":["MANDATORY","NONE"],"type":"string"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after execution","type":"boolean"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"status":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service","minLength":1,"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","nameLocalized","itemsRequired","id","created","lastModified","version"],"title":"CustomService","type":"object","description":"CustomService"},"AdditionalInformation":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"id":{"description":"Unique ID of this additional information entry","minLength":1,"type":"string"},"isMandatory":{"description":"Indicates if filling in this additional information is mandatory","type":"boolean"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"description":"Type of the value","enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string"}},"required":["nameLocalized","valueType","id"],"title":"AdditionalInformation","type":"object","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":{"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 />Create additional information on the custom service.","operationId":"createCustomServiceAdditionalInformation","parameters":[{"description":"ID of custom service you want to create additional information for","in":"path","name":"customServiceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdditionalInformationForCreation"}}},"description":"Desired additional information to create","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"Added additional information to the custom service."},"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"},"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":"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 />Update an additional information entry on the custom service.

```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":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"isMandatory":{"description":"Indicates if filling in this additional information is mandatory","type":"boolean"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"description":"Type of the value","enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string"}},"required":["nameLocalized","valueType"],"title":"AdditionalInformationForCreation","type":"object","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"},"CustomService":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"description":"Additional information entries defined for this custom service","items":{"$ref":"#/components/schemas/AdditionalInformation"},"maxItems":15,"type":"array"},"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"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"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"id":{"description":"Unique ID of this custom service","minLength":1,"type":"string"},"imageRefs":{"description":"List of linked images for this custom service","items":{"type":"string"},"maxItems":50,"type":"array"},"itemsRequired":{"description":"Indicates whether items are required for executing a service job of this custom service","enum":["MANDATORY","NONE"],"type":"string"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after execution","type":"boolean"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"status":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service","minLength":1,"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","nameLocalized","itemsRequired","id","created","lastModified","version"],"title":"CustomService","type":"object","description":"CustomService"},"AdditionalInformation":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"id":{"description":"Unique ID of this additional information entry","minLength":1,"type":"string"},"isMandatory":{"description":"Indicates if filling in this additional information is mandatory","type":"boolean"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"description":"Type of the value","enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string"}},"required":["nameLocalized","valueType","id"],"title":"AdditionalInformation","type":"object","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":{"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 an additional information entry on the custom service.","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":"additional information to update","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomService"}}},"description":"Updated the additional information on the custom service"},"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"},"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 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 />Delete an additional information entry from the custom service.

```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":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"additionalInformation":{"description":"Additional information entries defined for this custom service","items":{"$ref":"#/components/schemas/AdditionalInformation"},"maxItems":15,"type":"array"},"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"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"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"id":{"description":"Unique ID of this custom service","minLength":1,"type":"string"},"imageRefs":{"description":"List of linked images for this custom service","items":{"type":"string"},"maxItems":50,"type":"array"},"itemsRequired":{"description":"Indicates whether items are required for executing a service job of this custom service","enum":["MANDATORY","NONE"],"type":"string"},"itemsReturnable":{"description":"Indicates if the items of the custom service are returnable after execution","type":"boolean"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"status":{"description":"Deprecated values: ENABLED and DISABLED, use INACTIVE and ACTIVE instead","enum":["ENABLED","DISABLED","INACTIVE","ACTIVE"],"type":"string"},"tenantCustomServiceId":{"description":"Tenant specific ID of the custom service","minLength":1,"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","nameLocalized","itemsRequired","id","created","lastModified","version"],"title":"CustomService","type":"object","description":"CustomService"},"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"},"AdditionalInformation":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"description":{"description":"Translated description derived from descriptionLocalized based on the requested locale","minLength":1,"type":"string"},"id":{"description":"Unique ID of this additional information entry","minLength":1,"type":"string"},"isMandatory":{"description":"Indicates if filling in this additional information is mandatory","type":"boolean"},"name":{"description":"Translated name derived from nameLocalized based on the requested locale","minLength":1,"type":"string"},"tenantAdditionalInformationId":{"description":"Id to identifiy the additional information on an external system. Must be unique per CustomService.","minLength":1,"type":"string"},"valueType":{"description":"Type of the value","enum":["STRING","BOOLEAN","NUMBER","NOVALUE","INPUT_MULTILINE_STRING"],"type":"string"}},"required":["nameLocalized","valueType","id"],"title":"AdditionalInformation","type":"object","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":{"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 />Delete an additional information entry from the custom service.","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. additional information was removed."},"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 />List facility custom service connections

```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":{"properties":{"facilityCustomServiceConnections":{"description":"List of facility to custom service connections matching the query","items":{"$ref":"#/components/schemas/FacilityCustomServiceConnection"},"maxItems":500,"type":"array"},"total":{"description":"Total number of found entities for this query","type":"integer"}},"title":"StrippedFacilityCustomServiceConnections","type":"object","description":"StrippedFacilityCustomServiceConnections"},"FacilityCustomServiceConnection":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"customServiceRef":{"description":"ID of the custom service this connection belongs to","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"facilityRef":{"description":"ID of the facility this connection belongs to","minLength":1,"type":"string"},"id":{"description":"Unique ID of this facility to custom service connection","minLength":1,"type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"status":{"description":"Status of the connection between facility and custom service","enum":["ACTIVE","INACTIVE"],"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","id","version","created","lastModified","facilityRef","customServiceRef"],"title":"FacilityCustomServiceConnection","type":"object","description":"FacilityCustomServiceConnection"},"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":{"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 />List facility custom service connections","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":{"minLength":1,"type":"string"}},{"description":"number of entities to show","in":"query","name":"size","required":false,"schema":{"default":25,"maximum":500,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrippedFacilityCustomServiceConnections"}}},"description":"Facility custom service connections can 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":"The requested entity was 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 />Get a facility custom service connection

```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":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"customServiceRef":{"description":"ID of the custom service this connection belongs to","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"facilityRef":{"description":"ID of the facility this connection belongs to","minLength":1,"type":"string"},"id":{"description":"Unique ID of this facility to custom service connection","minLength":1,"type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"status":{"description":"Status of the connection between facility and custom service","enum":["ACTIVE","INACTIVE"],"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","id","version","created","lastModified","facilityRef","customServiceRef"],"title":"FacilityCustomServiceConnection","type":"object","description":"FacilityCustomServiceConnection"},"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":{"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 a facility custom service connection","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":"Facility custom service connection can 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":"The requested entity was 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 />Create a new facility custom service connection

```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":{"properties":{"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"status":{"description":"Status of the connection between facility and custom service","enum":["ACTIVE","INACTIVE"],"type":"string"}},"required":["status"],"title":"FacilityCustomServiceConnectionForCreation","type":"object","description":"FacilityCustomServiceConnectionForCreation"},"FacilityCustomServiceConnection":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"customServiceRef":{"description":"ID of the custom service this connection belongs to","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"facilityRef":{"description":"ID of the facility this connection belongs to","minLength":1,"type":"string"},"id":{"description":"Unique ID of this facility to custom service connection","minLength":1,"type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"status":{"description":"Status of the connection between facility and custom service","enum":["ACTIVE","INACTIVE"],"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","id","version","created","lastModified","facilityRef","customServiceRef"],"title":"FacilityCustomServiceConnection","type":"object","description":"FacilityCustomServiceConnection"},"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":{"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 />Create a new facility custom service connection","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 facility 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 />Delete a facility custom service connection

```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":{"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 />Delete a facility custom service connection","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 facility 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"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The requested entity was not found"}},"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 />Update an existing facility custom service connection

```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":{"properties":{"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"status":{"description":"New status to set for this facility to custom service connection","enum":["ACTIVE","INACTIVE"],"type":"string"},"version":{"description":"Version of the documentSet you want to update a document of","format":"int64","type":"integer"}},"required":["version"],"title":"FacilityCustomServiceConnectionForUpdate","type":"object","description":"FacilityCustomServiceConnectionForUpdate"},"FacilityCustomServiceConnection":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"customServiceRef":{"description":"ID of the custom service this connection belongs to","minLength":1,"type":"string"},"executionTimeInMin":{"description":"Time in minutes the custom service takes to be executed","minimum":0,"type":"integer"},"facilityRef":{"description":"ID of the facility this connection belongs to","minLength":1,"type":"string"},"id":{"description":"Unique ID of this facility to custom service connection","minLength":1,"type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"status":{"description":"Status of the connection between facility and custom service","enum":["ACTIVE","INACTIVE"],"type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["status","id","version","created","lastModified","facilityRef","customServiceRef"],"title":"FacilityCustomServiceConnection","type":"object","description":"FacilityCustomServiceConnection"},"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":{"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 an existing facility custom service connection","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 facility 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"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The requested entity was not found"}},"summary":"Update facility custom service","tags":["Custom Services (Core)"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.fulfillmenttools.com/documentation/apis/api-reference/custom-services-core.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
