openapi: 3.0.3
info:
title: 'The Orbit4 API'
description: ''
version: 1.0.0
servers:
-
url: 'https://api.orbit4.org'
paths:
/v1/assets:
get:
summary: 'Search for assets.'
operationId: searchForAssets
description: "This endpoint allows you to search for assets within the specified gym operator account. You can filter the\nresults by club specifying the user_id and other optional parameters."
parameters:
-
in: query
name: user_id
description: 'The ID of the gym operator the assets belong to. If not provided, assets from all linked gym operators will be returned.'
example: 2.0
required: false
schema:
type: integer
description: 'The ID of the gym operator the assets belong to. If not provided, assets from all linked gym operators will be returned.'
example: 2.0
nullable: false
-
in: query
name: search
description: 'Search for assets by qr_code, brand, range, or product name.'
example: null
required: false
schema:
type: string
description: 'Search for assets by qr_code, brand, range, or product name.'
example: null
nullable: false
-
in: query
name: qr_code
description: 'Filter assets by qr code.'
example: null
required: false
schema:
type: string
description: 'Filter assets by qr code.'
example: null
nullable: false
-
in: query
name: serial_number
description: 'Filter assets by serial number.'
example: null
required: false
schema:
type: string
description: 'Filter assets by serial number.'
example: null
nullable: false
-
in: query
name: metadata
description: 'Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.'
example: null
required: false
schema:
type: string
description: 'Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.'
example: null
nullable: false
-
in: query
name: page
description: 'The page number of results to be returned.'
example: null
required: false
schema:
type: integer
description: 'The page number of results to be returned.'
example: null
nullable: false
-
in: query
name: per_page
description: 'The number of results to be returned for each page of results.'
example: null
required: false
schema:
type: integer
description: 'The number of results to be returned for each page of results.'
example: null
nullable: false
-
in: query
name: sort
description: "Results can be sorted by the following fields:\n\n
- id
- qr_code
- installation_date
- deprecation_date
- manufacturing_date
- warranty_end_date
- created_at
\n\nThe default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: `?sort=-id`"
example: null
required: false
schema:
type: string
description: "Results can be sorted by the following fields:\n\n- id
- qr_code
- installation_date
- deprecation_date
- manufacturing_date
- warranty_end_date
- created_at
\n\nThe default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: `?sort=-id`"
example: null
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-554
serial_number: MSN-973
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,848.93'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 2
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-301
serial_number: MSN-727
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,423.48'
fitness_product: 0
has_odometer: 1
residual_price: £717.42
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 3
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-249
serial_number: MSN-389
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,509.49'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 4
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-452
serial_number: MSN-242
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£6,538.11'
fitness_product: 1
has_odometer: 1
residual_price: £562.56
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 5
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-630
serial_number: MSN-448
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£1,078.61'
fitness_product: 1
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 6
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-990
serial_number: MSN-263
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,112.55'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 7
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-365
serial_number: MSN-143
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,600.74'
fitness_product: 0
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 8
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-312
serial_number: MSN-666
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£8,507.74'
fitness_product: 1
has_odometer: 1
residual_price: £987.61
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 9
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-401
serial_number: MSN-993
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,893.34'
fitness_product: 1
has_odometer: 1
residual_price: £562.56
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 10
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-260
serial_number: MSN-874
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,974.20'
fitness_product: 1
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
links:
first: 'https://api.orbit4.org/v1/assets?page=1'
last: 'https://api.orbit4.org/v1/assets?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'https://api.orbit4.org/v1/assets?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'https://api.orbit4.org/v1/assets'
per_page: 25
to: 10
total: 10
properties:
data:
type: array
example:
-
id: 1
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-554
serial_number: MSN-973
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,848.93'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 2
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-301
serial_number: MSN-727
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,423.48'
fitness_product: 0
has_odometer: 1
residual_price: £717.42
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 3
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-249
serial_number: MSN-389
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,509.49'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 4
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-452
serial_number: MSN-242
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£6,538.11'
fitness_product: 1
has_odometer: 1
residual_price: £562.56
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 5
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-630
serial_number: MSN-448
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£1,078.61'
fitness_product: 1
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 6
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-990
serial_number: MSN-263
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,112.55'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 7
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-365
serial_number: MSN-143
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,600.74'
fitness_product: 0
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 8
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-312
serial_number: MSN-666
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£8,507.74'
fitness_product: 1
has_odometer: 1
residual_price: £987.61
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 9
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-401
serial_number: MSN-993
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,893.34'
fitness_product: 1
has_odometer: 1
residual_price: £562.56
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 10
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-260
serial_number: MSN-874
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,974.20'
fitness_product: 1
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
description: 'An array of paginated items.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 1
brand:
type: string
example: Precor
range:
type: string
example: 'C-Line Strength'
product:
type: string
example: 'Chest Press'
product_id:
type: integer
example: 3
qr_code:
type: string
example: O4-554
serial_number:
type: string
example: MSN-973
installation_date:
type: string
example: '2023-02-25T15:02:02.000000Z'
manufacturing_date:
type: string
example: '2022-02-25T15:02:02.000000Z'
warranty_end_date:
type: string
example: '2028-02-25T15:02:02.000000Z'
deprecation_date:
type: string
example: '2031-02-25T15:02:02.000000Z'
current_spend:
type: string
example: £0
max_spend:
type: string
example: '£7,848.93'
fitness_product:
type: integer
example: 0
has_odometer:
type: integer
example: 1
residual_price:
type: string
example: £542.23
image:
type: string
example: null
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:02+00:00'
links:
type: object
properties:
first:
type: string
example: 'https://api.orbit4.org/v1/assets?page=1'
description: 'The first page URL.'
enum: []
last:
type: string
example: 'https://api.orbit4.org/v1/assets?page=1'
description: 'The last page URL.'
enum: []
prev:
type: string
example: null
description: 'The previous page URL.'
enum: []
next:
type: string
example: null
description: 'The next page URL.'
enum: []
description: 'Pagination links.'
meta:
type: object
properties:
current_page:
type: integer
example: 1
description: 'Current page number.'
enum: []
from:
type: integer
example: 1
description: 'Starting record number.'
enum: []
last_page:
type: integer
example: 1
description: 'Last page number.'
enum: []
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'https://api.orbit4.org/v1/assets?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
description: 'An array of links.'
enum: []
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'https://api.orbit4.org/v1/assets'
description: 'The path of the request.'
enum: []
per_page:
type: integer
example: 25
description: 'Records per page.'
enum: []
to:
type: integer
example: 10
description: 'Ending record number.'
enum: []
total:
type: integer
example: 10
description: 'Total number of records.'
enum: []
description: 'Pagination meta data.'
tags:
- Assets
post:
summary: 'Create new asset.'
operationId: createNewAsset
description: "This endpoint allows you to add a new asset to the gym operator account. The user_id must be\nspecified when adding a new asset."
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 16
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-123456
serial_number: '123456'
installation_date: '2026-02-25T00:00:00.000000Z'
manufacturing_date: '2026-02-25T00:00:00.000000Z'
warranty_end_date: '2026-02-25T00:00:00.000000Z'
deprecation_date: '2026-02-25T00:00:00.000000Z'
current_spend: £0
max_spend: '£142,013.63'
fitness_product: null
has_odometer: null
residual_price: £264.24
image: null
metadata:
integration_id: ABC123
created_at: '2026-02-25T15:02:10+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 16
description: 'The unique identifier for the asset within the Orbit4 system.'
enum: []
brand:
type: string
example: 'Life Fitness'
description: 'The brand of the asset.'
enum: []
range:
type: string
example: 'IC7 Spin Bike'
description: 'The range of the asset.'
enum: []
product:
type: string
example: 'Studio Bike'
description: 'The name of the product.'
enum: []
product_id:
type: integer
example: 1
description: 'The unique identifier for the product within the Orbit4 system.'
enum: []
qr_code:
type: string
example: O4-123456
description: 'The qr code number used on the sticker of the equipment.'
enum: []
serial_number:
type: string
example: '123456'
description: 'The manufacturer serial number of the equipment.'
enum: []
installation_date:
type: string
example: '2026-02-25T00:00:00.000000Z'
description: 'The installation date of the equipment.'
enum: []
manufacturing_date:
type: string
example: '2026-02-25T00:00:00.000000Z'
description: 'The manufacturing date of the equipment.'
enum: []
warranty_end_date:
type: string
example: '2026-02-25T00:00:00.000000Z'
description: 'The warranty end date of the equipment.'
enum: []
deprecation_date:
type: string
example: '2026-02-25T00:00:00.000000Z'
description: 'The end date of the equipment.'
enum: []
current_spend:
type: string
example: £0
description: 'The current spend in services for the equipment.'
enum: []
max_spend:
type: string
example: '£142,013.63'
description: "The maximum spend in services for the equipment until it's recommended to replace it."
enum: []
fitness_product:
type: string
example: null
description: 'A boolean indicating whether the asset is a fitness equipment.'
enum: []
has_odometer:
type: string
example: null
description: 'A boolean indicating whether the asset has an odometer.'
enum: []
residual_price:
type: string
example: £264.24
description: 'The residual value of the asset.'
enum: []
image:
type: string
example: null
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-25T15:02:10+00:00'
description: 'The date and time the asset was created.'
enum: []
tags:
- Assets
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'The ID of the gym operator the assets belong to.'
example: 2.0
nullable: false
qr_code:
type: string
description: 'The qr code number used on the sticker of the equipment.'
example: O4-123456
nullable: false
serial_number:
type: string
description: 'The manufacturer serial number of the equipment.'
example: '123456'
nullable: false
installation_date:
type: string
description: 'The installation date of the equipment.'
example: '2026-02-25'
nullable: false
manufacturing_date:
type: string
description: 'The manufacturing date of the equipment.'
example: '2026-02-25'
nullable: false
warranty_end_date:
type: string
description: 'The warranty end date of the equipment.'
example: '2026-02-25'
nullable: false
deprecation_date:
type: string
description: 'The date when the equipment is expected to be decommissioned or replaced.'
example: '2026-02-25'
nullable: true
brand:
type: string
description: 'The brand of the equipment. This field will be automatically populated if the product_id is provided.'
example: 'Life Fitness'
nullable: false
range:
type: string
description: 'The model/range of the equipment. This field will be automatically populated if the product_id is provided.'
example: 'Signature Series'
nullable: false
product:
type: string
description: 'The name of the equipment. This field will be automatically populated if the product_id is provided.'
example: 'Chest Press'
nullable: false
product_id:
type: integer
description: 'The ID of the equipment in the Orbit4 database.'
example: 1
nullable: true
metadata:
type: string
description: 'A JSON object with metadata, which can be used for filtering. This will also be included in API responses and webhook payloads.'
example: '{"integration_id":"ABC123"}'
nullable: false
required:
- user_id
- qr_code
'/v1/assets/{asset}':
get:
summary: 'Fetch asset details.'
operationId: fetchAssetDetails
description: 'This endpoint allows you to retrieve details of a specific asset by their ID.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 2
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-301
serial_number: MSN-727
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,423.48'
fitness_product: 0
has_odometer: 1
residual_price: £717.42
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the asset within the Orbit4 system.'
enum: []
brand:
type: string
example: 'Life Fitness'
description: 'The brand of the asset.'
enum: []
range:
type: string
example: 'IC7 Spin Bike'
description: 'The range of the asset.'
enum: []
product:
type: string
example: 'Studio Bike'
description: 'The name of the product.'
enum: []
product_id:
type: integer
example: 1
description: 'The unique identifier for the product within the Orbit4 system.'
enum: []
qr_code:
type: string
example: O4-301
description: 'The qr code number used on the sticker of the equipment.'
enum: []
serial_number:
type: string
example: MSN-727
description: 'The manufacturer serial number of the equipment.'
enum: []
installation_date:
type: string
example: '2023-02-25T15:02:02.000000Z'
description: 'The installation date of the equipment.'
enum: []
manufacturing_date:
type: string
example: '2022-02-25T15:02:02.000000Z'
description: 'The manufacturing date of the equipment.'
enum: []
warranty_end_date:
type: string
example: '2028-02-25T15:02:02.000000Z'
description: 'The warranty end date of the equipment.'
enum: []
deprecation_date:
type: string
example: '2031-02-25T15:02:02.000000Z'
description: 'The end date of the equipment.'
enum: []
current_spend:
type: string
example: £0
description: 'The current spend in services for the equipment.'
enum: []
max_spend:
type: string
example: '£7,423.48'
description: "The maximum spend in services for the equipment until it's recommended to replace it."
enum: []
fitness_product:
type: integer
example: 0
description: 'A boolean indicating whether the asset is a fitness equipment.'
enum: []
has_odometer:
type: integer
example: 1
description: 'A boolean indicating whether the asset has an odometer.'
enum: []
residual_price:
type: string
example: £717.42
description: 'The residual value of the asset.'
enum: []
image:
type: string
example: null
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:02+00:00'
description: 'The date and time the asset was created.'
enum: []
tags:
- Assets
put:
summary: 'Update asset.'
operationId: updateAsset
description: "This endpoint allows you to update details of a specific asset by their ID. Only the fields that need to be\nupdated should be provided."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 2
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-123456
serial_number: '123456'
installation_date: '2026-02-25T00:00:00.000000Z'
manufacturing_date: '2026-02-25T00:00:00.000000Z'
warranty_end_date: '2026-02-25T00:00:00.000000Z'
deprecation_date: '2026-02-25T00:00:00.000000Z'
current_spend: £0
max_spend: '£7,423.48'
fitness_product: 0
has_odometer: 1
residual_price: £264.24
image: null
metadata:
integration_id: ABC123
created_at: '2026-02-25T15:02:02+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the asset within the Orbit4 system.'
enum: []
brand:
type: string
example: 'Life Fitness'
description: 'The brand of the asset.'
enum: []
range:
type: string
example: 'IC7 Spin Bike'
description: 'The range of the asset.'
enum: []
product:
type: string
example: 'Studio Bike'
description: 'The name of the product.'
enum: []
product_id:
type: integer
example: 1
description: 'The unique identifier for the product within the Orbit4 system.'
enum: []
qr_code:
type: string
example: O4-123456
description: 'The qr code number used on the sticker of the equipment.'
enum: []
serial_number:
type: string
example: '123456'
description: 'The manufacturer serial number of the equipment.'
enum: []
installation_date:
type: string
example: '2026-02-25T00:00:00.000000Z'
description: 'The installation date of the equipment.'
enum: []
manufacturing_date:
type: string
example: '2026-02-25T00:00:00.000000Z'
description: 'The manufacturing date of the equipment.'
enum: []
warranty_end_date:
type: string
example: '2026-02-25T00:00:00.000000Z'
description: 'The warranty end date of the equipment.'
enum: []
deprecation_date:
type: string
example: '2026-02-25T00:00:00.000000Z'
description: 'The end date of the equipment.'
enum: []
current_spend:
type: string
example: £0
description: 'The current spend in services for the equipment.'
enum: []
max_spend:
type: string
example: '£7,423.48'
description: "The maximum spend in services for the equipment until it's recommended to replace it."
enum: []
fitness_product:
type: integer
example: 0
description: 'A boolean indicating whether the asset is a fitness equipment.'
enum: []
has_odometer:
type: integer
example: 1
description: 'A boolean indicating whether the asset has an odometer.'
enum: []
residual_price:
type: string
example: £264.24
description: 'The residual value of the asset.'
enum: []
image:
type: string
example: null
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-25T15:02:02+00:00'
description: 'The date and time the asset was created.'
enum: []
tags:
- Assets
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
qr_code:
type: string
description: 'The qr code number used on the sticker of the equipment.'
example: O4-123456
nullable: false
serial_number:
type: string
description: 'The manufacturer serial number of the equipment.'
example: '123456'
nullable: false
installation_date:
type: string
description: 'The installation date of the equipment.'
example: '2026-02-25'
nullable: false
manufacturing_date:
type: string
description: 'The manufacturing date of the equipment.'
example: '2026-02-25'
nullable: false
warranty_end_date:
type: string
description: 'The warranty end date of the equipment.'
example: '2026-02-25'
nullable: false
deprecation_date:
type: string
description: 'The end date of the equipment.'
example: '2026-02-25'
nullable: false
brand:
type: string
description: 'The brand of the equipment. This field will be automatically populated if the product_id is provided.'
example: 'Life Fitness'
nullable: false
range:
type: string
description: 'The model/range of the equipment. This field will be automatically populated if the product_id is provided.'
example: 'Signature Series'
nullable: false
product:
type: string
description: 'The name of the equipment. This field will be automatically populated if the product_id is provided.'
example: 'Chest Press'
nullable: false
product_id:
type: integer
description: 'The ID of the equipment in the Orbit4 database.'
example: 1
nullable: true
metadata:
type: string
description: 'A JSON object with metadata, which can be used for filtering. This will also be included in API responses and webhook payloads.'
example: '{"integration_id":"ABC123"}'
nullable: false
delete:
summary: 'Delete asset.'
operationId: deleteAsset
description: 'This endpoint allows you to delete a specific asset from your account by their ID.'
parameters: []
responses:
204:
description: ''
tags:
- Assets
parameters:
-
in: path
name: asset
description: 'The ID of the asset.'
example: '2'
required: true
schema:
type: string
/v1/contracts:
get:
summary: 'Search for contracts.'
operationId: searchForContracts
description: "This endpoint allows you to search for contracts within the specified user account. You can filter the\nresults by gym operator, service provider or a specific asset."
parameters:
-
in: query
name: gym_operator_id
description: 'The ID of the gym operator the service contract belong to.'
example: 2.0
required: false
schema:
type: integer
description: 'The ID of the gym operator the service contract belong to.'
example: 2.0
nullable: false
-
in: query
name: service_provider_id
description: 'The ID of the service provider the service contract belong to.'
example: 4.0
required: false
schema:
type: integer
description: 'The ID of the service provider the service contract belong to.'
example: 4.0
nullable: false
-
in: query
name: asset_id
description: 'The ID of asset to filter contracts by.'
example: 1.0
required: false
schema:
type: integer
description: 'The ID of asset to filter contracts by.'
example: 1.0
nullable: false
-
in: query
name: active
description: 'Filter results by active/expired contracts.'
example: true
required: false
schema:
type: boolean
description: 'Filter results by active/expired contracts.'
example: true
nullable: false
-
in: query
name: metadata
description: 'Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.'
example: null
required: false
schema:
type: string
description: 'Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.'
example: null
nullable: false
-
in: query
name: page
description: 'The page number of results to be returned.'
example: null
required: false
schema:
type: integer
description: 'The page number of results to be returned.'
example: null
nullable: false
-
in: query
name: per_page
description: 'The number of results to be returned for each page of results.'
example: null
required: false
schema:
type: integer
description: 'The number of results to be returned for each page of results.'
example: null
nullable: false
-
in: query
name: sort
description: "Results can be sorted by the following fields:\n\n\n\nThe default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: `?sort=-id`"
example: null
required: false
schema:
type: string
description: "Results can be sorted by the following fields:\n\n\n\nThe default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: `?sort=-id`"
example: null
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
links:
first: 'https://api.orbit4.org/v1/contracts?page=1'
last: 'https://api.orbit4.org/v1/contracts?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'https://api.orbit4.org/v1/contracts?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'https://api.orbit4.org/v1/contracts'
per_page: 25
to: 1
total: 1
properties:
data:
type: array
example:
-
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
description: 'An array of paginated items.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 1
number:
type: string
example: WSGE123
type:
type: string
example: 'Full Annual'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Dusty
last_name:
type: string
example: Cummings
email:
type: string
example: service-provider@orbit4.org
role:
type: string
example: service_provider
company:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'The Gym Fixers'
address:
type: string
example: '37863 Nikko Port'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'Lake Karleymouth'
country:
type: string
example: UK
postcode:
type: string
example: '63447'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2026-02-24'
end_date:
type: string
example: '2027-02-24'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:04+00:00'
links:
type: object
properties:
first:
type: string
example: 'https://api.orbit4.org/v1/contracts?page=1'
description: 'The first page URL.'
enum: []
last:
type: string
example: 'https://api.orbit4.org/v1/contracts?page=1'
description: 'The last page URL.'
enum: []
prev:
type: string
example: null
description: 'The previous page URL.'
enum: []
next:
type: string
example: null
description: 'The next page URL.'
enum: []
description: 'Pagination links.'
meta:
type: object
properties:
current_page:
type: integer
example: 1
description: 'Current page number.'
enum: []
from:
type: integer
example: 1
description: 'Starting record number.'
enum: []
last_page:
type: integer
example: 1
description: 'Last page number.'
enum: []
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'https://api.orbit4.org/v1/contracts?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
description: 'An array of links.'
enum: []
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'https://api.orbit4.org/v1/contracts'
description: 'The path of the request.'
enum: []
per_page:
type: integer
example: 25
description: 'Records per page.'
enum: []
to:
type: integer
example: 1
description: 'Ending record number.'
enum: []
total:
type: integer
example: 1
description: 'Total number of records.'
enum: []
description: 'Pagination meta data.'
tags:
- Contracts
post:
summary: 'Create new contract.'
operationId: createNewContract
description: 'This endpoint allows you to create a new contract between a gym operator and a service provider.'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 3
number: WSGE1
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 3
first_name: Mae
last_name: Goodwin
email: club-b@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'Notthing Hill Gate'
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-25'
end_date: '2027-02-25'
metadata:
integration_id: ABC123
created_at: '2026-02-25T15:02:10+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 3
description: 'The unique identifier for the contract within the Orbit4 system.'
enum: []
number:
type: string
example: WSGE1
description: 'A user friendly identifier for the contract.'
enum: []
type:
type: string
example: 'Full Annual'
description: 'The type of contract.'
enum: []
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 3
first_name:
type: string
example: Mae
last_name:
type: string
example: Goodwin
email:
type: string
example: club-b@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'Notthing Hill Gate'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
active:
type: boolean
example: true
description: 'A boolean indicating whether the contract is currently active.'
enum: []
start_date:
type: string
example: '2026-02-25'
description: 'The date the contract starts.'
enum: []
end_date:
type: string
example: '2027-02-25'
description: 'The date the contract ends.'
enum: []
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-25T15:02:10+00:00'
tags:
- Contracts
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
gym_operator_id:
type: integer
description: 'The ID of the gym operator the service contract belong to.'
example: 2.0
nullable: false
service_provider_id:
type: integer
description: 'The ID of the service provider the service contract belong to.'
example: 3.0
nullable: false
start_date:
type: string
description: 'The date the service contract becomes active. The end date will be a year from this date.'
example: '2026-02-25'
nullable: false
type:
type: string
description: 'The type of service contract.'
example: 'Full Annual'
nullable: false
enum:
- 'Full Annual'
- 'Labour only'
- 'One-Off Service – Labour Only'
- 'Adhoc Call-Out'
- Lease
assets:
type: 'string[]'
description: 'An array of assets included in this contract. The assets must belong to the specified gym operator.'
example:
- 1
nullable: false
metadata:
type: string
description: 'A JSON object with metadata, which can be used for filtering. This will also be included in API responses and webhook payloads.'
example: '{"integration_id":"ABC123"}'
nullable: false
required:
- gym_operator_id
- service_provider_id
- start_date
- type
'/v1/contracts/{contract}':
get:
summary: 'Fetch contract details.'
operationId: fetchContractDetails
description: 'This endpoint allows you to retrieve details of a specific contract by their ID.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
assets:
-
id: 1
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-554
serial_number: MSN-973
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,848.93'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 2
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-301
serial_number: MSN-727
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,423.48'
fitness_product: 0
has_odometer: 1
residual_price: £717.42
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 3
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-249
serial_number: MSN-389
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,509.49'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 4
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-452
serial_number: MSN-242
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£6,538.11'
fitness_product: 1
has_odometer: 1
residual_price: £562.56
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 5
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-630
serial_number: MSN-448
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£1,078.61'
fitness_product: 1
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 6
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-990
serial_number: MSN-263
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,112.55'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 7
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-365
serial_number: MSN-143
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,600.74'
fitness_product: 0
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 8
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-312
serial_number: MSN-666
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£8,507.74'
fitness_product: 1
has_odometer: 1
residual_price: £987.61
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 9
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-401
serial_number: MSN-993
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,893.34'
fitness_product: 1
has_odometer: 1
residual_price: £562.56
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 10
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-260
serial_number: MSN-874
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,974.20'
fitness_product: 1
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the contract within the Orbit4 system.'
enum: []
number:
type: string
example: WSGE123
description: 'A user friendly identifier for the contract.'
enum: []
type:
type: string
example: 'Full Annual'
description: 'The type of contract.'
enum: []
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Dusty
last_name:
type: string
example: Cummings
email:
type: string
example: service-provider@orbit4.org
role:
type: string
example: service_provider
company:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'The Gym Fixers'
address:
type: string
example: '37863 Nikko Port'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'Lake Karleymouth'
country:
type: string
example: UK
postcode:
type: string
example: '63447'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
active:
type: boolean
example: true
description: 'A boolean indicating whether the contract is currently active.'
enum: []
start_date:
type: string
example: '2026-02-24'
description: 'The date the contract starts.'
enum: []
end_date:
type: string
example: '2027-02-24'
description: 'The date the contract ends.'
enum: []
assets:
type: array
example:
-
id: 1
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-554
serial_number: MSN-973
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,848.93'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 2
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-301
serial_number: MSN-727
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,423.48'
fitness_product: 0
has_odometer: 1
residual_price: £717.42
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 3
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-249
serial_number: MSN-389
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,509.49'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 4
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-452
serial_number: MSN-242
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£6,538.11'
fitness_product: 1
has_odometer: 1
residual_price: £562.56
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 5
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-630
serial_number: MSN-448
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£1,078.61'
fitness_product: 1
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 6
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-990
serial_number: MSN-263
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,112.55'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
-
id: 7
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-365
serial_number: MSN-143
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,600.74'
fitness_product: 0
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 8
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-312
serial_number: MSN-666
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£8,507.74'
fitness_product: 1
has_odometer: 1
residual_price: £987.61
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 9
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-401
serial_number: MSN-993
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,893.34'
fitness_product: 1
has_odometer: 1
residual_price: £562.56
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
-
id: 10
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-260
serial_number: MSN-874
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£4,974.20'
fitness_product: 1
has_odometer: 0
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:03+00:00'
description: 'An array of the assets included in the contract.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 1
brand:
type: string
example: Precor
range:
type: string
example: 'C-Line Strength'
product:
type: string
example: 'Chest Press'
product_id:
type: integer
example: 3
qr_code:
type: string
example: O4-554
serial_number:
type: string
example: MSN-973
installation_date:
type: string
example: '2023-02-25T15:02:02.000000Z'
manufacturing_date:
type: string
example: '2022-02-25T15:02:02.000000Z'
warranty_end_date:
type: string
example: '2028-02-25T15:02:02.000000Z'
deprecation_date:
type: string
example: '2031-02-25T15:02:02.000000Z'
current_spend:
type: string
example: £0
max_spend:
type: string
example: '£7,848.93'
fitness_product:
type: integer
example: 0
has_odometer:
type: integer
example: 1
residual_price:
type: string
example: £542.23
image:
type: string
example: null
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:02+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:04+00:00'
tags:
- Contracts
parameters:
-
in: path
name: contract
description: 'The ID of the contract.'
example: '1'
required: true
schema:
type: string
/v1/media:
post:
summary: 'Upload media.'
operationId: uploadMedia
description: "This endpoint allows you to upload media files to the specified resource. Some media types are single-use, meaning\nthat only one media file can be uploaded for that type on that resource. If a media file already exists for the specified type, it\nwill be replaced with the new one."
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 7
url: 'https://cdn.orbit4.org/uploads/17898699f0ef4967242.23747080.jpg'
type: image
resource_type: ticket
resource_id: 1
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2026-02-25T15:02:12+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 7
description: 'The unique identifier for the media within the Orbit4 system.'
enum: []
url:
type: string
example: 'https://cdn.orbit4.org/uploads/17898699f0ef4967242.23747080.jpg'
description: 'The URL of the media.'
enum: []
type:
type: string
example: image
description: 'The type of media (e.g., quote, document, image).'
enum: []
resource_type:
type: string
example: ticket
description: 'The type of resource this media is attached to (e.g., ticket, asset, form).'
enum: []
resource_id:
type: integer
example: 1
description: 'The ID of the resource this media is attached to.'
enum: []
extra_properties:
type: object
properties:
variants:
type: object
properties:
large:
type: boolean
example: true
main:
type: boolean
example: true
listing:
type: boolean
example: true
thumbnail:
type: boolean
example: true
description: 'An object of extra properties attached to the media.'
created_at:
type: string
example: '2026-02-25T15:02:12+00:00'
description: 'The date and time the media was created.'
enum: []
tags:
- Media
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
type:
type: string
description: 'The type of media to be uploaded.'
example: image
nullable: false
enum:
- image
- audio
- video
- quote
- worksheet
- purchase_order
- invoice
file:
type: string
format: binary
description: 'The file being uploaded.'
nullable: false
resource_id:
type: integer
description: 'The ID of the resource the media is being uploaded for.'
example: 1.0
nullable: false
resource_type:
type: string
description: 'The type of resource the media is being uploaded for.'
example: ticket
nullable: false
enum:
- asset
- ticket
required:
- type
- file
- resource_id
- resource_type
'/v1/media/{media}':
put:
summary: 'Update media extra properties.'
operationId: updateMediaExtraProperties
description: 'This endpoint allows you to upload media metadata to the specified resource.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 2
url: 'https://cdn.orbit4.org/uploads/quote.pdf'
type: quote
resource_type: ticket
resource_id: 2
extra_properties:
approved: true
created_at: '2026-02-25T15:02:07+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the media within the Orbit4 system.'
enum: []
url:
type: string
example: 'https://cdn.orbit4.org/uploads/quote.pdf'
description: 'The URL of the media.'
enum: []
type:
type: string
example: quote
description: 'The type of media (e.g., quote, document, image).'
enum: []
resource_type:
type: string
example: ticket
description: 'The type of resource this media is attached to (e.g., ticket, asset, form).'
enum: []
resource_id:
type: integer
example: 2
description: 'The ID of the resource this media is attached to.'
enum: []
extra_properties:
type: object
properties:
approved:
type: boolean
example: true
description: 'An object of extra properties attached to the media.'
created_at:
type: string
example: '2026-02-25T15:02:07+00:00'
description: 'The date and time the media was created.'
enum: []
tags:
- Media
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
extra_properties:
type: object
description: 'The extra properties to be updated.'
example: '{"approved":true}'
nullable: false
properties: { }
required:
- extra_properties
parameters:
-
in: path
name: media
description: 'The ID of the media file.'
example: '2'
required: true
schema:
type: string
/v1/notes:
post:
summary: 'Create ticket note.'
operationId: createTicketNote
description: 'This endpoint allows you to create a new note for the specified ticket.'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 11
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Can you please provide more details about the issue?'
is_system: false
metadata:
integration_id: ABC123
created_at: '2026-02-25T15:02:12+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 11
description: 'The unique identifier for the note within the Orbit4 system.'
enum: []
user:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
enum: []
first_name:
type: string
example: Terry
description: 'The first name of the user.'
enum: []
last_name:
type: string
example: McLaughlin
description: 'The last name of the user.'
enum: []
email:
type: string
example: club-a@orbit4.org
description: 'The email address of the user.'
enum: []
role:
type: string
example: gym_operator
description: 'The role of the user.'
enum: []
company:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the company within the Orbit4 system.'
enum: []
name:
type: string
example: 'PulseForge Fitness'
description: 'The name of the company.'
enum: []
address:
type: string
example: '5511 Alexandro Park Apt. 045'
description: "The first line of the company's address."
enum: []
address_2:
type: string
example: null
description: "The second line of the company's address."
enum: []
address_3:
type: string
example: null
description: "The third line of the company's address."
enum: []
city:
type: string
example: Raulland
description: "The city of the company's address."
enum: []
country:
type: string
example: UK
description: "The country of the company's address."
enum: []
postcode:
type: string
example: '94882'
description: "The postcode of the company's address."
enum: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
description: 'The date and time the company was created.'
enum: []
description: 'An object representing the company the user is associated with.'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
description: 'The language the user prefers to use.'
enum: []
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
description: 'The date and time the user verified their email address.'
enum: []
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
description: 'The date and time the user was created.'
enum: []
description: 'An object representing the user who sent the note.'
note:
type: string
example: 'Can you please provide more details about the issue?'
description: 'The content of the note.'
enum: []
is_system:
type: boolean
example: false
description: 'A boolean indicating whether the note was generated by the system.'
enum: []
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
description: 'An object containing metadata key-value pairs associated with the note.'
created_at:
type: string
example: '2026-02-25T15:02:12+00:00'
description: 'The date and time the note was created.'
enum: []
tags:
- Notes
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'The ID of the author of the note.'
example: 2.0
nullable: false
ticket_id:
type: integer
description: 'The ID of the ticket the note is added to.'
example: 1
nullable: false
note:
type: string
description: 'The message of the note.'
example: 'Can you please provide more details about the issue?'
nullable: false
metadata:
type: string
description: 'A JSON object with metadata, which can be used for filtering. This will also be included in API responses and webhook payloads.'
example: '{"integration_id":"ABC123"}'
nullable: false
required:
- user_id
- ticket_id
- note
/v1/tickets:
get:
summary: 'Search for tickets.'
operationId: searchForTickets
description: "This endpoint allows you to search for tickets based on specified criteria. The search results will include all\ntickets that match the criteria."
parameters:
-
in: query
name: user_id
description: 'The ID of the user for whom the tickets are being fetched.'
example: 2.0
required: false
schema:
type: integer
description: 'The ID of the user for whom the tickets are being fetched.'
example: 2.0
nullable: false
-
in: query
name: search
description: 'Search for tickets by ticket_number or description.'
example: null
required: false
schema:
type: string
description: 'Search for tickets by ticket_number or description.'
example: null
nullable: false
-
in: query
name: type
description: 'Filter tickets by their type.'
example: null
required: false
schema:
type: string
description: 'Filter tickets by their type.'
example: null
nullable: false
enum:
- standard
- ad-hoc
- internal
- service
- stock
-
in: query
name: status
description: 'Filter tickets by their status.'
example: null
required: false
schema:
type: string
description: 'Filter tickets by their status.'
example: null
nullable: false
enum:
- open
- pending
- parts_required
- engineer_deployed
- closed
-
in: query
name: serial_number
description: 'Filter tickets by the asset serial number.'
example: null
required: false
schema:
type: string
description: 'Filter tickets by the asset serial number.'
example: null
nullable: false
-
in: query
name: metadata
description: 'Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.'
example: null
required: false
schema:
type: string
description: 'Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.'
example: null
nullable: false
-
in: query
name: page
description: 'The page number of results to be returned.'
example: null
required: false
schema:
type: integer
description: 'The page number of results to be returned.'
example: null
nullable: false
-
in: query
name: per_page
description: 'The number of results to be returned for each page of results.'
example: null
required: false
schema:
type: integer
description: 'The number of results to be returned for each page of results.'
example: null
nullable: false
-
in: query
name: sort
description: "Results can be sorted by the following fields:\n\n- id
- ticket_number
- status
- created_at
\n\nThe default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: `?sort=-id`"
example: null
required: false
schema:
type: string
description: "Results can be sorted by the following fields:\n\n- id
- ticket_number
- status
- created_at
\n\nThe default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: `?sort=-id`"
example: null
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
number: WSGE123-001
type: standard
description: null
priority: Faulty
problem_type: electrical
tags: []
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 1
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
-
id: 2
number: WSGE123-002
type: standard
description: null
priority: Faulty
problem_type: electrical
tags: []
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
images:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
documents:
-
id: 2
url: 'https://cdn.orbit4.org/uploads/quote.pdf'
type: quote
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
-
id: 6
url: 'https://cdn.orbit4.org/uploads/sample-inventory-item-purchase-order.pdf'
type: purchase_order
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
notes:
-
id: 2
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
-
id: 8
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 9
user:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
-
id: 3
number: WSGE123-003
type: standard
description: null
priority: Faulty
problem_type: electrical
tags: []
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 3
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
-
id: 4
number: WSGE123-004
type: standard
description: null
priority: Faulty
problem_type: undefined
tags: []
status: engineer_deployed
engineer_arrived_at: null
engineer_deployed_at: '2026-02-25T15:02:06+00:00'
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 4
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
-
id: 5
number: WSGE123-005
type: standard
description: null
priority: Faulty
problem_type: undefined
tags: []
status: parts_required
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 5
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
-
id: 6
number: WSGE123-006
type: standard
description: null
priority: Faulty
problem_type: undefined
tags: []
status: closed
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: '2026-02-25T15:02:07+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 6
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 7
number: WSGE123-007
type: standard
description: null
priority: Faulty
problem_type: undefined
tags: []
status: closed
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: '2026-02-25T15:02:07+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 7
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 8
number: WSGES-2-001
type: stock
description: null
priority: Faulty
problem_type: undefined
tags: []
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider: null
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract: null
media: []
images: []
documents: []
notes:
-
id: 10
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:08+00:00'
metadata: []
created_at: '2026-02-25T15:02:08+00:00'
links:
first: 'https://api.orbit4.org/v1/tickets?page=1'
last: 'https://api.orbit4.org/v1/tickets?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'https://api.orbit4.org/v1/tickets?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'https://api.orbit4.org/v1/tickets'
per_page: 25
to: 8
total: 8
properties:
data:
type: array
example:
-
id: 1
number: WSGE123-001
type: standard
description: null
priority: Faulty
problem_type: electrical
tags: []
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 1
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
-
id: 2
number: WSGE123-002
type: standard
description: null
priority: Faulty
problem_type: electrical
tags: []
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
images:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
documents:
-
id: 2
url: 'https://cdn.orbit4.org/uploads/quote.pdf'
type: quote
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
-
id: 6
url: 'https://cdn.orbit4.org/uploads/sample-inventory-item-purchase-order.pdf'
type: purchase_order
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
notes:
-
id: 2
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
-
id: 8
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 9
user:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
-
id: 3
number: WSGE123-003
type: standard
description: null
priority: Faulty
problem_type: electrical
tags: []
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 3
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
-
id: 4
number: WSGE123-004
type: standard
description: null
priority: Faulty
problem_type: undefined
tags: []
status: engineer_deployed
engineer_arrived_at: null
engineer_deployed_at: '2026-02-25T15:02:06+00:00'
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 4
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
-
id: 5
number: WSGE123-005
type: standard
description: null
priority: Faulty
problem_type: undefined
tags: []
status: parts_required
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 5
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
metadata: []
created_at: '2026-02-25T15:02:06+00:00'
-
id: 6
number: WSGE123-006
type: standard
description: null
priority: Faulty
problem_type: undefined
tags: []
status: closed
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: '2026-02-25T15:02:07+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 6
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 7
number: WSGE123-007
type: standard
description: null
priority: Faulty
problem_type: undefined
tags: []
status: closed
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: '2026-02-25T15:02:07+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media: []
images: []
documents: []
notes:
-
id: 7
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 8
number: WSGES-2-001
type: stock
description: null
priority: Faulty
problem_type: undefined
tags: []
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider: null
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract: null
media: []
images: []
documents: []
notes:
-
id: 10
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:08+00:00'
metadata: []
created_at: '2026-02-25T15:02:08+00:00'
description: 'An array of paginated items.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 1
number:
type: string
example: WSGE123-001
type:
type: string
example: standard
description:
type: string
example: null
priority:
type: string
example: Faulty
problem_type:
type: string
example: electrical
tags:
type: array
example: []
status:
type: string
example: open
engineer_arrived_at:
type: string
example: null
engineer_deployed_at:
type: string
example: null
closed_at:
type: string
example: null
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Dusty
last_name:
type: string
example: Cummings
email:
type: string
example: service-provider@orbit4.org
role:
type: string
example: service_provider
company:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'The Gym Fixers'
address:
type: string
example: '37863 Nikko Port'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'Lake Karleymouth'
country:
type: string
example: UK
postcode:
type: string
example: '63447'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
ticket_admin:
type: string
example: null
engineer:
type: string
example: null
caretaker:
type: string
example: null
asset:
type: string
example: null
contract:
type: object
properties:
id:
type: integer
example: 1
number:
type: string
example: WSGE123
type:
type: string
example: 'Full Annual'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Dusty
last_name:
type: string
example: Cummings
email:
type: string
example: service-provider@orbit4.org
role:
type: string
example: service_provider
company:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'The Gym Fixers'
address:
type: string
example: '37863 Nikko Port'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'Lake Karleymouth'
country:
type: string
example: UK
postcode:
type: string
example: '63447'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2026-02-24'
end_date:
type: string
example: '2027-02-24'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:04+00:00'
media:
type: array
example: []
images:
type: array
example: []
documents:
type: array
example: []
notes:
type: array
example:
-
id: 1
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
items:
type: object
properties:
id:
type: integer
example: 1
user:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id: { type: integer, example: 1 }
name: { type: string, example: 'PulseForge Fitness' }
address: { type: string, example: '5511 Alexandro Park Apt. 045' }
address_2: { type: string, example: null }
address_3: { type: string, example: null }
city: { type: string, example: Raulland }
country: { type: string, example: UK }
postcode: { type: string, example: '94882' }
created_at: { type: string, example: '2026-02-25T15:01:58+00:00' }
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
note:
type: string
example: 'Ticket Raised'
is_system:
type: boolean
example: true
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:05+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:05+00:00'
links:
type: object
properties:
first:
type: string
example: 'https://api.orbit4.org/v1/tickets?page=1'
description: 'The first page URL.'
enum: []
last:
type: string
example: 'https://api.orbit4.org/v1/tickets?page=1'
description: 'The last page URL.'
enum: []
prev:
type: string
example: null
description: 'The previous page URL.'
enum: []
next:
type: string
example: null
description: 'The next page URL.'
enum: []
description: 'Pagination links.'
meta:
type: object
properties:
current_page:
type: integer
example: 1
description: 'Current page number.'
enum: []
from:
type: integer
example: 1
description: 'Starting record number.'
enum: []
last_page:
type: integer
example: 1
description: 'Last page number.'
enum: []
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'https://api.orbit4.org/v1/tickets?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
description: 'An array of links.'
enum: []
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'https://api.orbit4.org/v1/tickets'
description: 'The path of the request.'
enum: []
per_page:
type: integer
example: 25
description: 'Records per page.'
enum: []
to:
type: integer
example: 8
description: 'Ending record number.'
enum: []
total:
type: integer
example: 8
description: 'Total number of records.'
enum: []
description: 'Pagination meta data.'
tags:
- Tickets
post:
summary: 'Create new ticket.'
operationId: createNewTicket
description: "This endpoint allows you to raise a new ticket from the specified sender to the specified recipient account.\nThe ticket will be created with the provided details and assigned to the specified user."
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 9
number: WSGE123-008
type: standard
description: 'The treadmill is broken. Please fix it.'
priority: Faulty
problem_type: software
tags: []
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset:
id: 1
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-554
serial_number: MSN-973
installation_date: '2023-02-25T15:02:02.000000Z'
manufacturing_date: '2022-02-25T15:02:02.000000Z'
warranty_end_date: '2028-02-25T15:02:02.000000Z'
deprecation_date: '2031-02-25T15:02:02.000000Z'
current_spend: £0
max_spend: '£7,848.93'
fitness_product: 0
has_odometer: 1
residual_price: £542.23
image: null
metadata: []
created_at: '2026-02-25T15:02:02+00:00'
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media:
-
id: 7
url: 'https://cdn.orbit4.org/uploads/26271699f0ef3534d10.56497757.jpg'
type: image
resource_type: ticket
resource_id: 9
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2026-02-25T15:02:11+00:00'
images:
-
id: 7
url: 'https://cdn.orbit4.org/uploads/26271699f0ef3534d10.56497757.jpg'
type: image
resource_type: ticket
resource_id: 9
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2026-02-25T15:02:11+00:00'
documents: []
notes:
-
id: 11
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:11+00:00'
-
id: 12
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'The treadmill is broken. Please fix it.'
is_system: false
metadata: []
created_at: '2026-02-25T15:02:11+00:00'
-
id: 13
user:
id: 1
first_name: Aiden
last_name: Veum
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Image Uploaded'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:11+00:00'
metadata:
integration_id: ABC123
created_at: '2026-02-25T15:02:11+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 9
description: 'The unique identifier for the ticket within the Orbit4 system.'
enum: []
number:
type: string
example: WSGE123-008
description: 'A user friendly identifier for the ticket.'
enum: []
type:
type: string
example: standard
description: 'The type of ticket.'
enum: []
description:
type: string
example: 'The treadmill is broken. Please fix it.'
description: 'A description of the issue.'
enum: []
priority:
type: string
example: Faulty
description: 'The priority of the ticket based on the state of the equipment.'
enum: []
problem_type:
type: string
example: software
description: 'The problem type of the ticket. Possible values are: electrical, software, mechanical, undefined'
enum: []
tags:
type: array
example: []
status:
type: string
example: open
description: 'The current status of the ticket.'
enum: []
engineer_arrived_at:
type: string
example: null
description: 'The date and time the engineer arrived at the location.'
enum: []
engineer_deployed_at:
type: string
example: null
description: 'The date and time the engineer was deployed to the location.'
enum: []
closed_at:
type: string
example: null
description: 'The date and time the ticket was closed.'
enum: []
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Dusty
last_name:
type: string
example: Cummings
email:
type: string
example: service-provider@orbit4.org
role:
type: string
example: service_provider
company:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'The Gym Fixers'
address:
type: string
example: '37863 Nikko Port'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'Lake Karleymouth'
country:
type: string
example: UK
postcode:
type: string
example: '63447'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
ticket_admin:
type: string
example: null
engineer:
type: string
example: null
caretaker:
type: string
example: null
asset:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the asset within the Orbit4 system.'
enum: []
brand:
type: string
example: Precor
description: 'The brand of the asset.'
enum: []
range:
type: string
example: 'C-Line Strength'
description: 'The range of the asset.'
enum: []
product:
type: string
example: 'Chest Press'
description: 'The name of the product.'
enum: []
product_id:
type: integer
example: 3
description: 'The unique identifier for the product within the Orbit4 system.'
enum: []
qr_code:
type: string
example: O4-554
description: 'The qr code number used on the sticker of the equipment.'
enum: []
serial_number:
type: string
example: MSN-973
description: 'The manufacturer serial number of the equipment.'
enum: []
installation_date:
type: string
example: '2023-02-25T15:02:02.000000Z'
description: 'The installation date of the equipment.'
enum: []
manufacturing_date:
type: string
example: '2022-02-25T15:02:02.000000Z'
description: 'The manufacturing date of the equipment.'
enum: []
warranty_end_date:
type: string
example: '2028-02-25T15:02:02.000000Z'
description: 'The warranty end date of the equipment.'
enum: []
deprecation_date:
type: string
example: '2031-02-25T15:02:02.000000Z'
description: 'The end date of the equipment.'
enum: []
current_spend:
type: string
example: £0
description: 'The current spend in services for the equipment.'
enum: []
max_spend:
type: string
example: '£7,848.93'
description: "The maximum spend in services for the equipment until it's recommended to replace it."
enum: []
fitness_product:
type: integer
example: 0
description: 'A boolean indicating whether the asset is a fitness equipment.'
enum: []
has_odometer:
type: integer
example: 1
description: 'A boolean indicating whether the asset has an odometer.'
enum: []
residual_price:
type: string
example: £542.23
description: 'The residual value of the asset.'
enum: []
image:
type: string
example: null
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:02+00:00'
description: 'The date and time the asset was created.'
enum: []
description: 'An object representing the asset linked to the ticket.'
contract:
type: object
properties:
id:
type: integer
example: 1
number:
type: string
example: WSGE123
type:
type: string
example: 'Full Annual'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Dusty
last_name:
type: string
example: Cummings
email:
type: string
example: service-provider@orbit4.org
role:
type: string
example: service_provider
company:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'The Gym Fixers'
address:
type: string
example: '37863 Nikko Port'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'Lake Karleymouth'
country:
type: string
example: UK
postcode:
type: string
example: '63447'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2026-02-24'
end_date:
type: string
example: '2027-02-24'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:04+00:00'
media:
type: array
example:
-
id: 7
url: 'https://cdn.orbit4.org/uploads/26271699f0ef3534d10.56497757.jpg'
type: image
resource_type: ticket
resource_id: 9
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2026-02-25T15:02:11+00:00'
description: 'An array of objects representing the media linked to the ticket.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 7
url:
type: string
example: 'https://cdn.orbit4.org/uploads/26271699f0ef3534d10.56497757.jpg'
type:
type: string
example: image
resource_type:
type: string
example: ticket
resource_id:
type: integer
example: 9
extra_properties:
type: object
properties:
variants:
type: object
properties:
large:
type: boolean
example: true
main:
type: boolean
example: true
listing:
type: boolean
example: true
thumbnail:
type: boolean
example: true
created_at:
type: string
example: '2026-02-25T15:02:11+00:00'
images:
type: array
example:
-
id: 7
url: 'https://cdn.orbit4.org/uploads/26271699f0ef3534d10.56497757.jpg'
type: image
resource_type: ticket
resource_id: 9
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2026-02-25T15:02:11+00:00'
description: 'An array of objects representing the images linked to the ticket.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 7
url:
type: string
example: 'https://cdn.orbit4.org/uploads/26271699f0ef3534d10.56497757.jpg'
type:
type: string
example: image
resource_type:
type: string
example: ticket
resource_id:
type: integer
example: 9
extra_properties:
type: object
properties:
variants:
type: object
properties:
large:
type: boolean
example: true
main:
type: boolean
example: true
listing:
type: boolean
example: true
thumbnail:
type: boolean
example: true
created_at:
type: string
example: '2026-02-25T15:02:11+00:00'
documents:
type: array
example: []
description: 'An array of objects representing the documents linked to the ticket (quotes, invoices, purchase orders, worksheets, and other files).'
enum: []
notes:
type: array
example:
-
id: 11
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:11+00:00'
-
id: 12
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'The treadmill is broken. Please fix it.'
is_system: false
metadata: []
created_at: '2026-02-25T15:02:11+00:00'
-
id: 13
user:
id: 1
first_name: Aiden
last_name: Veum
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Image Uploaded'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:11+00:00'
description: 'An array of objects representing the notes linked to the ticket.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 11
user:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
note:
type: string
example: 'Ticket Raised'
is_system:
type: boolean
example: true
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:11+00:00'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-25T15:02:11+00:00'
description: 'The date and time the ticket was created.'
enum: []
tags:
- Tickets
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
sender_id:
type: integer
description: 'The ID of the gym operator raising the ticket.'
example: 2.0
nullable: false
recipient_id:
type: integer
description: 'The ID of the user the ticket is sent to. Only required if the ticket is sent to a user.'
example: 4.0
nullable: false
asset_id:
type: integer
description: 'The ID of the asset the ticket is raised for'
example: 1
nullable: true
type:
type: string
description: 'The type of ticket being raised.'
example: standard
nullable: false
enum:
- standard
- ad-hoc
- internal
- service
- stock
description:
type: string
description: 'The description of the problem being raised in the ticket.'
example: 'The treadmill is broken. Please fix it.'
nullable: false
priority:
type: string
description: 'The priority of the ticket based on the state of the equipment.'
example: Faulty
nullable: false
enum:
- Low
- Faulty
- 'Out of Order'
- Replacement
problem_type:
type: string
description: 'The problem type of the ticket.'
example: software
nullable: false
enum:
- electrical
- software
- mechanical
- undefined
images:
type: array
description: 'A file to be attached to the ticket as an image. Supports jpeg, png, jpg, webp, heic formats. Must be an image. Must not be greater than 10240 kilobytes.'
items:
type: string
format: binary
metadata:
type: string
description: 'A JSON object with metadata, which can be used for filtering. This will also be included in API responses and webhook payloads.'
example: '{"integration_id":"ABC123"}'
nullable: false
required:
- sender_id
- recipient_id
- type
- description
'/v1/tickets/{ticket}':
get:
summary: 'Fetch ticket details.'
operationId: fetchTicketDetails
description: "This endpoint allows you to retrieve details of a specific ticket by their ID. The returned details include the\nticket's status, assigned user, and other relevant information."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 2
number: WSGE123-002
type: standard
description: null
priority: Faulty
problem_type: electrical
tags: []
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
images:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
documents:
-
id: 2
url: 'https://cdn.orbit4.org/uploads/quote.pdf'
type: quote
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
-
id: 6
url: 'https://cdn.orbit4.org/uploads/sample-inventory-item-purchase-order.pdf'
type: purchase_order
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
notes:
-
id: 2
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
-
id: 8
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 9
user:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the ticket within the Orbit4 system.'
enum: []
number:
type: string
example: WSGE123-002
description: 'A user friendly identifier for the ticket.'
enum: []
type:
type: string
example: standard
description: 'The type of ticket.'
enum: []
description:
type: string
example: null
description: 'A description of the issue.'
enum: []
priority:
type: string
example: Faulty
description: 'The priority of the ticket based on the state of the equipment.'
enum: []
problem_type:
type: string
example: electrical
description: 'The problem type of the ticket. Possible values are: electrical, software, mechanical, undefined'
enum: []
tags:
type: array
example: []
status:
type: string
example: open
description: 'The current status of the ticket.'
enum: []
engineer_arrived_at:
type: string
example: null
description: 'The date and time the engineer arrived at the location.'
enum: []
engineer_deployed_at:
type: string
example: null
description: 'The date and time the engineer was deployed to the location.'
enum: []
closed_at:
type: string
example: null
description: 'The date and time the ticket was closed.'
enum: []
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Dusty
last_name:
type: string
example: Cummings
email:
type: string
example: service-provider@orbit4.org
role:
type: string
example: service_provider
company:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'The Gym Fixers'
address:
type: string
example: '37863 Nikko Port'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'Lake Karleymouth'
country:
type: string
example: UK
postcode:
type: string
example: '63447'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
ticket_admin:
type: string
example: null
engineer:
type: string
example: null
caretaker:
type: string
example: null
asset:
type: string
example: null
contract:
type: object
properties:
id:
type: integer
example: 1
number:
type: string
example: WSGE123
type:
type: string
example: 'Full Annual'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Dusty
last_name:
type: string
example: Cummings
email:
type: string
example: service-provider@orbit4.org
role:
type: string
example: service_provider
company:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'The Gym Fixers'
address:
type: string
example: '37863 Nikko Port'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'Lake Karleymouth'
country:
type: string
example: UK
postcode:
type: string
example: '63447'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2026-02-24'
end_date:
type: string
example: '2027-02-24'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:04+00:00'
media:
type: array
example:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
description: 'An array of objects representing the media linked to the ticket.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 1
url:
type: string
example: 'https://cdn.orbit4.org/uploads/image.jpg'
type:
type: string
example: image
resource_type:
type: string
example: ticket
resource_id:
type: integer
example: 2
extra_properties:
type: string
example: null
created_at:
type: string
example: '2026-02-25T15:02:07+00:00'
images:
type: array
example:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
description: 'An array of objects representing the images linked to the ticket.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 1
url:
type: string
example: 'https://cdn.orbit4.org/uploads/image.jpg'
type:
type: string
example: image
resource_type:
type: string
example: ticket
resource_id:
type: integer
example: 2
extra_properties:
type: string
example: null
created_at:
type: string
example: '2026-02-25T15:02:07+00:00'
documents:
type: array
example:
-
id: 2
url: 'https://cdn.orbit4.org/uploads/quote.pdf'
type: quote
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
-
id: 6
url: 'https://cdn.orbit4.org/uploads/sample-inventory-item-purchase-order.pdf'
type: purchase_order
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
description: 'An array of objects representing the documents linked to the ticket (quotes, invoices, purchase orders, worksheets, and other files).'
enum: []
items:
type: object
properties:
id:
type: integer
example: 2
url:
type: string
example: 'https://cdn.orbit4.org/uploads/quote.pdf'
type:
type: string
example: quote
resource_type:
type: string
example: ticket
resource_id:
type: integer
example: 2
extra_properties:
type: string
example: null
created_at:
type: string
example: '2026-02-25T15:02:07+00:00'
notes:
type: array
example:
-
id: 2
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
-
id: 8
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 9
user:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
description: 'An array of objects representing the notes linked to the ticket.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 2
user:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
note:
type: string
example: 'Ticket Raised'
is_system:
type: boolean
example: true
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:05+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:05+00:00'
description: 'The date and time the ticket was created.'
enum: []
tags:
- Tickets
put:
summary: 'Update ticket.'
operationId: updateTicket
description: "This endpoint allows you to update details of a specific ticket by their ID. Only the fields that need to be\nupdated should be provided."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 2
number: WSGE123-002
type: standard
description: null
priority: Faulty
problem_type: electrical
tags: []
status: closed
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: '2026-02-25T15:02:12+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Full Annual'
gym_operator:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
service_provider:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
active: true
start_date: '2026-02-24'
end_date: '2027-02-24'
metadata: []
created_at: '2026-02-25T15:02:04+00:00'
media:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
images:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
documents:
-
id: 2
url: 'https://cdn.orbit4.org/uploads/quote.pdf'
type: quote
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
-
id: 6
url: 'https://cdn.orbit4.org/uploads/sample-inventory-item-purchase-order.pdf'
type: purchase_order
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
notes:
-
id: 2
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
-
id: 8
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 9
user:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 11
user:
id: 1
first_name: Aiden
last_name: Veum
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Closed'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:12+00:00'
metadata:
integration_id: ABC123
created_at: '2026-02-25T15:02:05+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the ticket within the Orbit4 system.'
enum: []
number:
type: string
example: WSGE123-002
description: 'A user friendly identifier for the ticket.'
enum: []
type:
type: string
example: standard
description: 'The type of ticket.'
enum: []
description:
type: string
example: null
description: 'A description of the issue.'
enum: []
priority:
type: string
example: Faulty
description: 'The priority of the ticket based on the state of the equipment.'
enum: []
problem_type:
type: string
example: electrical
description: 'The problem type of the ticket. Possible values are: electrical, software, mechanical, undefined'
enum: []
tags:
type: array
example: []
status:
type: string
example: closed
description: 'The current status of the ticket.'
enum: []
engineer_arrived_at:
type: string
example: null
description: 'The date and time the engineer arrived at the location.'
enum: []
engineer_deployed_at:
type: string
example: null
description: 'The date and time the engineer was deployed to the location.'
enum: []
closed_at:
type: string
example: '2026-02-25T15:02:12+00:00'
description: 'The date and time the ticket was closed.'
enum: []
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Dusty
last_name:
type: string
example: Cummings
email:
type: string
example: service-provider@orbit4.org
role:
type: string
example: service_provider
company:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'The Gym Fixers'
address:
type: string
example: '37863 Nikko Port'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'Lake Karleymouth'
country:
type: string
example: UK
postcode:
type: string
example: '63447'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
ticket_admin:
type: string
example: null
engineer:
type: string
example: null
caretaker:
type: string
example: null
asset:
type: string
example: null
contract:
type: object
properties:
id:
type: integer
example: 1
number:
type: string
example: WSGE123
type:
type: string
example: 'Full Annual'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Dusty
last_name:
type: string
example: Cummings
email:
type: string
example: service-provider@orbit4.org
role:
type: string
example: service_provider
company:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'The Gym Fixers'
address:
type: string
example: '37863 Nikko Port'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'Lake Karleymouth'
country:
type: string
example: UK
postcode:
type: string
example: '63447'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:59+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:59+00:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2026-02-24'
end_date:
type: string
example: '2027-02-24'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:04+00:00'
media:
type: array
example:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
description: 'An array of objects representing the media linked to the ticket.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 1
url:
type: string
example: 'https://cdn.orbit4.org/uploads/image.jpg'
type:
type: string
example: image
resource_type:
type: string
example: ticket
resource_id:
type: integer
example: 2
extra_properties:
type: string
example: null
created_at:
type: string
example: '2026-02-25T15:02:07+00:00'
images:
type: array
example:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
description: 'An array of objects representing the images linked to the ticket.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 1
url:
type: string
example: 'https://cdn.orbit4.org/uploads/image.jpg'
type:
type: string
example: image
resource_type:
type: string
example: ticket
resource_id:
type: integer
example: 2
extra_properties:
type: string
example: null
created_at:
type: string
example: '2026-02-25T15:02:07+00:00'
documents:
type: array
example:
-
id: 2
url: 'https://cdn.orbit4.org/uploads/quote.pdf'
type: quote
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
-
id: 6
url: 'https://cdn.orbit4.org/uploads/sample-inventory-item-purchase-order.pdf'
type: purchase_order
resource_type: ticket
resource_id: 2
extra_properties: null
created_at: '2026-02-25T15:02:07+00:00'
description: 'An array of objects representing the documents linked to the ticket (quotes, invoices, purchase orders, worksheets, and other files).'
enum: []
items:
type: object
properties:
id:
type: integer
example: 2
url:
type: string
example: 'https://cdn.orbit4.org/uploads/quote.pdf'
type:
type: string
example: quote
resource_type:
type: string
example: ticket
resource_id:
type: integer
example: 2
extra_properties:
type: string
example: null
created_at:
type: string
example: '2026-02-25T15:02:07+00:00'
notes:
type: array
example:
-
id: 2
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:05+00:00'
-
id: 8
user:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 9
user:
id: 4
first_name: Dusty
last_name: Cummings
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '37863 Nikko Port'
address_2: null
address_3: null
city: 'Lake Karleymouth'
country: UK
postcode: '63447'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:59+00:00'
metadata: []
created_at: '2026-02-25T15:01:59+00:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
metadata: []
created_at: '2026-02-25T15:02:07+00:00'
-
id: 11
user:
id: 1
first_name: Aiden
last_name: Veum
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: null
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
note: 'Ticket Closed'
is_system: true
metadata: []
created_at: '2026-02-25T15:02:12+00:00'
description: 'An array of objects representing the notes linked to the ticket.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 2
user:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Terry
last_name:
type: string
example: McLaughlin
email:
type: string
example: club-a@orbit4.org
role:
type: string
example: gym_operator
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '5511 Alexandro Park Apt. 045'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Raulland
country:
type: string
example: UK
postcode:
type: string
example: '94882'
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
note:
type: string
example: 'Ticket Raised'
is_system:
type: boolean
example: true
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:02:05+00:00'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-25T15:02:05+00:00'
description: 'The date and time the ticket was created.'
enum: []
tags:
- Tickets
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: 'The status of the ticket.'
example: closed
nullable: false
enum:
- open
- pending
- parts_required
- engineer_deployed
- closed
engineer_id:
type: integer
description: 'The ID of the external technician deployed by the service provider.'
example: null
nullable: false
caretaker_id:
type: integer
description: 'The ID of the internal technician deployed by the gym operator.'
example: null
nullable: false
ticket_admin_id:
type: integer
description: 'The ID of the ticket admin managing the ticket.'
example: null
nullable: false
case_number:
type: string
description: 'An optional alternative identifier.'
example: null
nullable: false
priority:
type: string
description: 'The level of priority based on the equipment damage.'
example: Faulty
nullable: false
enum:
- Low
- Faulty
- 'Out of Order'
- Replacement
engineer_arrived_at:
type: datetime
description: 'A timestamp indicating the time the technician arrived to the site.'
example: null
nullable: false
engineer_completed_at:
type: datetime
description: 'A timestamp indicating the time the technician left the site after completion.'
example: null
nullable: false
engineer_deployed_at:
type: datetime
description: 'A timestamp indicating the time the technician was deployed by the service provider.'
example: null
nullable: false
closed_at:
type: datetime
description: 'A timestamp indicating the time the ticket was marked as closed.'
example: null
nullable: false
metadata:
type: string
description: 'A JSON object with metadata, which can be used for filtering. This will also be included in API responses and webhook payloads.'
example: '{"integration_id":"ABC123"}'
nullable: false
parameters:
-
in: path
name: ticket
description: 'The ID of the ticket.'
example: '2'
required: true
schema:
type: string
/v1/users:
get:
summary: 'Search for users.'
operationId: searchForUsers
description: "This endpoint retrieves users associated with your account. The user role must be specified to fetch users of a\nspecific role in the system. For users that are part of a parent account (like engineers and ticket admins), the\nparent_id parameter must be provided."
parameters:
-
in: query
name: search
description: 'Search for users by first name, last name, company name, site name or email address.'
example: null
required: false
schema:
type: string
description: 'Search for users by first name, last name, company name, site name or email address.'
example: null
nullable: false
-
in: query
name: source
description: 'Filter users by their data source/origin.'
example: oracle_fusion
required: false
schema:
type: string
description: 'Filter users by their data source/origin.'
example: oracle_fusion
nullable: false
enum:
- oracle_fusion
- vasa
- manual
-
in: query
name: parent_id
description: 'Filter users by their parent account. This field is required when querying engineers or ticket admins.'
example: null
required: false
schema:
type: integer
description: 'Filter users by their parent account. This field is required when querying engineers or ticket admins.'
example: null
nullable: false
-
in: query
name: role
description: 'Filter users by role.'
example: gym_operator
required: true
schema:
type: string
description: 'Filter users by role.'
example: gym_operator
nullable: false
enum:
- gym_operator
- service_provider
- engineer
- ticket_admin
-
in: query
name: metadata
description: 'Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.'
example: null
required: false
schema:
type: string
description: 'Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.'
example: null
nullable: false
-
in: query
name: page
description: 'The page number of results to be returned.'
example: null
required: false
schema:
type: integer
description: 'The page number of results to be returned.'
example: null
nullable: false
-
in: query
name: per_page
description: 'The number of results to be returned for each page of results.'
example: null
required: false
schema:
type: integer
description: 'The number of results to be returned for each page of results.'
example: null
nullable: false
-
in: query
name: sort
description: "Results can be sorted by the following fields:\n\n- id
- first_name
- last_name
- company_name
- site_name
- email
- role
- created_at
\n\nThe default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: `?sort=-id`"
example: null
required: false
schema:
type: string
description: "Results can be sorted by the following fields:\n\n- id
- first_name
- last_name
- company_name
- site_name
- email
- role
- created_at
\n\nThe default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: `?sort=-id`"
example: null
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data: []
links:
first: 'https://api.orbit4.org/v1/users?page=1'
last: 'https://api.orbit4.org/v1/users?page=1'
prev: null
next: null
meta:
current_page: 1
from: null
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'https://api.orbit4.org/v1/users?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'https://api.orbit4.org/v1/users'
per_page: 25
to: null
total: 0
properties:
data:
type: array
example: []
links:
type: object
properties:
first:
type: string
example: 'https://api.orbit4.org/v1/users?page=1'
last:
type: string
example: 'https://api.orbit4.org/v1/users?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: string
example: null
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'https://api.orbit4.org/v1/users?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: 'https://api.orbit4.org/v1/users'
per_page:
type: integer
example: 25
to:
type: string
example: null
total:
type: integer
example: 0
tags:
- Users
post:
summary: 'Create new user.'
operationId: createNewUser
description: "This endpoint allows you to add a new user to your account. The user role must be specified when creating a new\nuser.\n\nAnd the parent_id parameter must be provided for users that are part of a parent account (like\nengineers and ticket admins)."
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 23
first_name: xhxm
last_name: xvatxuaw
email: jweimann@example.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: xitcpqpzetvhazbn
language: fr
email_verified_at: null
metadata:
integration_id: ABC123
created_at: '2026-02-25T15:02:09+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 23
description: 'The unique identifier for the user within the Orbit4 system.'
enum: []
first_name:
type: string
example: xhxm
description: 'The first name of the user.'
enum: []
last_name:
type: string
example: xvatxuaw
description: 'The last name of the user.'
enum: []
email:
type: string
example: jweimann@example.org
description: 'The email address of the user.'
enum: []
role:
type: string
example: gym_operator
description: 'The role of the user.'
enum: []
company:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the company within the Orbit4 system.'
enum: []
name:
type: string
example: 'PulseForge Fitness'
description: 'The name of the company.'
enum: []
address:
type: string
example: '5511 Alexandro Park Apt. 045'
description: "The first line of the company's address."
enum: []
address_2:
type: string
example: null
description: "The second line of the company's address."
enum: []
address_3:
type: string
example: null
description: "The third line of the company's address."
enum: []
city:
type: string
example: Raulland
description: "The city of the company's address."
enum: []
country:
type: string
example: UK
description: "The country of the company's address."
enum: []
postcode:
type: string
example: '94882'
description: "The postcode of the company's address."
enum: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
description: 'The date and time the company was created.'
enum: []
description: 'An object representing the company the user is associated with.'
site_name:
type: string
example: xitcpqpzetvhazbn
language:
type: string
example: fr
description: 'The language the user prefers to use.'
enum: []
email_verified_at:
type: string
example: null
description: 'The date and time the user verified their email address.'
enum: []
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-25T15:02:09+00:00'
description: 'The date and time the user was created.'
enum: []
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
first_name:
type: string
description: 'The first name of the user.'
example: xhxm
nullable: false
last_name:
type: string
description: 'The last name of the user.'
example: xvatxuaw
nullable: false
email:
type: string
description: 'The email address of the user.'
example: jweimann@example.org
nullable: false
company_id:
type: numeric
description: 'The company id the user belongs to. Only for Service Providers.'
example: null
nullable: false
site_name:
type: string
description: 'The name of the club the user belongs to. Only for Gym Operators.'
example: xitcpqpzetvhazbn
nullable: false
language:
type: string
description: 'The preferred language the user wants to receive their notifications.'
example: fr
nullable: false
enum:
- en
- es
- de
- bg
- pt
- fr
- jp
- tr
- ar
- zh
- zh-Hant
- hi
- bn
- pl
- id
- th
- vi
- el
parent_id:
type: integer
description: 'The ID of the parent account. This field is required when creating engineers or ticket admins.'
example: null
nullable: false
role:
type: string
description: 'The role of the user.'
example: gym_operator
nullable: false
enum:
- gym_operator
- service_provider
- gym_staff
- caretaker
- engineer
- ticket_admin
metadata:
type: string
description: 'A JSON object with metadata, which can be used for filtering. This will also be included in API responses and webhook payloads.'
example: '{"integration_id":"ABC123"}'
nullable: false
required:
- first_name
- last_name
- email
- language
- role
'/v1/users/{user}':
get:
summary: 'Fetch user details.'
operationId: fetchUserDetails
description: 'This endpoint allows you to retrieve details of a specific user by their ID.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 2
first_name: Terry
last_name: McLaughlin
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata: []
created_at: '2026-02-25T15:01:58+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
enum: []
first_name:
type: string
example: Terry
description: 'The first name of the user.'
enum: []
last_name:
type: string
example: McLaughlin
description: 'The last name of the user.'
enum: []
email:
type: string
example: club-a@orbit4.org
description: 'The email address of the user.'
enum: []
role:
type: string
example: gym_operator
description: 'The role of the user.'
enum: []
company:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the company within the Orbit4 system.'
enum: []
name:
type: string
example: 'PulseForge Fitness'
description: 'The name of the company.'
enum: []
address:
type: string
example: '5511 Alexandro Park Apt. 045'
description: "The first line of the company's address."
enum: []
address_2:
type: string
example: null
description: "The second line of the company's address."
enum: []
address_3:
type: string
example: null
description: "The third line of the company's address."
enum: []
city:
type: string
example: Raulland
description: "The city of the company's address."
enum: []
country:
type: string
example: UK
description: "The country of the company's address."
enum: []
postcode:
type: string
example: '94882'
description: "The postcode of the company's address."
enum: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
description: 'The date and time the company was created.'
enum: []
description: 'An object representing the company the user is associated with.'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
description: 'The language the user prefers to use.'
enum: []
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
description: 'The date and time the user verified their email address.'
enum: []
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
description: 'The date and time the user was created.'
enum: []
tags:
- Users
put:
summary: 'Update user.'
operationId: updateUser
description: "This endpoint allows you to update details of a specific user by their ID. Only the fields that need to be\nupdated should be provided."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 2
first_name: adnbyexagrgrkbpbpivodvpju
last_name: nxdujliepojnkxtvq
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '5511 Alexandro Park Apt. 045'
address_2: null
address_3: null
city: Raulland
country: UK
postcode: '94882'
created_at: '2026-02-25T15:01:58+00:00'
site_name: ytliempbsaacaclscz
language: el
email_verified_at: '2026-02-25T15:01:58+00:00'
metadata:
integration_id: ABC123
created_at: '2026-02-25T15:01:58+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
enum: []
first_name:
type: string
example: adnbyexagrgrkbpbpivodvpju
description: 'The first name of the user.'
enum: []
last_name:
type: string
example: nxdujliepojnkxtvq
description: 'The last name of the user.'
enum: []
email:
type: string
example: club-a@orbit4.org
description: 'The email address of the user.'
enum: []
role:
type: string
example: gym_operator
description: 'The role of the user.'
enum: []
company:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the company within the Orbit4 system.'
enum: []
name:
type: string
example: 'PulseForge Fitness'
description: 'The name of the company.'
enum: []
address:
type: string
example: '5511 Alexandro Park Apt. 045'
description: "The first line of the company's address."
enum: []
address_2:
type: string
example: null
description: "The second line of the company's address."
enum: []
address_3:
type: string
example: null
description: "The third line of the company's address."
enum: []
city:
type: string
example: Raulland
description: "The city of the company's address."
enum: []
country:
type: string
example: UK
description: "The country of the company's address."
enum: []
postcode:
type: string
example: '94882'
description: "The postcode of the company's address."
enum: []
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
description: 'The date and time the company was created.'
enum: []
description: 'An object representing the company the user is associated with.'
site_name:
type: string
example: ytliempbsaacaclscz
language:
type: string
example: el
description: 'The language the user prefers to use.'
enum: []
email_verified_at:
type: string
example: '2026-02-25T15:01:58+00:00'
description: 'The date and time the user verified their email address.'
enum: []
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-25T15:01:58+00:00'
description: 'The date and time the user was created.'
enum: []
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
first_name:
type: string
description: 'The first name of the user.'
example: adnbyexagrgrkbpbpivodvpju
nullable: false
last_name:
type: string
description: 'The last name of the user.'
example: nxdujliepojnkxtvq
nullable: false
site_name:
type: string
description: 'The name of the club the user belongs to. Only for Gym Operators.'
example: ytliempbsaacaclscz
nullable: false
language:
type: string
description: 'The preferred language the user wants to receive their notifications.'
example: el
nullable: false
enum:
- en
- es
- de
- bg
- pt
- fr
- jp
- tr
- ar
- zh
- zh-Hant
- hi
- bn
- pl
- id
- th
- vi
- el
metadata:
type: string
description: 'A JSON object with metadata, which can be used for filtering. This will also be included in API responses and webhook payloads.'
example: '{"integration_id":"ABC123"}'
nullable: false
required:
- first_name
- last_name
- language
delete:
summary: 'Delete user.'
operationId: deleteUser
description: 'This endpoint allows you to delete a specific user from your account by their ID.'
parameters: []
responses:
204:
description: ''
tags:
- Users
parameters:
-
in: path
name: user
description: 'The ID of the user.'
example: '2'
required: true
schema:
type: string
'/v1/users/{user}/link':
post:
summary: 'Link user'
operationId: linkUser
description: "This endpoint allows you to link a user to a parent user account. i.e. link an engineer to a\nservice provider account."
parameters: []
responses:
204:
description: ''
tags:
- Users
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
child_id:
type: string
description: 'The ID of the user to be linked to the parent user account.'
example: 5.0
nullable: false
parameters:
-
in: path
name: user
description: 'The ID of the parent user.'
example: '3'
required: true
schema:
type: string
'/v1/users/{user}/unlink':
post:
summary: 'Unlink user'
operationId: unlinkUser
description: "This endpoint allows you to unlink a user from a parent user account. i.e. unlink a ticket admin from a\ngym operator account."
parameters: []
responses:
204:
description: ''
tags:
- Users
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
child_id:
type: string
description: 'The ID of the user to be unlinked from the parent user account.'
example: 7.0
nullable: false
parameters:
-
in: path
name: user
description: 'The ID of the parent user.'
example: '3'
required: true
schema:
type: string
tags:
-
name: Assets
description: "\nThe following set of endpoints are engineered for efficient management of your clubs' asset registers on the Orbit4\nplatform. They simplify the process of creating, updating, and even deleting assets that are no longer needed within\nyour gym operator accounts. The main purpose of these operations is facilitating the synchronization of your system's\nassets with Orbit4."
-
name: Contracts
description: "\nThe following set of endpoints are designed to facilitate the management of your service contracts between your gym\noperators and service providers on the Orbit4 platform. They simplify the process of searching and creating contracts."
-
name: Media
description: "\nThe following set of endpoints are designed to facilitate the management of media files within the different\nresources."
-
name: Notes
description: "\nThe following set of endpoints are designed to facilitate the management of ticket notes.\naccounts."
-
name: Tickets
description: "\nThe following set of endpoints are designed to facilitate the management of tickets within your different user\naccounts. They allow you to search for tickets, fetch specific ticket details, create new tickets, update ticket\ndetails, and even change tickets' status. The main purpose of these operations is facilitating the synchronization\nof your system's tickets with Orbit4."
-
name: Users
description: "\nThe following set of endpoints provide a comprehensive suite of tools for managing your users within your account.\nThey are designed to handle a variety of operations, from searching for users based on specific roles, fetching\ndetailed information about individual users, creating new users, updating existing user details, and even removing\nusers from your account when no longer needed. The main purpose of these operations is facilitating the\nsynchronization of your system's users with Orbit4."
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'You can retrieve your token by navigating to the API Tokens section within your profile menu and then clicking on Generate API Token.'
security:
-
default: []