---
title: "Update hours"
method: PATCH
path: "/api/profiles/{profile_id}/google_business/update_hours"
tags: ["Google Business"]
---

# Update hours

`PATCH /api/profiles/{profile_id}/google_business/update_hours`

## Request

- Base URL: `https://api.postproxy.dev`
- URL: `https://api.postproxy.dev/api/profiles/{profile_id}/google_business/update_hours`
- Auth: HTTP bearer

Updates regularHours (weekly schedule), specialHours (date-specific overrides such as holidays) and/or moreHours (named hour sets, e.g. kitchen or pickup hours). fields names which blocks are replaced and at least one matching block must be present. Times accept "09:00" / "09:00:00" or Google's { hours, minutes } object; days are MONDAY..SUNDAY; dates are { year, month, day }. Read current hours through Get location.

## Path parameters

- `profile_id` string, required

## Query parameters

- `profile_group_id` string

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `location_id` string, required: Placement ID — the location's full Google resource path
  - `fields` string[], required: Any of regularHours, specialHours, moreHours
  - `regularHours` object: Weekly schedule
  - `specialHours` object: Date-specific overrides (holidays)
  - `moreHours` object[]: Named hour sets, e.g. kitchen or pickup hours

## Response `200`

The updated location resource

- object: Google's own resource shape, camelCased keys, passed through unchanged

## Other responses

- `400`: Missing required parameters.
- `401`: Invalid, missing, or insufficient API key permissions.
- `403`: Google refused the operation for this account
- `404`: Resource does not exist or is not accessible.
- `422`: Validation failed.
- `429`: Posting rate limit reached.

---

[API](https://skmtc.dev/postproxy/apis/postproxy-social-media-api.md) - [All operations](https://skmtc.dev/postproxy/apis/postproxy-social-media-api/llms.txt) - [OpenAPI document](https://skmtc.dev/postproxy/apis/postproxy-social-media-api/revisions/d54482ac4ce7?raw)
