Outlet Properties
This section specifies how a partner can update the GoFood outlet information.
Update Outlet Properties
By using this method, you can update your restaurant outlet information such as outlet is open or close within its operational hours, and your outlet's profile image.
PATCH /integrations/gofood/outlets/{outlet_id}/v1/properties
Sample Request
curl -X PATCH https://api.partner-sandbox.gobiz.co.id/integrations/gofood/outlets/{outlet_id}/v1/properties \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d $'
{
"force_close": false
}
'
Path Parameters
| Name | Description | Type | Required |
|---|---|---|---|
| outlet_id | ID of the restaurant for which you want to update the status. | String | Required |
Request Parameters
| JSON Attribute | Description | Type | Required |
|---|---|---|---|
| force_close | Restaurant outlet status. | Boolean | Optional |
| profile_image_url | Publicly accessible URL of the image to set as the outlet's profile image. See Profile Image Requirements below. | String (URI) | Optional |
force_close and profile_image_url are independent — you may send either one, or both, in the same request.
Profile Image Requirements
| Requirement | Detail |
|---|---|
| Accessibility | The URL must be publicly reachable over HTTP/HTTPS without authentication, so GoFood can download the image. |
| Allowed formats | .jpg / .jpeg (MIME type image/jpeg) only. |
| Maximum file size | 2 MB. |
If the provided image fails validation, the request is rejected — see Profile Image Errors.
Sample Request - Update Profile Image
curl -X PATCH https://api.partner-sandbox.gobiz.co.id/integrations/gofood/outlets/{outlet_id}/v1/properties \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d $'
{
"profile_image_url": "https://example.com/images/outlet-profile.jpg"
}
'
profile_image_url is not echoed back in the response body — the data object only reflects force_close.
Sample Response - 200 Success
{
"success": true,
"data":
{
"force_close": false
}
}
Response Parameter - 200 Success
| JSON Attribute | Description | Type |
|---|---|---|
| success | Status of the request. Value true indicates successful submission of the request. | Boolean |
| data | Details of the updated restaurant. | Object |
| » force_close | restaurant outlet status. | Boolean |
Profile Image Errors
If profile_image_url fails validation, the API responds with HTTP 400 and one of the following error codes in errors[].message_title. The update is rejected and the outlet keeps its previous profile image — no partial or broken image is ever applied.
| Error Code | Description |
|---|---|
| INVALID_IMAGE_FORMAT | The image is not a valid JPG/JPEG file, or its content type does not match image/jpeg. |
| IMAGE_URL_UNREACHABLE | GoFood could not download the image from the given URL (URL is unreachable, times out, or returns an error). |
| INVALID_IMAGE_SIZE | The image exceeds the maximum allowed size of 2 MB. |
{
"success": false,
"errors": [
{
"message_title": "INVALID_IMAGE_FORMAT",
"message": "The profile image format is not supported. Only JPG/JPEG images are allowed."
}
]
}
{
"success": false,
"errors": [
{
"message_title": "IMAGE_URL_UNREACHABLE",
"message": "The profile image URL could not be reached. Make sure the URL is publicly accessible."
}
]
}
{
"success": false,
"errors": [
{
"message_title": "INVALID_IMAGE_SIZE",
"message": "The profile image exceeds the maximum allowed size of 2MB."
}
]
}
Profile Image Content Moderation
Passing the checks above (format, reachability, size) and receiving a 200 response means the image itself was accepted — it does not yet mean the image is live. Separately, the image content goes through moderation asynchronously in the background.
If the image is rejected by content moderation, your outlet's profile image reverts to the previous, already-approved image.
At this time, GoFood does not send any notification (webhook, callback, or otherwise) when an image is rejected by content moderation, and there is no endpoint to check the moderation outcome. Plan your integration accordingly — for example, by re-confirming the image shown on your GoFood outlet listing after submitting an update.
- To perform this operation, you must be authenticated using
go_auth_authorization_code(gofood:outlet:write)using Owner or Manager roles. - Possible error responses are
400,401,404,406, and415. For400errors related toprofile_image_url, refer to Profile Image Errors above. For other errors, refer Error Glossary.