Reelables Spaces API
The Spaces API from Reelables — 1 operation(s) for spaces.
The Spaces API from Reelables — 1 operation(s) for spaces.
openapi: 3.0.1
info:
title: Reelables Gateway Asset Facilities Spaces API
description: RESTful API for partners to send data to the Reelables platform from Gateway devices
contact:
email: team@reelables.com
version: 1.1.1
servers:
- url: https://api.reelables.com/{basePath}
variables:
basePath:
default: gateway
description: The production URL for sending requests to the Reelables Gateway API.
tags:
- name: Spaces
paths:
/spaces/{spaceId}:
get:
tags:
- Spaces
summary: Get a Space
parameters:
- name: spaceId
in: path
description: The identifier of the Space
required: true
schema:
type: string
- name: request-id
in: header
description: 'Unique identifier for the API request. Example: f7ecf495-ca1c-4468-a6c2-6ee3f723fa00'
schema:
type: string
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Space not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- AuthEndpoint:
- https://auth.reelables.com/full-access
put:
tags:
- Spaces
summary: Update a Space
parameters:
- name: spaceId
in: path
description: The identifier of the Space
required: true
schema:
type: string
- name: request-id
in: header
description: 'Unique identifier for the API request. Example: f7ecf495-ca1c-4468-a6c2-6ee3f723fa00'
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceInput'
required: true
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Space not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- AuthEndpoint:
- https://auth.reelables.com/full-access
delete:
tags:
- Spaces
summary: Delete a Space
parameters:
- name: spaceId
in: path
description: The identifier of the Space
required: true
schema:
type: string
- name: request-id
in: header
description: 'Unique identifier for the API request. Example: f7ecf495-ca1c-4468-a6c2-6ee3f723fa00'
schema:
type: string
responses:
'204':
description: 204 response
content: {}
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Space not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- AuthEndpoint:
- https://auth.reelables.com/full-access
components:
schemas:
Space:
required:
- id
- name
- workspaceId
type: object
properties:
numberAssetsInSpace:
maximum: 1000000
minimum: 0
type: integer
description: The total number of Assets currently in the Space
format: int32
facilityId:
maxLength: 36
pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
type: string
description: 'Unique identifier of the Facility. Example: ''d290f1ee-6c54-4b01-90e6-d701748f0851'''
format: uuid
name:
maxLength: 500
pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/" ]*$
type: string
description: The name of the Space
locations:
required:
- items
type: object
properties:
nextToken:
maxLength: 5000
pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/"]*$
type: string
description: Pagination token
items:
maxItems: 10000
type: array
items:
$ref: '#/components/schemas/Location'
additionalProperties: false
id:
maxLength: 20
pattern: ^[-_A-Za-z0-9]*$
type: string
description: 'Unique identifier of the Space. Example: ''00Es43YBJfNRXNSvLmni'''
createdOn:
maxLength: 20
pattern: ^[0-9TZ:-]*$
type: string
description: 'Date that the Space was created, in UTC. Example: ''2019-07-21T17:32:28Z'''
format: date-time
gateway:
$ref: '#/components/schemas/SpaceGateway'
workspaceId:
maxLength: 36
pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
type: string
description: 'Unique identifier of the workspace. Example: ''d290f1ee-6c54-4b01-90e6-d701748f0851'''
format: uuid
additionalProperties: false
SpaceGateway:
required:
- addedOn
- gatewayId
type: object
properties:
shortId:
maxLength: 10
pattern: ^[-_A-Za-z0-9]*$
type: string
description: 'Short human-readable Gateway identifier. Example: ''AB1D'''
isStatic:
type: boolean
description: Indicate whether the Gateway is statically located. If so, then longitude and latitude are required.
latitude:
maximum: 90
minimum: -90
type: number
description: 'Latitude value of the coordinate. Example: 51.123'
format: float
hasPendingCommands:
type: boolean
description: Indicate whether there are pending commands for the Gateway
rssiFilter:
description: The RSSI filter value for the Gateway BLE receiver (setting RSSI Filter via the API is only currently supported for Particle Gateways)
oneOf:
- type: string
enum:
- FAR
- NEAR
- VERY_NEAR
- maximum: 0
minimum: -127
type: integer
format: int32
deviceId:
maxLength: 100
pattern: ^[-_A-Za-z0-9]*$
type: string
description: 'Manufacturer identifier for the Gateway device. Example: ''e10fce301222e588e1d7482b'''
gatewayId:
maxLength: 100
pattern: ^[-_A-Za-z0-9]*$
type: string
description: 'Gateway identifier, which is a combination of manufacturer and deviceId. Example: ''sysLoco_e10fce301222e588e1d7482b'''
productName:
maxLength: 100
pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/" ]*$
type: string
description: 'Name of Gateway product. Example: ''HGD4'''
addedOn:
maxLength: 20
pattern: ^[0-9TZ:-]*$
type: string
description: 'ISO Timestamp of when the Gateway was linked, in UTC. Example: ''2023-07-21T17:32:28Z'''
format: date-time
manufacturer:
maxLength: 100
pattern: ^[-_A-Za-z0-9]*$
type: string
description: 'Gateway manufacturer. Example: ''sysLoco'''
longitude:
maximum: 180
minimum: -180
type: number
description: 'Longitude value of the coordinate. Example: -0.123'
format: float
additionalProperties: false
Address:
type: object
properties:
country:
maxLength: 255
type: string
description: The country name. Example 'United Kingdom'
road:
maxLength: 255
type: string
description: The road name. Example 'Downing Street'
city:
maxLength: 255
type: string
description: The city name. Example 'London'
district:
maxLength: 255
type: string
description: The district name. Example 'Westminster'
postalCode:
maxLength: 10
type: string
description: The postal code. Example 'SW1A 2AA'
county:
maxLength: 255
type: string
description: The county name. Example 'Greater London'
state:
maxLength: 255
type: string
description: The state name. Example 'England'
additionalProperties: false
SpaceInput:
required:
- name
type: object
properties:
name:
maxLength: 500
pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/" ]*$
type: string
description: The name of the Space
additionalProperties: false
Location:
required:
- coordinate
- timestamp
type: object
properties:
lastSeenTimestamp:
maxLength: 20
pattern: ^[0-9TZ:-]*$
type: string
description: 'Timestamp last seen at the location. Example: ''2019-07-21T17:32:28Z'''
format: date-time
coordinate:
$ref: '#/components/schemas/Coordinate'
address:
$ref: '#/components/schemas/Address'
error:
maximum: 1000000
minimum: 0
type: integer
description: The horrizontal error in metres [Deprecated - use coordinate.accuracy instead]
format: int32
timestamp:
maxLength: 20
pattern: ^[0-9TZ:-]*$
type: string
description: 'Timestamp of the location. Example: ''2019-07-21T17:32:28Z'''
format: date-time
additionalProperties: false
Coordinate:
required:
- latitude
- longitude
type: object
properties:
latitude:
maximum: 90
minimum: -90
type: number
description: 'Latitude value of the coordinate. Example: 51.123'
format: float
accuracy:
maximum: 1000000
minimum: 0
type: integer
description: The horrizontal accuracy in metres
format: int32
longitude:
maximum: 180
minimum: -180
type: number
description: 'Longitude value of the coordinate. Example: -0.123'
format: float
additionalProperties: false
ErrorResponse:
required:
- errors
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
maxLength: 100
pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/"]*$
type: string
description: An application-specific error code, expressed as a string value
id:
maxLength: 100
pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/"]*$
type: string
description: A unique identifier for this particular occurrence of the problem
detail:
maxLength: 500
pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/" ]*$
type: string
description: A human-readable explanation specific to this occurrence of the problem
title:
maxLength: 100
pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/" ]*$
type: string
description: A short, human-readable summary of the problem
status:
maxLength: 3
pattern: ^[0-9]*$
type: string
description: The HTTP status code applicable to this problem, expressed as a string value
additionalProperties: false
additionalProperties: false
description: This is an error
securitySchemes:
api_key:
type: apiKey
name: x-api-key
in: header