---
title: "Notify about store hours configuration change"
method: POST
path: "/v1/storefront/hours"
tags: ["storefront_endpoints"]
---

# Notify about store hours configuration change

`POST /v1/storefront/hours`

## Request

- Base URL: `https://partners.tryotter.com`
- URL: `https://partners.tryotter.com/v1/storefront/hours`
- Auth: OAuth 2
  - Authorization code: `/v1/auth/oauth2/authorize`
  - Client credentials
  - Token URL: `/v1/auth/token` scopes: `storefront.store_hours_configuration`
- TypeScript: <https://skmtc.dev/cloudkitchens/apis/otter-api/docs/v1/storefront/hours/post.ts> (a function with typed inputs; its response is checked against the schema)

Rate limit: 16 requests per minute.

## Headers

- `X-Store-Id` string, required: The unique identifier of the store in your app. This ID, along with the `Application ID`, will be used to match the correct store when performing operations. It cannot be longer than 255 characters and must only contain printable ASCII characters. During on-boarding, this ID will be similar to `onboarding:905bb725-b141-4a9b-832a-1f254f772c94` (where the UUID is the Internal Store ID). During off-boarding, this field will be filled with the last known Store ID, or with an empty string, in case none is found. In that case, please fall back to the provided `internalStoreId` (a.k.a. Sku-Sku ID).
- `X-Event-Id` string: Optional unique identifier of the event that this callback refers to.

## Request body

- StoreHoursConfigurationEventResult: The current store hours configuration.
  - `storeHoursConfiguration` StoreHoursConfiguration: The current store hours configuration of a store.
    - `deliveryHours` StoreHours, nullable: Represents store hours configuration with regular hours and special hours.
      - `regularHours` StorefrontRegularHours[]: List of regular hours configuration.
        - `dayOfWeek` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required: Day of the week.
        - `timeRanges` StorefrontTimeRange[], required: Hours range applied to the provided day of the week
          - `startTime` string: Start time of the range in 24 hour format.
          - `endTime` string: End time of the range in 24 hour format.
      - `specialHours` StorefrontSpecialHours[], nullable: List of special hours configuration.
        - `date` string, date, required: Date the special hour configuration applies.
        - `timeRanges` StorefrontTimeRange[], required: Hours range applied to configured date.
          - `startTime` string: Start time of the range in 24 hour format.
          - `endTime` string: End time of the range in 24 hour format.
        - `specialHourType` 'OPEN' | 'CLOSED', required: Store state that should be applied during the configured special hour.
    - `pickupHours` StoreHours, nullable: Represents store hours configuration with regular hours and special hours.
      - `regularHours` StorefrontRegularHours[]: List of regular hours configuration.
        - `dayOfWeek` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required: Day of the week.
        - `timeRanges` StorefrontTimeRange[], required: Hours range applied to the provided day of the week
          - `startTime` string: Start time of the range in 24 hour format.
          - `endTime` string: End time of the range in 24 hour format.
      - `specialHours` StorefrontSpecialHours[], nullable: List of special hours configuration.
        - `date` string, date, required: Date the special hour configuration applies.
        - `timeRanges` StorefrontTimeRange[], required: Hours range applied to configured date.
          - `startTime` string: Start time of the range in 24 hour format.
          - `endTime` string: End time of the range in 24 hour format.
        - `specialHourType` 'OPEN' | 'CLOSED', required: Store state that should be applied during the configured special hour.
    - `timezone` string, required: The store time zone identifier. (e.g. America/New_York)
  - `statusChangedAt` string, date-time: The time when the store hours configuration changed.
  - `eventResultMetadata` EventResultMetadata, nullable: Information about the result of a storefront event.
    - `operationStatus` 'SUCCEEDED' | 'INTERNAL_ERROR' | 'AUTHENTICATION_FAILURE' | 'AUTHORIZATION_FAILURE' | 'UNKNOWN_FAILURE' | 'INVALID_STORE_STATE' | 'INVALID_STORE_CONFIGURATION' | 'OPERATION_NOT_SUPPORTED' | 'IGNORED_ALREADY_IN_REQUESTED_STATE' | 'INVALID_REQUEST': Status of the operation requested by an event.
    - `additionalInformation` string, nullable: Additional details about the event result, if available.
    - `operationFinishedAt` string, date-time: Time when the processing of the event finished.

## Response `204`

The store hours configuration change was successfully processed.

## Other responses

- `400`: The request is malformed.
- `401`: Invalid authorization.
- `403`: Authorization not valid for the requested resource.
- `404`: Resource not found.
- `422`: The request body is not valid.

---

[API](https://skmtc.dev/cloudkitchens/apis/otter-api.md) - [All operations](https://skmtc.dev/cloudkitchens/apis/otter-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cloudkitchens/apis/otter-api/revisions/4c868194a467?raw)
