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: Company description: '' - 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/company: get: summary: Show operationId: show description: ' This endpoint will show details of the company that the api token is for.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: name: 'Martin Ltd' locations: [] properties: data: type: object properties: name: type: string example: 'Martin Ltd' locations: type: array example: [] 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: - Company /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: '30015939' name: 'Cook Ltd' googleRating: 4.2 preciseGoogleRating: 4.2285 reviewsCount: 74 site: powell.com address: "Flat 00\nKelly Valley\nSouth Ben\nNW2 2SH" 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: '68352073' name: 'Jones Ltd' googleRating: 3.7 preciseGoogleRating: 3.6587 reviewsCount: 92 site: turner.net address: "Studio 33h\nAlice Terrace\nWatsonstad\nGL14 2NW" 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' page: null active: false - url: '/?page=1' label: '1' page: 1 active: true - url: null label: 'Next »' page: null active: false path: / per_page: 15 to: 2 total: 2 properties: data: type: array example: - id: '30015939' name: 'Cook Ltd' googleRating: 4.2 preciseGoogleRating: 4.2285 reviewsCount: 74 site: powell.com address: "Flat 00\nKelly Valley\nSouth Ben\nNW2 2SH" 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: '68352073' name: 'Jones Ltd' googleRating: 3.7 preciseGoogleRating: 3.6587 reviewsCount: 92 site: turner.net address: "Studio 33h\nAlice Terrace\nWatsonstad\nGL14 2NW" 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: '30015939' name: type: string example: 'Cook Ltd' googleRating: type: number example: 4.2 preciseGoogleRating: type: number example: 4.2285 reviewsCount: type: integer example: 74 site: type: string example: powell.com address: type: string example: "Flat 00\nKelly Valley\nSouth Ben\nNW2 2SH" 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' page: null active: false - url: '/?page=1' label: '1' page: 1 active: true - url: null label: 'Next »' page: null active: false items: type: object properties: url: type: string example: null label: type: string example: '« Previous' page: type: string example: null 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: '30872681' name: 'Lloyd Ltd' googleRating: 4.5 preciseGoogleRating: 4.5259 reviewsCount: 100 site: brown.com address: "Studio 76\nHarley Turnpike\nCraigshire\nWD3 3LY" 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: '30872681' name: type: string example: 'Lloyd Ltd' googleRating: type: number example: 4.5 preciseGoogleRating: type: number example: 4.5259 reviewsCount: type: integer example: 100 site: type: string example: brown.com address: type: string example: "Studio 76\nHarley Turnpike\nCraigshire\nWD3 3LY" 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: 'Cox Ltd' profile: description: 'Qui adipisci vel excepturi provident distinctio laudantium. Voluptatem id quo quo maiores velit et. Iure ut quia voluptas veritatis ad.' phoneNumbers: primaryPhone: '0360 1064823' addititionalPhones: [] websiteUrl: anderson.biz storefrontAddress: postalCode: 'MK17 9QX' locality: Jamesberg addressLines: - "Studio 59\nBailey Lodge" - '' - '' - '' - '' 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: '2026-01-28T13:33:25.000000Z' notes: 'Et non minus maiores molestias est amet. Accusantium reprehenderit culpa dolorum laboriosam expedita est nemo. Veritatis recusandae ipsa ut amet.' validateOnly: false properties: data: type: object properties: id: type: string example: null payload: type: object properties: title: type: string example: 'Cox Ltd' profile: type: object properties: description: type: string example: 'Qui adipisci vel excepturi provident distinctio laudantium. Voluptatem id quo quo maiores velit et. Iure ut quia voluptas veritatis ad.' phoneNumbers: type: object properties: primaryPhone: type: string example: '0360 1064823' addititionalPhones: type: array example: [] websiteUrl: type: string example: anderson.biz storefrontAddress: type: object properties: postalCode: type: string example: 'MK17 9QX' locality: type: string example: Jamesberg addressLines: type: array example: - "Studio 59\nBailey Lodge" - '' - '' - '' - '' 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: '2026-01-28T13:33:25.000000Z' notes: type: string example: 'Et non minus maiores molestias est amet. Accusantium reprehenderit culpa dolorum laboriosam expedita est nemo. Veritatis recusandae ipsa ut amet.' 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 openTime: type: 'The time that the location opens. Must be in the format `H:i`. Must be before closeTime.' description: '' example: '09:00' closeTime: type: 'The time that the location closes. Must be in the format `H:i`. Must be after openTime.' description: '' example: '17:00' 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' openTime: type: 'The time that the location opens. Must be in the format `H:i`. Must be before closeTime.' description: '' example: '09:00' closeTime: type: 'The time that the location closes. Must be in the format `H:i`. Must be after openTime.' description: '' example: '17:00' 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' 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.' validateOnly: type: boolean description: 'Set to true if you want to validate the changes without actually making them. The default is false.' example: true 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: 'Wright Ltd' profile: description: 'Est rerum et corrupti voluptatem delectus. Sit numquam qui laboriosam et ullam natus. Rerum in sed autem et molestiae animi eum magni.' phoneNumbers: primaryPhone: '(00757) 129426' addititionalPhones: [] websiteUrl: walsh.com storefrontAddress: postalCode: 'CM22 6DR' locality: Benmouth addressLines: - '8 Ben Lakes' - '' - '' - '' - '' 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: '2026-01-05T13:33:25.000000Z' notes: 'Sint rem recusandae voluptatum. Non cupiditate maiores libero voluptatem. Autem consequatur repellat vel minus suscipit.' validateOnly: false properties: data: type: object properties: id: type: string example: null payload: type: object properties: title: type: string example: 'Wright Ltd' profile: type: object properties: description: type: string example: 'Est rerum et corrupti voluptatem delectus. Sit numquam qui laboriosam et ullam natus. Rerum in sed autem et molestiae animi eum magni.' phoneNumbers: type: object properties: primaryPhone: type: string example: '(00757) 129426' addititionalPhones: type: array example: [] websiteUrl: type: string example: walsh.com storefrontAddress: type: object properties: postalCode: type: string example: 'CM22 6DR' locality: type: string example: Benmouth addressLines: type: array example: - '8 Ben Lakes' - '' - '' - '' - '' 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: '2026-01-05T13:33:25.000000Z' notes: type: string example: 'Sint rem recusandae voluptatum. Non cupiditate maiores libero voluptatem. Autem consequatur repellat vel minus suscipit.' 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' 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: 'Clark Ltd' profile: description: 'Non facilis dolorum est quasi et dignissimos. Id repellat impedit est aut. Animi rerum atque sequi illo voluptatem cumque.' phoneNumbers: primaryPhone: '04188 70049' addititionalPhones: [] websiteUrl: marshall.com storefrontAddress: postalCode: 'PO8 0LJ' locality: 'New Evelynberg' addressLines: - '71 Freya Spurs' - '' - '' - '' - '' 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: '2026-01-18T13:33:25.000000Z' notes: 'Incidunt dolorum tempore velit. Quos rerum minus earum deserunt quis quibusdam. Distinctio numquam ratione nisi sint.' validateOnly: false properties: data: type: object properties: id: type: string example: null payload: type: object properties: title: type: string example: 'Clark Ltd' profile: type: object properties: description: type: string example: 'Non facilis dolorum est quasi et dignissimos. Id repellat impedit est aut. Animi rerum atque sequi illo voluptatem cumque.' phoneNumbers: type: object properties: primaryPhone: type: string example: '04188 70049' addititionalPhones: type: array example: [] websiteUrl: type: string example: marshall.com storefrontAddress: type: object properties: postalCode: type: string example: 'PO8 0LJ' locality: type: string example: 'New Evelynberg' addressLines: type: array example: - '71 Freya Spurs' - '' - '' - '' - '' 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: '2026-01-18T13:33:25.000000Z' notes: type: string example: 'Incidunt dolorum tempore velit. Quos rerum minus earum deserunt quis quibusdam. Distinctio numquam ratione nisi sint.' 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' content: text/plain: schema: type: string example: '' 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