> For the complete documentation index, see [llms.txt](https://docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verifone.com/api-reference/open-api-references/order-service/poi-maintenance.md).

# POI Maintenance

The **POI Maintenance** endpoints let you look up POI UIDs, make partial updates to existing POI records, and delete them. For multi-merchant hierarchy endpoints, see [Multi Merchant](/api-reference/open-api-references/order-service/multi-merchant.md).

## API Reference

### Lookup POIs by merchant identifiers

Resolves POI UIDs from one or more merchant identifiers. At least one query parameter must be provided.

Parameters are grouped into three resolution paths:

* Path 1: `merchantId`
* Path 2: entity identifiers — AND-combinable
* Path 3: `estateManagementId`

`merchantId` + `altVfiEntityId` is also supported.

## Lookup POIs by merchant identifiers

> Resolves POI UIDs from one or more merchant identifiers. At least one query parameter must be provided. Parameters are grouped into three resolution paths: Path 1 (merchantId), Path 2 (entity identifiers — AND-combinable), Path 3 (estateManagementId). merchantId + altVfiEntityId is also supported.<br>

```json
{"openapi":"3.0.0","info":{"title":"Verifone Order Internal API","version":"2.63.1-SNAPSHOT"},"tags":[{"name":"Common","description":"Operations common to all orders."},{"name":"POI Maintenance","description":"Operations to manage POI (Point of interaction/terminal) records."}],"servers":[{"url":"https://api.verifone.com"}],"paths":{"/pois/lookup":{"get":{"tags":["Common","POI Maintenance"],"summary":"Lookup POIs by merchant identifiers","description":"Resolves POI UIDs from one or more merchant identifiers. At least one query parameter must be provided. Parameters are grouped into three resolution paths: Path 1 (merchantId), Path 2 (entity identifiers — AND-combinable), Path 3 (estateManagementId). merchantId + altVfiEntityId is also supported.\n","operationId":"lookupPoi","parameters":[{"name":"merchantId","in":"query","description":"Acquirer MID stored on Payment Provider Contract (Path 1).","schema":{"type":"string"}},{"name":"altVfiEntityId","in":"query","description":"Verifone gateway MID (ISO8583 DE42) (Path 2).","schema":{"type":"string"}},{"name":"siteReferenceId","in":"query","description":"Site reference ID (Path 2).","schema":{"type":"string"}},{"name":"storeNumber","in":"query","description":"Alias for siteReferenceId — same Entity Service param (Path 2).","schema":{"type":"string"}},{"name":"merchantName","in":"query","description":"Merchant name (Path 2).","schema":{"type":"string"}},{"name":"siteName","in":"query","description":"Site name (Path 2).","schema":{"type":"string"}},{"name":"estateManagementId","in":"query","description":"Estate management ID — resolves POI and parent entity directly (Path 3).","schema":{"type":"string"}}],"responses":{"200":{"description":"POI lookup result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PoiLookupResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"description":"Unprocessable Entity — conflicting or ambiguous identifiers.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","enum":["AMBIGUOUS_IDENTIFIER","CONFLICTING_IDENTIFIERS"]},"message":{"type":"string"}},"required":["code","message"]}}}},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"},"503":{"$ref":"#/components/responses/503"},"504":{"$ref":"#/components/responses/504"}}}}},"components":{"schemas":{"PoiLookupResponse":{"description":"Response for POI lookup by merchant identifiers.","type":"object","properties":{"merchantName":{"type":"string","description":"Merchant name."},"siteName":{"type":"string","description":"Site name."},"siteReferenceId":{"type":"string","description":"Site reference ID."},"storeNumber":{"type":"string","description":"Alias for siteReferenceId."},"merchantId":{"type":"string","description":"Acquirer MID from Payment Provider Contract."},"altVfiEntityId":{"type":"string","description":"Verifone gateway MID (ISO8583 DE42)."},"merchantCompanyUid":{"type":"string","format":"uuid","description":"entityUid of the ancestor MERCHANT_COMPANY entity."},"entityUid":{"type":"string","format":"uuid","description":"entityUid of the resolved site."},"pois":{"type":"array","description":"POIs belonging to the resolved site.","items":{"$ref":"#/components/schemas/PoiSummary"}}}},"PoiSummary":{"description":"Summary of a single POI.","type":"object","properties":{"poiUid":{"type":"string","format":"uuid","description":"Verifone POI identifier."},"estateManagementId":{"type":"string","description":"Estate management identifier."},"poiName":{"type":"string","description":"Name of the POI."}}},"httpError400":{"title":"HTTP 400 Error","type":"object","description":"The request could not be understood by the server due to malformed syntax.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["400"],"default":"400"},"title":{"type":"string","enum":["Bad Request"],"default":"Bad Request"},"message":{"type":"string","default":"The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["INVALID_REQUEST_ERROR"],"default":"INVALID_REQUEST_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"ErrorResp":{"title":"Error","description":"A common Error object returned as part of the API layer.\n\n. This is modified to become the base class for all of the derived HTTP Error Responses.","type":"object","properties":{"reversalStatus":{"description":"Indicates to the API client if a technical reversal is required or has been completed by Verifone.\n\n|Value|Description|\n|-|-|\n|NONE|Reversal status is not set. This indicates the status of reversal processing is not known and the client should implement default reversal processing.|\n|REQUIRED|A reversal is required by the client.|\n|COMPLETED|A reversal has been completed by verifone or a reversal is not required for this transaction.|","type":"string","enum":["NONE","REQUIRED","COMPLETED"],"default":"NONE"}},"required":["code"]},"httpError401":{"title":"HTTP 401 Error","type":"object","description":"The request must be authenticated to access the resource.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["401"],"default":"401"},"title":{"type":"string","enum":["Unauthorised"],"default":"Unauthorised"},"message":{"type":"string","default":"The request requires client authentication."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["AUTHENTICATION_ERROR"],"default":"AUTHENTICATION_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError403":{"title":"HTTP 403 Error","type":"object","description":"The request must be authorised to access the resource.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["403"],"default":"403"},"title":{"type":"string","enum":["Forbidden"],"default":"Forbidden"},"message":{"type":"string","default":"The request requires client authorisation to access resource."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["AUTHENTICATION_ERROR"],"default":"AUTHENTICATION_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError404":{"title":"HTTP 404 Error","type":"object","description":"The server cannot find the requested resource.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["404"],"default":"404"},"title":{"type":"string","enum":["Not Found"],"default":"Not Found"},"message":{"type":"string","default":"The server cannot find the requested resource."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["INVALID_REQUEST_ERROR"],"default":"INVALID_REQUEST_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError429":{"title":"HTTP 429 Error","type":"object","description":"The resource exists the number of requests has exceeded the specified quota.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["429"],"default":"429"},"title":{"type":"string","enum":["Too Many Requests"],"default":"Too Many Requests"},"message":{"type":"string","default":"The number of requests from this client is restricted to a specified quota."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["RATE_LIMIT_ERROR"],"default":"RATE_LIMIT_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError500":{"title":"HTTP 500 Error","type":"object","description":"Unexpected Server Error","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["500"],"default":"500"},"title":{"type":"string","enum":["Internal Server Error"],"default":"Internal Server Error"},"message":{"type":"string","default":"The server encountered an unexpected condition which prevented it from fulfilling the request."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["API_ERROR"],"default":"API_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError503":{"title":"HTTP 503 Error","type":"object","description":"Service Unavailable Error","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["503"],"default":"503"},"title":{"type":"string","enum":["Service Unavailable"],"default":"Service Unavailable"},"message":{"type":"string","default":"The server is not ready to handle the request. If specified please check the <strong>Retry-After</strong> for the time period specified for recovery/re-attempt of request."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["API_ERROR"],"default":"API_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError504":{"title":"HTTP 504 Error","type":"object","description":"Gateway Timeout Error","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["504"],"default":"504"},"title":{"type":"string","enum":["Gateway Timeout"],"default":"Gateway Timeout"},"message":{"type":"string","default":"The server, while acting as a gateway or proxy, did not get a response in time from the upstream server that it needed in order to complete the request."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["API_ERROR"],"default":"API_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError400"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"401":{"description":"Unauthorised Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError401"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"403":{"description":"Forbidden Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/httpError403"}}}},"404":{"description":"Not Found Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError404"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError429"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError500"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"503":{"description":"Service Not Available","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError503"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"504":{"description":"Service Timeout","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError504"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}}}}}
```

### Partial Update of a POI

{% hint style="info" %}
This is a `PATCH` operation — only the fields included in the request body are updated. Omitted fields retain their current values.
{% endhint %}

## Partial Update of a POI

> A partial update of an existing POI record. Only replaces the provided\
> parameters.\
> \
> This can be used to activate/deactivate a POI record. When deactivated the terminal will be blocked from transacting.

```json
{"openapi":"3.0.0","info":{"title":"Verifone Order Internal API","version":"2.63.1-SNAPSHOT"},"tags":[{"name":"POI Maintenance","description":"Operations to manage POI (Point of interaction/terminal) records."}],"servers":[{"url":"https://api.verifone.com"}],"paths":{"/pois/{poiUid}":{"patch":{"tags":["POI Maintenance"],"summary":"Partial Update of a POI","description":"A partial update of an existing POI record. Only replaces the provided\nparameters.\n\nThis can be used to activate/deactivate a POI record. When deactivated the terminal will be blocked from transacting.","operationId":"patchPoi","requestBody":{"description":"POI details to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PoiPatch"}}}},"responses":{"204":{"description":"Patch POI Success.","headers":{"orderId":{"schema":{"$ref":"#/components/schemas/OrderId"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"},"503":{"$ref":"#/components/responses/503"},"504":{"$ref":"#/components/responses/504"}},"parameters":[{"name":"poiUid","in":"path","description":"The assigned ID corresponding for the POI.","required":true,"style":"simple","explode":false,"schema":{"$ref":"#/components/schemas/PoiUid"}}]}}},"components":{"schemas":{"PoiPatch":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/UpdateStatusEnum"}}},"UpdateStatusEnum":{"type":"string","description":"An entity may have different states but will still exist in the Verifone Service without being active as a record is required for the status.\n\nThis only allows update to active status, delete must be explicity executed as an operation.","enum":["ACTIVE","INACTIVE"]},"OrderId":{"description":"Verifone allocated ID for the Order.","type":"string","format":"uuid"},"httpError400":{"title":"HTTP 400 Error","type":"object","description":"The request could not be understood by the server due to malformed syntax.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["400"],"default":"400"},"title":{"type":"string","enum":["Bad Request"],"default":"Bad Request"},"message":{"type":"string","default":"The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["INVALID_REQUEST_ERROR"],"default":"INVALID_REQUEST_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"ErrorResp":{"title":"Error","description":"A common Error object returned as part of the API layer.\n\n. This is modified to become the base class for all of the derived HTTP Error Responses.","type":"object","properties":{"reversalStatus":{"description":"Indicates to the API client if a technical reversal is required or has been completed by Verifone.\n\n|Value|Description|\n|-|-|\n|NONE|Reversal status is not set. This indicates the status of reversal processing is not known and the client should implement default reversal processing.|\n|REQUIRED|A reversal is required by the client.|\n|COMPLETED|A reversal has been completed by verifone or a reversal is not required for this transaction.|","type":"string","enum":["NONE","REQUIRED","COMPLETED"],"default":"NONE"}},"required":["code"]},"httpError401":{"title":"HTTP 401 Error","type":"object","description":"The request must be authenticated to access the resource.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["401"],"default":"401"},"title":{"type":"string","enum":["Unauthorised"],"default":"Unauthorised"},"message":{"type":"string","default":"The request requires client authentication."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["AUTHENTICATION_ERROR"],"default":"AUTHENTICATION_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError403":{"title":"HTTP 403 Error","type":"object","description":"The request must be authorised to access the resource.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["403"],"default":"403"},"title":{"type":"string","enum":["Forbidden"],"default":"Forbidden"},"message":{"type":"string","default":"The request requires client authorisation to access resource."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["AUTHENTICATION_ERROR"],"default":"AUTHENTICATION_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError404":{"title":"HTTP 404 Error","type":"object","description":"The server cannot find the requested resource.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["404"],"default":"404"},"title":{"type":"string","enum":["Not Found"],"default":"Not Found"},"message":{"type":"string","default":"The server cannot find the requested resource."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["INVALID_REQUEST_ERROR"],"default":"INVALID_REQUEST_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError429":{"title":"HTTP 429 Error","type":"object","description":"The resource exists the number of requests has exceeded the specified quota.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["429"],"default":"429"},"title":{"type":"string","enum":["Too Many Requests"],"default":"Too Many Requests"},"message":{"type":"string","default":"The number of requests from this client is restricted to a specified quota."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["RATE_LIMIT_ERROR"],"default":"RATE_LIMIT_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError500":{"title":"HTTP 500 Error","type":"object","description":"Unexpected Server Error","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["500"],"default":"500"},"title":{"type":"string","enum":["Internal Server Error"],"default":"Internal Server Error"},"message":{"type":"string","default":"The server encountered an unexpected condition which prevented it from fulfilling the request."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["API_ERROR"],"default":"API_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError503":{"title":"HTTP 503 Error","type":"object","description":"Service Unavailable Error","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["503"],"default":"503"},"title":{"type":"string","enum":["Service Unavailable"],"default":"Service Unavailable"},"message":{"type":"string","default":"The server is not ready to handle the request. If specified please check the <strong>Retry-After</strong> for the time period specified for recovery/re-attempt of request."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["API_ERROR"],"default":"API_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError504":{"title":"HTTP 504 Error","type":"object","description":"Gateway Timeout Error","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["504"],"default":"504"},"title":{"type":"string","enum":["Gateway Timeout"],"default":"Gateway Timeout"},"message":{"type":"string","default":"The server, while acting as a gateway or proxy, did not get a response in time from the upstream server that it needed in order to complete the request."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["API_ERROR"],"default":"API_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"PoiUid":{"description":"The Verifone allocated unique id for this terminal/POI. This is allocated by Verifone when an order is initially received.","type":"string","format":"uuid"}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError400"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"401":{"description":"Unauthorised Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError401"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"403":{"description":"Forbidden Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/httpError403"}}}},"404":{"description":"Not Found Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError404"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError429"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError500"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"503":{"description":"Service Not Available","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError503"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"504":{"description":"Service Timeout","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError504"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}}}}}
```

### Delete a POI

{% hint style="danger" %}
Deleting a POI is irreversible. Ensure the POI has no active orders before proceeding.
{% endhint %}

## Delete a Single POI

> Deletes a POI.\
> \
> \*\*forceDelete=false (default)\*\*\
> Deletion fails with 400 if the POI is ACTIVE. The POI must be\
> INACTIVE before calling this endpoint.\
> \
> \*\*forceDelete=true\*\*\
> An ACTIVE POI is automatically inactivated before deletion. If already\
> INACTIVE, deletion proceeds directly.\
> Returns 400 if the inactivation step fails; the POI is not deleted.

```json
{"openapi":"3.0.0","info":{"title":"Verifone Order Internal API","version":"2.63.1-SNAPSHOT"},"tags":[{"name":"POI Maintenance","description":"Operations to manage POI (Point of interaction/terminal) records."}],"servers":[{"url":"https://api.verifone.com"}],"paths":{"/pois/{poiUid}":{"delete":{"tags":["POI Maintenance"],"summary":"Delete a Single POI","description":"Deletes a POI.\n\n**forceDelete=false (default)**\nDeletion fails with 400 if the POI is ACTIVE. The POI must be\nINACTIVE before calling this endpoint.\n\n**forceDelete=true**\nAn ACTIVE POI is automatically inactivated before deletion. If already\nINACTIVE, deletion proceeds directly.\nReturns 400 if the inactivation step fails; the POI is not deleted.","operationId":"deletePoi","parameters":[{"name":"poiUid","in":"path","description":"The assigned ID corresponding for the POI.","required":true,"style":"simple","explode":false,"schema":{"$ref":"#/components/schemas/PoiUid"}},{"$ref":"#/components/parameters/forceDeleteQueryParam"}],"responses":{"204":{"description":"The Poi was successfully deleted.","headers":{"orderId":{"schema":{"$ref":"#/components/schemas/OrderId"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"},"503":{"$ref":"#/components/responses/503"},"504":{"$ref":"#/components/responses/504"}}}}},"components":{"schemas":{"PoiUid":{"description":"The Verifone allocated unique id for this terminal/POI. This is allocated by Verifone when an order is initially received.","type":"string","format":"uuid"},"OrderId":{"description":"Verifone allocated ID for the Order.","type":"string","format":"uuid"},"httpError400":{"title":"HTTP 400 Error","type":"object","description":"The request could not be understood by the server due to malformed syntax.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["400"],"default":"400"},"title":{"type":"string","enum":["Bad Request"],"default":"Bad Request"},"message":{"type":"string","default":"The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["INVALID_REQUEST_ERROR"],"default":"INVALID_REQUEST_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"ErrorResp":{"title":"Error","description":"A common Error object returned as part of the API layer.\n\n. This is modified to become the base class for all of the derived HTTP Error Responses.","type":"object","properties":{"reversalStatus":{"description":"Indicates to the API client if a technical reversal is required or has been completed by Verifone.\n\n|Value|Description|\n|-|-|\n|NONE|Reversal status is not set. This indicates the status of reversal processing is not known and the client should implement default reversal processing.|\n|REQUIRED|A reversal is required by the client.|\n|COMPLETED|A reversal has been completed by verifone or a reversal is not required for this transaction.|","type":"string","enum":["NONE","REQUIRED","COMPLETED"],"default":"NONE"}},"required":["code"]},"httpError401":{"title":"HTTP 401 Error","type":"object","description":"The request must be authenticated to access the resource.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["401"],"default":"401"},"title":{"type":"string","enum":["Unauthorised"],"default":"Unauthorised"},"message":{"type":"string","default":"The request requires client authentication."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["AUTHENTICATION_ERROR"],"default":"AUTHENTICATION_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError403":{"title":"HTTP 403 Error","type":"object","description":"The request must be authorised to access the resource.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["403"],"default":"403"},"title":{"type":"string","enum":["Forbidden"],"default":"Forbidden"},"message":{"type":"string","default":"The request requires client authorisation to access resource."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["AUTHENTICATION_ERROR"],"default":"AUTHENTICATION_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError404":{"title":"HTTP 404 Error","type":"object","description":"The server cannot find the requested resource.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["404"],"default":"404"},"title":{"type":"string","enum":["Not Found"],"default":"Not Found"},"message":{"type":"string","default":"The server cannot find the requested resource."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["INVALID_REQUEST_ERROR"],"default":"INVALID_REQUEST_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError429":{"title":"HTTP 429 Error","type":"object","description":"The resource exists the number of requests has exceeded the specified quota.","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["429"],"default":"429"},"title":{"type":"string","enum":["Too Many Requests"],"default":"Too Many Requests"},"message":{"type":"string","default":"The number of requests from this client is restricted to a specified quota."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["RATE_LIMIT_ERROR"],"default":"RATE_LIMIT_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError500":{"title":"HTTP 500 Error","type":"object","description":"Unexpected Server Error","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["500"],"default":"500"},"title":{"type":"string","enum":["Internal Server Error"],"default":"Internal Server Error"},"message":{"type":"string","default":"The server encountered an unexpected condition which prevented it from fulfilling the request."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["API_ERROR"],"default":"API_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError503":{"title":"HTTP 503 Error","type":"object","description":"Service Unavailable Error","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["503"],"default":"503"},"title":{"type":"string","enum":["Service Unavailable"],"default":"Service Unavailable"},"message":{"type":"string","default":"The server is not ready to handle the request. If specified please check the <strong>Retry-After</strong> for the time period specified for recovery/re-attempt of request."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["API_ERROR"],"default":"API_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false},"httpError504":{"title":"HTTP 504 Error","type":"object","description":"Gateway Timeout Error","allOf":[{"$ref":"#/components/schemas/ErrorResp"},{"properties":{"code":{"type":"string","enum":["504"],"default":"504"},"title":{"type":"string","enum":["Gateway Timeout"],"default":"Gateway Timeout"},"message":{"type":"string","default":"The server, while acting as a gateway or proxy, did not get a response in time from the upstream server that it needed in order to complete the request."},"timestamp":{"description":"The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone.","type":"string","format":"date-time"},"type":{"type":"string","enum":["API_ERROR"],"default":"API_ERROR"},"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"}}}],"required":["code","title","message","type"],"additionalProperties":false}},"parameters":{"forceDeleteQueryParam":{"name":"forceDelete","in":"query","required":false,"description":"When `false` (default), deletion fails with 400 if the POI is ACTIVE; the POI must be INACTIVE before calling this endpoint. When `true`, an ACTIVE POI is automatically inactivated before deletion; if already INACTIVE, deletion proceeds directly.\n","schema":{"type":"boolean","default":false}}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError400"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"401":{"description":"Unauthorised Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError401"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"403":{"description":"Forbidden Request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/httpError403"}}}},"404":{"description":"Not Found Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError404"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError429"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError500"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"503":{"description":"Service Not Available","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError503"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}},"504":{"description":"Service Timeout","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/httpError504"},{"properties":{"param":{"description":"The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.","type":"string"},"additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}],"required":["code","title","message","type"]}}}}}}}
```


---

# 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:

```
GET https://docs.verifone.com/api-reference/open-api-references/order-service/poi-maintenance.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.
