openapi: 3.0.3 info: title: 'Pulse API Documentation' description: 'Welcome to the documentation for the Pulse API. Here you will be able to find all of our available resources and how to use them. To use our API, all endpoints require a token that can be created when you login to Pulse.' version: 1.0.0 servers: - url: 'https://pulsereviews.io' tags: - name: 'Google Locations' description: 'Endpoints for managing Google locations on Pulse' - name: Health description: '' components: securitySchemes: default: type: http scheme: bearer description: 'You can generate API tokens within Pulse when logged in. Click on your name in the bottom left, then click API Tokens, give your token a name and then click Save. Your token will only be shown that one time, so make sure to copy it there and then. Tokens can be revoked at any time.' security: - default: [] paths: /api/locations/google: get: summary: List operationId: list description: ' This endpoint will list all Google locations tied to the user.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: '89821448' name: 'Kelly Ltd' googleRating: 3.8 preciseGoogleRating: 3.7541 reviewsCount: 67 site: wood.info address: "62 Stefan Mews\nHugheshaven\nCO1 1QR" regularHours: MONDAY: open: '8:00' close: '17:00' TUESDAY: open: '8:00' close: '17:00' WEDNESDAY: open: '8:00' close: '21:00' THURSDAY: open: '8:00' close: '21:00' FRIDAY: open: '8:00' close: '21:00' SATURDAY: open: '8:00' close: '17:00' SUNDAY: open: '10:00' close: '16:00' specialHours: '2024-12-25': status: closed open: null close: null '2024-12-24': status: open open: '10:00' close: '15:00' - id: '92565971' name: 'Patel Ltd' googleRating: 4.4 preciseGoogleRating: 4.3813 reviewsCount: 132 site: wilson.com address: "71 Francesca Hill\nWalshshire\nNW6 9FA" regularHours: MONDAY: open: '8:00' close: '17:00' TUESDAY: open: '8:00' close: '17:00' WEDNESDAY: open: '8:00' close: '21:00' THURSDAY: open: '8:00' close: '21:00' FRIDAY: open: '8:00' close: '21:00' SATURDAY: open: '8:00' close: '17:00' SUNDAY: open: '10:00' close: '16:00' specialHours: '2024-12-25': status: closed open: null close: null '2024-12-24': status: open open: '10:00' close: '15:00' links: first: '/?page=1' last: '/?page=1' prev: null next: null meta: current_page: 1 from: 1 last_page: 1 links: - url: null label: '« Previous' active: false - url: '/?page=1' label: '1' active: true - url: null label: 'Next »' active: false path: / per_page: 15 to: 2 total: 2 properties: data: type: array example: - id: '89821448' name: 'Kelly Ltd' googleRating: 3.8 preciseGoogleRating: 3.7541 reviewsCount: 67 site: wood.info address: "62 Stefan Mews\nHugheshaven\nCO1 1QR" regularHours: MONDAY: open: '8:00' close: '17:00' TUESDAY: open: '8:00' close: '17:00' WEDNESDAY: open: '8:00' close: '21:00' THURSDAY: open: '8:00' close: '21:00' FRIDAY: open: '8:00' close: '21:00' SATURDAY: open: '8:00' close: '17:00' SUNDAY: open: '10:00' close: '16:00' specialHours: '2024-12-25': status: closed open: null close: null '2024-12-24': status: open open: '10:00' close: '15:00' - id: '92565971' name: 'Patel Ltd' googleRating: 4.4 preciseGoogleRating: 4.3813 reviewsCount: 132 site: wilson.com address: "71 Francesca Hill\nWalshshire\nNW6 9FA" regularHours: MONDAY: open: '8:00' close: '17:00' TUESDAY: open: '8:00' close: '17:00' WEDNESDAY: open: '8:00' close: '21:00' THURSDAY: open: '8:00' close: '21:00' FRIDAY: open: '8:00' close: '21:00' SATURDAY: open: '8:00' close: '17:00' SUNDAY: open: '10:00' close: '16:00' specialHours: '2024-12-25': status: closed open: null close: null '2024-12-24': status: open open: '10:00' close: '15:00' items: type: object properties: id: type: string example: '89821448' name: type: string example: 'Kelly Ltd' googleRating: type: number example: 3.8 preciseGoogleRating: type: number example: 3.7541 reviewsCount: type: integer example: 67 site: type: string example: wood.info address: type: string example: "62 Stefan Mews\nHugheshaven\nCO1 1QR" regularHours: type: object properties: MONDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '17:00' TUESDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '17:00' WEDNESDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '21:00' THURSDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '21:00' FRIDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '21:00' SATURDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '17:00' SUNDAY: type: object properties: open: type: string example: '10:00' close: type: string example: '16:00' specialHours: type: object properties: '2024-12-25': type: object properties: status: type: string example: closed open: type: string example: null close: type: string example: null '2024-12-24': type: object properties: status: type: string example: open open: type: string example: '10:00' close: type: string example: '15:00' links: type: object properties: first: type: string example: '/?page=1' last: type: string example: '/?page=1' prev: type: string example: null next: type: string example: null meta: type: object properties: current_page: type: integer example: 1 from: type: integer example: 1 last_page: type: integer example: 1 links: type: array example: - url: null label: '« Previous' active: false - url: '/?page=1' label: '1' active: true - url: null label: 'Next »' active: false items: type: object properties: url: type: string example: null label: type: string example: '« Previous' active: type: boolean example: false path: type: string example: / per_page: type: integer example: 15 to: type: integer example: 2 total: type: integer example: 2 401: description: Unauthorized content: application/json: schema: type: object example: message: Unauthenticated properties: message: type: string example: Unauthenticated tags: - 'Google Locations' '/api/locations/google/{googleLocation_google_id}': get: summary: Show operationId: show description: ' This endpoint will show a specific Google location, based on Google ID.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: '71820267' name: 'Mitchell Ltd' googleRating: 3.6 preciseGoogleRating: 3.5614 reviewsCount: 71 site: lee.com address: "6 Lewis Well\nJuliehaven\nFK8 1LD" regularHours: MONDAY: open: '8:00' close: '17:00' TUESDAY: open: '8:00' close: '17:00' WEDNESDAY: open: '8:00' close: '21:00' THURSDAY: open: '8:00' close: '21:00' FRIDAY: open: '8:00' close: '21:00' SATURDAY: open: '8:00' close: '17:00' SUNDAY: open: '10:00' close: '16:00' specialHours: '2024-12-25': status: closed open: null close: null '2024-12-24': status: open open: '10:00' close: '15:00' properties: data: type: object properties: id: type: string example: '71820267' name: type: string example: 'Mitchell Ltd' googleRating: type: number example: 3.6 preciseGoogleRating: type: number example: 3.5614 reviewsCount: type: integer example: 71 site: type: string example: lee.com address: type: string example: "6 Lewis Well\nJuliehaven\nFK8 1LD" regularHours: type: object properties: MONDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '17:00' TUESDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '17:00' WEDNESDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '21:00' THURSDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '21:00' FRIDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '21:00' SATURDAY: type: object properties: open: type: string example: '8:00' close: type: string example: '17:00' SUNDAY: type: object properties: open: type: string example: '10:00' close: type: string example: '16:00' specialHours: type: object properties: '2024-12-25': type: object properties: status: type: string example: closed open: type: string example: null close: type: string example: null '2024-12-24': type: object properties: status: type: string example: open open: type: string example: '10:00' close: type: string example: '15:00' 401: description: Unauthorized content: application/json: schema: type: object example: message: Unauthenticated properties: message: type: string example: Unauthenticated 403: description: Forbidden content: application/json: schema: type: object example: message: 'This action is unauthorized.' properties: message: type: string example: 'This action is unauthorized.' tags: - 'Google Locations' patch: summary: Update operationId: update description: " This endpoint can be used to update a Google location. Currently, the Pulse API can only be\n used to update Regular and Special hours. This endpoint is subject to Google rate limits so make sure you allow\n for plenty of time for the update to complete." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: null payload: title: 'Mitchell Ltd' profile: description: 'Ipsam magni eveniet qui ad quibusdam rerum sunt similique. Eius animi reprehenderit officiis necessitatibus. Tempora atque aspernatur est quaerat ea.' phoneNumbers: primaryPhone: '(0838) 0720555' addititionalPhones: [] websiteUrl: davies.com storefrontAddress: postalCode: 'HU8 8SH' locality: 'North Justinefurt' addressLines: - "Studio 93\nCollins Camp" - '' - '' - '' - '' regionCode: GB regularHours: periods: - openDay: MONDAY closeDay: MONDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: TUESDAY closeDay: TUESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: WEDNESDAY closeDay: WEDNESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: THURSDAY closeDay: THURSDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: FRIDAY closeDay: FRIDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 specialHours: specialHourPeriods: - closed: true endDate: year: 2024 month: 12 day: 25 openTime: hours: null minutes: null closeTime: hours: null minutes: null startDate: year: 2024 month: 12 day: 25 - closed: false endDate: year: 2024 month: 12 day: 24 openTime: hours: 10 minutes: 0 closeTime: hours: 15 minutes: 0 startDate: year: 2024 month: 12 day: 24 process_at: '2025-08-04T09:58:44.000000Z' notes: 'Est porro et ut provident a vero excepturi. Corrupti porro ut assumenda aliquam et odio voluptates. Exercitationem nihil sapiente eius officia eius et.' validateOnly: false properties: data: type: object properties: id: type: string example: null payload: type: object properties: title: type: string example: 'Mitchell Ltd' profile: type: object properties: description: type: string example: 'Ipsam magni eveniet qui ad quibusdam rerum sunt similique. Eius animi reprehenderit officiis necessitatibus. Tempora atque aspernatur est quaerat ea.' phoneNumbers: type: object properties: primaryPhone: type: string example: '(0838) 0720555' addititionalPhones: type: array example: [] websiteUrl: type: string example: davies.com storefrontAddress: type: object properties: postalCode: type: string example: 'HU8 8SH' locality: type: string example: 'North Justinefurt' addressLines: type: array example: - "Studio 93\nCollins Camp" - '' - '' - '' - '' items: type: string regionCode: type: string example: GB regularHours: type: object properties: periods: type: array example: - openDay: MONDAY closeDay: MONDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: TUESDAY closeDay: TUESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: WEDNESDAY closeDay: WEDNESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: THURSDAY closeDay: THURSDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: FRIDAY closeDay: FRIDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 items: type: object properties: openDay: type: string example: MONDAY closeDay: type: string example: MONDAY openTime: type: object properties: { hours: { type: integer, example: 8 }, minutes: { type: integer, example: 0 } } closeTime: type: object properties: { hours: { type: integer, example: 18 }, minutes: { type: integer, example: 0 } } specialHours: type: object properties: specialHourPeriods: type: array example: - closed: true endDate: year: 2024 month: 12 day: 25 openTime: hours: null minutes: null closeTime: hours: null minutes: null startDate: year: 2024 month: 12 day: 25 - closed: false endDate: year: 2024 month: 12 day: 24 openTime: hours: 10 minutes: 0 closeTime: hours: 15 minutes: 0 startDate: year: 2024 month: 12 day: 24 items: type: object properties: closed: type: boolean example: true endDate: type: object properties: { year: { type: integer, example: 2024 }, month: { type: integer, example: 12 }, day: { type: integer, example: 25 } } openTime: type: object properties: { hours: { type: string, example: null }, minutes: { type: string, example: null } } closeTime: type: object properties: { hours: { type: string, example: null }, minutes: { type: string, example: null } } startDate: type: object properties: { year: { type: integer, example: 2024 }, month: { type: integer, example: 12 }, day: { type: integer, example: 25 } } process_at: type: string example: '2025-08-04T09:58:44.000000Z' notes: type: string example: 'Est porro et ut provident a vero excepturi. Corrupti porro ut assumenda aliquam et odio voluptates. Exercitationem nihil sapiente eius officia eius et.' validateOnly: type: boolean example: false 401: description: Unauthorized content: application/json: schema: type: object example: message: Unauthenticated properties: message: type: string example: Unauthenticated 403: description: Forbidden content: application/json: schema: type: object example: message: 'This action is unauthorized.' properties: message: type: string example: 'This action is unauthorized.' tags: - 'Google Locations' requestBody: required: true content: application/json: schema: type: object properties: regularHours: type: array description: '' example: null items: type: object properties: day: type: 'The day of the week these hours apply to. Must be a valid day of the week. If a day is closed, do not send it in the payload.' description: '' example: Monday nullable: false openTime: type: 'The time that the location opens. Must be in the format `H:i`. Must be before closeTime.' description: '' example: '09:00' nullable: false closeTime: type: 'The time that the location closes. Must be in the format `H:i`. Must be after openTime.' description: '' example: '17:00' nullable: false required: - day specialHours: type: array description: '' example: null items: type: object properties: date: type: 'The date that the special hours apply to. Must be in the format `Y-m-D`. If a day is closed, only send the date.' description: '' example: '2024-12-24' nullable: false openTime: type: 'The time that the location opens. Must be in the format `H:i`. Must be before closeTime.' description: '' example: '09:00' nullable: false closeTime: type: 'The time that the location closes. Must be in the format `H:i`. Must be after openTime.' description: '' example: '17:00' nullable: false required: - date applyChangesOn: type: string description: 'The date and time you wish to schedule these changes for. Can be any date and time after now.' example: '2030-05-01 23:00:00' nullable: false notes: type: string description: 'Additional notes for the update you are making. Must be 255 characters or less.' example: 'Changes Wednesday to open at 10am and close at 4pm.' nullable: false validateOnly: type: boolean description: 'Set to true if you want to validate the changes without actually making them. The default is false.' example: true nullable: false required: - applyChangesOn - notes parameters: - in: path name: googleLocation_google_id description: '' example: 749845872867289688 required: true schema: type: 'The Google ID of the Location you want to show.' '/api/locations/google/{googleLocation_google_id}/updates': get: summary: 'List Updates' operationId: listUpdates description: ' This endpoint will list all updates for the specified Google location.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: null payload: title: 'Murphy Ltd' profile: description: 'Et est corporis assumenda earum error debitis. Voluptatibus laborum expedita praesentium eum pariatur molestiae ducimus. Qui ut corrupti rerum quibusdam.' phoneNumbers: primaryPhone: '(0187) 2245745' addititionalPhones: [] websiteUrl: williams.com storefrontAddress: postalCode: 'SL7 3PB' locality: 'Lake Jeremyton' addressLines: - '25 Martin Pike' - '' - '' - '' - '' regionCode: GB regularHours: periods: - openDay: MONDAY closeDay: MONDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: TUESDAY closeDay: TUESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: WEDNESDAY closeDay: WEDNESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: THURSDAY closeDay: THURSDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: FRIDAY closeDay: FRIDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 specialHours: specialHourPeriods: - closed: true endDate: year: 2024 month: 12 day: 25 openTime: hours: null minutes: null closeTime: hours: null minutes: null startDate: year: 2024 month: 12 day: 25 - closed: false endDate: year: 2024 month: 12 day: 24 openTime: hours: 10 minutes: 0 closeTime: hours: 15 minutes: 0 startDate: year: 2024 month: 12 day: 24 process_at: '2025-07-11T09:58:44.000000Z' notes: 'Magnam esse aperiam minima tempora dignissimos. Deleniti reprehenderit nihil totam ea sint nam excepturi. Impedit corporis velit asperiores repellendus sint quo aut rem.' validateOnly: true properties: data: type: object properties: id: type: string example: null payload: type: object properties: title: type: string example: 'Murphy Ltd' profile: type: object properties: description: type: string example: 'Et est corporis assumenda earum error debitis. Voluptatibus laborum expedita praesentium eum pariatur molestiae ducimus. Qui ut corrupti rerum quibusdam.' phoneNumbers: type: object properties: primaryPhone: type: string example: '(0187) 2245745' addititionalPhones: type: array example: [] websiteUrl: type: string example: williams.com storefrontAddress: type: object properties: postalCode: type: string example: 'SL7 3PB' locality: type: string example: 'Lake Jeremyton' addressLines: type: array example: - '25 Martin Pike' - '' - '' - '' - '' items: type: string regionCode: type: string example: GB regularHours: type: object properties: periods: type: array example: - openDay: MONDAY closeDay: MONDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: TUESDAY closeDay: TUESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: WEDNESDAY closeDay: WEDNESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: THURSDAY closeDay: THURSDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: FRIDAY closeDay: FRIDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 items: type: object properties: openDay: type: string example: MONDAY closeDay: type: string example: MONDAY openTime: type: object properties: { hours: { type: integer, example: 8 }, minutes: { type: integer, example: 0 } } closeTime: type: object properties: { hours: { type: integer, example: 18 }, minutes: { type: integer, example: 0 } } specialHours: type: object properties: specialHourPeriods: type: array example: - closed: true endDate: year: 2024 month: 12 day: 25 openTime: hours: null minutes: null closeTime: hours: null minutes: null startDate: year: 2024 month: 12 day: 25 - closed: false endDate: year: 2024 month: 12 day: 24 openTime: hours: 10 minutes: 0 closeTime: hours: 15 minutes: 0 startDate: year: 2024 month: 12 day: 24 items: type: object properties: closed: type: boolean example: true endDate: type: object properties: { year: { type: integer, example: 2024 }, month: { type: integer, example: 12 }, day: { type: integer, example: 25 } } openTime: type: object properties: { hours: { type: string, example: null }, minutes: { type: string, example: null } } closeTime: type: object properties: { hours: { type: string, example: null }, minutes: { type: string, example: null } } startDate: type: object properties: { year: { type: integer, example: 2024 }, month: { type: integer, example: 12 }, day: { type: integer, example: 25 } } process_at: type: string example: '2025-07-11T09:58:44.000000Z' notes: type: string example: 'Magnam esse aperiam minima tempora dignissimos. Deleniti reprehenderit nihil totam ea sint nam excepturi. Impedit corporis velit asperiores repellendus sint quo aut rem.' validateOnly: type: boolean example: true 401: description: Unauthorized content: application/json: schema: type: object example: message: Unauthenticated properties: message: type: string example: Unauthenticated tags: - 'Google Locations' parameters: - in: path name: googleLocation_google_id description: '' example: 749845872867289688 required: true schema: type: 'The Google ID of the location you want to list updates for' '/api/locations/google/{googleLocation_google_id}/updates/{pendingGoogleLocationUpdate_id}': get: summary: 'Show Update' operationId: showUpdate description: ' This endpoint will show a specific update for the specified Google location.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: null payload: title: 'Hill Ltd' profile: description: 'Dolores voluptas qui ratione. Modi doloribus necessitatibus quidem sed aut quia. Atque nemo corporis dolorem vitae amet.' phoneNumbers: primaryPhone: '+44(0)8750 745571' addititionalPhones: [] websiteUrl: hall.com storefrontAddress: postalCode: 'PL7 4AJ' locality: Mooreshire addressLines: - "Flat 91k\nMartin Estates" - '' - '' - '' - '' regionCode: GB regularHours: periods: - openDay: MONDAY closeDay: MONDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: TUESDAY closeDay: TUESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: WEDNESDAY closeDay: WEDNESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: THURSDAY closeDay: THURSDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: FRIDAY closeDay: FRIDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 specialHours: specialHourPeriods: - closed: true endDate: year: 2024 month: 12 day: 25 openTime: hours: null minutes: null closeTime: hours: null minutes: null startDate: year: 2024 month: 12 day: 25 - closed: false endDate: year: 2024 month: 12 day: 24 openTime: hours: 10 minutes: 0 closeTime: hours: 15 minutes: 0 startDate: year: 2024 month: 12 day: 24 process_at: '2025-08-05T09:58:44.000000Z' notes: 'Et unde est nostrum et distinctio. Eos aut aut sit et totam. Omnis temporibus quam non enim voluptates ex.' validateOnly: false properties: data: type: object properties: id: type: string example: null payload: type: object properties: title: type: string example: 'Hill Ltd' profile: type: object properties: description: type: string example: 'Dolores voluptas qui ratione. Modi doloribus necessitatibus quidem sed aut quia. Atque nemo corporis dolorem vitae amet.' phoneNumbers: type: object properties: primaryPhone: type: string example: '+44(0)8750 745571' addititionalPhones: type: array example: [] websiteUrl: type: string example: hall.com storefrontAddress: type: object properties: postalCode: type: string example: 'PL7 4AJ' locality: type: string example: Mooreshire addressLines: type: array example: - "Flat 91k\nMartin Estates" - '' - '' - '' - '' items: type: string regionCode: type: string example: GB regularHours: type: object properties: periods: type: array example: - openDay: MONDAY closeDay: MONDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: TUESDAY closeDay: TUESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: WEDNESDAY closeDay: WEDNESDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: THURSDAY closeDay: THURSDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 - openDay: FRIDAY closeDay: FRIDAY openTime: hours: 8 minutes: 0 closeTime: hours: 18 minutes: 0 items: type: object properties: openDay: type: string example: MONDAY closeDay: type: string example: MONDAY openTime: type: object properties: { hours: { type: integer, example: 8 }, minutes: { type: integer, example: 0 } } closeTime: type: object properties: { hours: { type: integer, example: 18 }, minutes: { type: integer, example: 0 } } specialHours: type: object properties: specialHourPeriods: type: array example: - closed: true endDate: year: 2024 month: 12 day: 25 openTime: hours: null minutes: null closeTime: hours: null minutes: null startDate: year: 2024 month: 12 day: 25 - closed: false endDate: year: 2024 month: 12 day: 24 openTime: hours: 10 minutes: 0 closeTime: hours: 15 minutes: 0 startDate: year: 2024 month: 12 day: 24 items: type: object properties: closed: type: boolean example: true endDate: type: object properties: { year: { type: integer, example: 2024 }, month: { type: integer, example: 12 }, day: { type: integer, example: 25 } } openTime: type: object properties: { hours: { type: string, example: null }, minutes: { type: string, example: null } } closeTime: type: object properties: { hours: { type: string, example: null }, minutes: { type: string, example: null } } startDate: type: object properties: { year: { type: integer, example: 2024 }, month: { type: integer, example: 12 }, day: { type: integer, example: 25 } } process_at: type: string example: '2025-08-05T09:58:44.000000Z' notes: type: string example: 'Et unde est nostrum et distinctio. Eos aut aut sit et totam. Omnis temporibus quam non enim voluptates ex.' validateOnly: type: boolean example: false 401: description: Unauthorized content: application/json: schema: type: object example: message: Unauthenticated properties: message: type: string example: Unauthenticated tags: - 'Google Locations' delete: summary: 'Delete Update' operationId: deleteUpdate description: ' This endpoint will delete a specific update for the specified Google location.' parameters: [] responses: 204: description: 'No Content' 401: description: Unauthorized content: application/json: schema: type: object example: message: Unauthenticated properties: message: type: string example: Unauthenticated tags: - 'Google Locations' parameters: - in: path name: googleLocation_google_id description: '' example: 749845872867289688 required: true schema: type: 'The Google ID of the location attached to the update you want to show.' - in: path name: pendingGoogleLocationUpdate_id description: '' example: 23 required: true schema: type: 'The ID of the update you want to show.' /api/health: get: summary: Check operationId: check description: ' This endpoint will allow you to quickly check that you can authenticate to the API.' parameters: [] responses: 200: description: OK content: application/json: schema: type: object example: status: ok properties: status: type: string example: ok 401: description: Unauthorized content: application/json: schema: type: object example: message: Unauthenticated properties: message: type: string example: Unauthenticated tags: - Health