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'
paths:
/api/locations/google:
get:
summary: 'List Google Locations.'
operationId: listGoogleLocations
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: '99424534'
name: 'Miller Ltd'
googleRating: 4.7
preciseGoogleRating: 4.7101
reviewsCount: 110
site: walker.net
address: "3 Khan Corner\nMitchellview\nTR15 1PH"
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: '50276212'
name: 'Lee Ltd'
googleRating: 4.2
preciseGoogleRating: 4.1793
reviewsCount: 89
site: jackson.net
address: "1 Anderson Valley\nWest Lilychester\nTW5 0XT"
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: '99424534'
name: 'Miller Ltd'
googleRating: 4.7
preciseGoogleRating: 4.7101
reviewsCount: 110
site: walker.net
address: "3 Khan Corner\nMitchellview\nTR15 1PH"
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: '50276212'
name: 'Lee Ltd'
googleRating: 4.2
preciseGoogleRating: 4.1793
reviewsCount: 89
site: jackson.net
address: "1 Anderson Valley\nWest Lilychester\nTW5 0XT"
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: '99424534'
name:
type: string
example: 'Miller Ltd'
googleRating:
type: number
example: 4.7
preciseGoogleRating:
type: number
example: 4.7101
reviewsCount:
type: integer
example: 110
site:
type: string
example: walker.net
address:
type: string
example: "3 Khan Corner\nMitchellview\nTR15 1PH"
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 Google Location.'
operationId: showGoogleLocation
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: '15287413'
name: 'Anderson Ltd'
googleRating: 3.8
preciseGoogleRating: 3.7561
reviewsCount: 160
site: moore.com
address: "Flat 09\nAllen Hills\nEast Emily\nHD9 6PH"
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: '15287413'
name:
type: string
example: 'Anderson Ltd'
googleRating:
type: number
example: 3.8
preciseGoogleRating:
type: number
example: 3.7561
reviewsCount:
type: integer
example: 160
site:
type: string
example: moore.com
address:
type: string
example: "Flat 09\nAllen Hills\nEast Emily\nHD9 6PH"
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 Google Location.'
operationId: updateGoogleLocation
description: ' This endpoint will update the specific Google location, based on Google ID. Currently, the Pulse API can only be used to update Regular and Special hours.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
payload:
title: 'Baker Ltd'
profile:
description: 'Id omnis explicabo suscipit totam alias libero numquam. Aut a in placeat. Dolorem odit temporibus aspernatur omnis.'
phoneNumbers:
primaryPhone: '+44(0)1694 037641'
addititionalPhones: []
websiteUrl: stewart.com
storefrontAddress:
postalCode: 'BH12 2EN'
locality: Robfort
addressLines:
- '6 Alexandra Plain'
- ''
- ''
- ''
- ''
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-03-08T02:56:27.000000Z'
properties:
data:
type: object
properties:
payload:
type: object
properties:
title:
type: string
example: 'Baker Ltd'
profile:
type: object
properties:
description:
type: string
example: 'Id omnis explicabo suscipit totam alias libero numquam. Aut a in placeat. Dolorem odit temporibus aspernatur omnis.'
phoneNumbers:
type: object
properties:
primaryPhone:
type: string
example: '+44(0)1694 037641'
addititionalPhones:
type: array
example: []
websiteUrl:
type: string
example: stewart.com
storefrontAddress:
type: object
properties:
postalCode:
type: string
example: 'BH12 2EN'
locality:
type: string
example: Robfort
addressLines:
type: array
example:
- '6 Alexandra Plain'
- ''
- ''
- ''
- ''
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-03-08T02:56:27.000000Z'
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: '10: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`.'
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: '10: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
alwaysOpen:
type: 'Whether the location is open 24 hours on this date. Must be `true` or `false`'
description: ''
example: true
nullable: false
required:
- date
applyChangesOn:
type: string
description: 'Must be a valid date in the format Y-m-d H:i:s
. Must be a date after now
.'
example: '2040-04-23'
nullable: false
required:
- applyChangesOn
parameters:
-
in: path
name: googleLocation_google_id
description: ''
example: 749845872867289688
required: true
schema:
type: 'The Google ID of the Location you want to show.'
tags:
-
name: 'Google Locations'
description: 'Endpoints for managing Google locations on Pulse'
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: []