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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-549
serial_number: MSN-835
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£4,763.20'
fitness_product: 1
has_odometer: 0
residual_price: £142.80
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 2
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-202
serial_number: MSN-097
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£9,810.03'
fitness_product: 0
has_odometer: 0
residual_price: £719.84
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 3
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-192
serial_number: MSN-884
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£7,305.42'
fitness_product: 1
has_odometer: 1
residual_price: £931.99
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 4
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-641
serial_number: MSN-039
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£2,986.85'
fitness_product: 0
has_odometer: 1
residual_price: £142.80
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 5
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-240
serial_number: MSN-309
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£3,712.61'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 6
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-149
serial_number: MSN-982
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£3,274.73'
fitness_product: 0
has_odometer: 1
residual_price: £931.99
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 7
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-508
serial_number: MSN-902
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£1,562.72'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 8
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-630
serial_number: MSN-470
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£5,822.70'
fitness_product: 0
has_odometer: 0
residual_price: £719.84
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 9
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-931
serial_number: MSN-826
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£2,646.87'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 10
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-994
serial_number: MSN-518
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£5,273.61'
fitness_product: 1
has_odometer: 1
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+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: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-549
serial_number: MSN-835
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£4,763.20'
fitness_product: 1
has_odometer: 0
residual_price: £142.80
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 2
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-202
serial_number: MSN-097
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£9,810.03'
fitness_product: 0
has_odometer: 0
residual_price: £719.84
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 3
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-192
serial_number: MSN-884
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£7,305.42'
fitness_product: 1
has_odometer: 1
residual_price: £931.99
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 4
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-641
serial_number: MSN-039
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£2,986.85'
fitness_product: 0
has_odometer: 1
residual_price: £142.80
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 5
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-240
serial_number: MSN-309
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£3,712.61'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 6
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-149
serial_number: MSN-982
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£3,274.73'
fitness_product: 0
has_odometer: 1
residual_price: £931.99
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 7
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-508
serial_number: MSN-902
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£1,562.72'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 8
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-630
serial_number: MSN-470
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£5,822.70'
fitness_product: 0
has_odometer: 0
residual_price: £719.84
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 9
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-931
serial_number: MSN-826
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£2,646.87'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 10
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-994
serial_number: MSN-518
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£5,273.61'
fitness_product: 1
has_odometer: 1
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
description: 'An array of paginated items.'
items:
type: object
properties:
id:
type: integer
example: 1
brand:
type: string
example: 'Hammer Strength'
range:
type: string
example: 'Plateloaded Iso-Lateral'
product:
type: string
example: 'Seated Leg Press'
product_id:
type: integer
example: 5
qr_code:
type: string
example: O4-549
serial_number:
type: string
example: MSN-835
installation_date:
type: string
example: '2023-02-11T13:00:40.000000Z'
manufacturing_date:
type: string
example: '2022-02-11T13:00:40.000000Z'
warranty_end_date:
type: string
example: '2028-02-11T13:00:40.000000Z'
deprecation_date:
type: string
example: '2031-02-11T13:00:40.000000Z'
current_spend:
type: string
example: £0
max_spend:
type: string
example: '£4,763.20'
fitness_product:
type: integer
example: 1
has_odometer:
type: integer
example: 0
residual_price:
type: string
example: £142.80
image:
type: string
example: null
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:40+00:00'
links:
type: object
properties:
first:
type: string
example: 'https://api.orbit4.org/v1/assets?page=1'
description: 'The first page URL.'
last:
type: string
example: 'https://api.orbit4.org/v1/assets?page=1'
description: 'The last page URL.'
prev:
type: string
example: null
description: 'The previous page URL.'
next:
type: string
example: null
description: 'The next page URL.'
meta:
type: object
properties:
current_page:
type: integer
example: 1
description: 'Current page number.'
from:
type: integer
example: 1
description: 'Starting record number.'
last_page:
type: integer
example: 1
description: 'Last page number.'
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.'
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.'
per_page:
type: integer
example: 25
description: 'Records per page.'
to:
type: integer
example: 10
description: 'Ending record number.'
total:
type: integer
example: 10
description: 'Total number of records.'
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-11T00:00:00.000000Z'
manufacturing_date: '2026-02-11T00:00:00.000000Z'
warranty_end_date: '2026-02-11T00:00:00.000000Z'
deprecation_date: '2026-02-11T00:00:00.000000Z'
current_spend: £0
max_spend: '£934,288.61'
fitness_product: null
has_odometer: null
residual_price: £248.97
image: null
metadata:
integration_id: ABC123
created_at: '2026-02-11T13:00:43+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 16
description: 'The unique identifier for the asset within the Orbit4 system.'
brand:
type: string
example: 'Life Fitness'
description: 'The brand of the asset.'
range:
type: string
example: 'IC7 Spin Bike'
description: 'The range of the asset.'
product:
type: string
example: 'Studio Bike'
description: 'The name of the product.'
product_id:
type: integer
example: 1
description: 'The unique identifier for the product within the Orbit4 system.'
qr_code:
type: string
example: O4-123456
description: 'The qr code number used on the sticker of the equipment.'
serial_number:
type: string
example: '123456'
description: 'The manufacturer serial number of the equipment.'
installation_date:
type: string
example: '2026-02-11T00:00:00.000000Z'
description: 'The installation date of the equipment.'
manufacturing_date:
type: string
example: '2026-02-11T00:00:00.000000Z'
description: 'The manufacturing date of the equipment.'
warranty_end_date:
type: string
example: '2026-02-11T00:00:00.000000Z'
description: 'The warranty end date of the equipment.'
deprecation_date:
type: string
example: '2026-02-11T00:00:00.000000Z'
description: 'The end date of the equipment.'
current_spend:
type: string
example: £0
description: 'The current spend in services for the equipment.'
max_spend:
type: string
example: '£934,288.61'
description: "The maximum spend in services for the equipment until it's recommended to replace it."
fitness_product:
type: string
example: null
description: 'A boolean indicating whether the asset is a fitness equipment.'
has_odometer:
type: string
example: null
description: 'A boolean indicating whether the asset has an odometer.'
residual_price:
type: string
example: £248.97
description: 'The residual value of the asset.'
image:
type: string
example: null
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-11T13:00:43+00:00'
description: 'The date and time the asset was created.'
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
qr_code:
type: string
description: 'The qr code number used on the sticker of the equipment.'
example: O4-123456
serial_number:
type: string
description: 'The manufacturer serial number of the equipment.'
example: '123456'
installation_date:
type: string
description: 'The installation date of the equipment.'
example: '2026-02-11'
manufacturing_date:
type: string
description: 'The manufacturing date of the equipment.'
example: '2026-02-11'
warranty_end_date:
type: string
description: 'The warranty end date of the equipment.'
example: '2026-02-11'
deprecation_date:
type: string
description: 'The date when the equipment is expected to be decommissioned or replaced.'
example: '2026-02-11'
brand:
type: string
description: 'The brand of the equipment. This field will be automatically populated if the product_id is provided.'
example: 'Life Fitness'
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'
product:
type: string
description: 'The name of the equipment. This field will be automatically populated if the product_id is provided.'
example: 'Chest Press'
product_id:
type: integer
description: 'The ID of the equipment in the Orbit4 database.'
example: 1
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"}'
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: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-202
serial_number: MSN-097
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£9,810.03'
fitness_product: 0
has_odometer: 0
residual_price: £719.84
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the asset within the Orbit4 system.'
brand:
type: string
example: Technogym
description: 'The brand of the asset.'
range:
type: string
example: 'Excite JOG 700 LED'
description: 'The range of the asset.'
product:
type: string
example: Treadmill
description: 'The name of the product.'
product_id:
type: integer
example: 4
description: 'The unique identifier for the product within the Orbit4 system.'
qr_code:
type: string
example: O4-202
description: 'The qr code number used on the sticker of the equipment.'
serial_number:
type: string
example: MSN-097
description: 'The manufacturer serial number of the equipment.'
installation_date:
type: string
example: '2023-02-11T13:00:40.000000Z'
description: 'The installation date of the equipment.'
manufacturing_date:
type: string
example: '2022-02-11T13:00:40.000000Z'
description: 'The manufacturing date of the equipment.'
warranty_end_date:
type: string
example: '2028-02-11T13:00:40.000000Z'
description: 'The warranty end date of the equipment.'
deprecation_date:
type: string
example: '2031-02-11T13:00:40.000000Z'
description: 'The end date of the equipment.'
current_spend:
type: string
example: £0
description: 'The current spend in services for the equipment.'
max_spend:
type: string
example: '£9,810.03'
description: "The maximum spend in services for the equipment until it's recommended to replace it."
fitness_product:
type: integer
example: 0
description: 'A boolean indicating whether the asset is a fitness equipment.'
has_odometer:
type: integer
example: 0
description: 'A boolean indicating whether the asset has an odometer.'
residual_price:
type: string
example: £719.84
description: 'The residual value of the asset.'
image:
type: string
example: null
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:40+00:00'
description: 'The date and time the asset was created.'
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-11T00:00:00.000000Z'
manufacturing_date: '2026-02-11T00:00:00.000000Z'
warranty_end_date: '2026-02-11T00:00:00.000000Z'
deprecation_date: '2026-02-11T00:00:00.000000Z'
current_spend: £0
max_spend: '£9,810.03'
fitness_product: 0
has_odometer: 0
residual_price: £248.97
image: null
metadata:
integration_id: ABC123
created_at: '2026-02-11T13:00:40+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the asset within the Orbit4 system.'
brand:
type: string
example: 'Life Fitness'
description: 'The brand of the asset.'
range:
type: string
example: 'IC7 Spin Bike'
description: 'The range of the asset.'
product:
type: string
example: 'Studio Bike'
description: 'The name of the product.'
product_id:
type: integer
example: 1
description: 'The unique identifier for the product within the Orbit4 system.'
qr_code:
type: string
example: O4-123456
description: 'The qr code number used on the sticker of the equipment.'
serial_number:
type: string
example: '123456'
description: 'The manufacturer serial number of the equipment.'
installation_date:
type: string
example: '2026-02-11T00:00:00.000000Z'
description: 'The installation date of the equipment.'
manufacturing_date:
type: string
example: '2026-02-11T00:00:00.000000Z'
description: 'The manufacturing date of the equipment.'
warranty_end_date:
type: string
example: '2026-02-11T00:00:00.000000Z'
description: 'The warranty end date of the equipment.'
deprecation_date:
type: string
example: '2026-02-11T00:00:00.000000Z'
description: 'The end date of the equipment.'
current_spend:
type: string
example: £0
description: 'The current spend in services for the equipment.'
max_spend:
type: string
example: '£9,810.03'
description: "The maximum spend in services for the equipment until it's recommended to replace it."
fitness_product:
type: integer
example: 0
description: 'A boolean indicating whether the asset is a fitness equipment.'
has_odometer:
type: integer
example: 0
description: 'A boolean indicating whether the asset has an odometer.'
residual_price:
type: string
example: £248.97
description: 'The residual value of the asset.'
image:
type: string
example: null
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-11T13:00:40+00:00'
description: 'The date and time the asset was created.'
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
serial_number:
type: string
description: 'The manufacturer serial number of the equipment.'
example: '123456'
installation_date:
type: string
description: 'The installation date of the equipment.'
example: '2026-02-11'
manufacturing_date:
type: string
description: 'The manufacturing date of the equipment.'
example: '2026-02-11'
warranty_end_date:
type: string
description: 'The warranty end date of the equipment.'
example: '2026-02-11'
deprecation_date:
type: string
description: 'The end date of the equipment.'
example: '2026-02-11'
brand:
type: string
description: 'The brand of the equipment. This field will be automatically populated if the product_id is provided.'
example: 'Life Fitness'
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'
product:
type: string
description: 'The name of the equipment. This field will be automatically populated if the product_id is provided.'
example: 'Chest Press'
product_id:
type: integer
description: 'The ID of the equipment in the Orbit4 database.'
example: 1
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"}'
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+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: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
description: 'An array of paginated items.'
items:
type: object
properties:
id:
type: integer
example: 1
number:
type: string
example: WSGE123
type:
type: string
example: 'Adhoc Call-Out'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Imani
last_name:
type: string
example: Kshlerin
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: '833 Sabryna Ramp'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Bernierport
country:
type: string
example: UK
postcode:
type: string
example: '70876'
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2026-02-10'
end_date:
type: string
example: '2027-02-10'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:41+00:00'
links:
type: object
properties:
first:
type: string
example: 'https://api.orbit4.org/v1/contracts?page=1'
description: 'The first page URL.'
last:
type: string
example: 'https://api.orbit4.org/v1/contracts?page=1'
description: 'The last page URL.'
prev:
type: string
example: null
description: 'The previous page URL.'
next:
type: string
example: null
description: 'The next page URL.'
meta:
type: object
properties:
current_page:
type: integer
example: 1
description: 'Current page number.'
from:
type: integer
example: 1
description: 'Starting record number.'
last_page:
type: integer
example: 1
description: 'Last page number.'
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.'
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.'
per_page:
type: integer
example: 25
description: 'Records per page.'
to:
type: integer
example: 1
description: 'Ending record number.'
total:
type: integer
example: 1
description: 'Total number of records.'
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: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 3
first_name: Nannie
last_name: Fritsch
email: club-b@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'Notthing Hill Gate'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-11'
end_date: '2027-02-11'
metadata:
integration_id: ABC123
created_at: '2026-02-11T13:00:44+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 3
description: 'The unique identifier for the contract within the Orbit4 system.'
number:
type: string
example: WSGE1
description: 'A user friendly identifier for the contract.'
type:
type: string
example: 'Full Annual'
description: 'The type of contract.'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 3
first_name:
type: string
example: Nannie
last_name:
type: string
example: Fritsch
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'Notthing Hill Gate'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
active:
type: boolean
example: true
description: 'A boolean indicating whether the contract is currently active.'
start_date:
type: string
example: '2026-02-11'
description: 'The date the contract starts.'
end_date:
type: string
example: '2027-02-11'
description: 'The date the contract ends.'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-11T13:00:44+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
service_provider_id:
type: integer
description: 'The ID of the service provider the service contract belong to.'
example: 3.0
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-11'
type:
type: string
description: 'The type of service contract.'
example: 'Full Annual'
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
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"}'
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: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
assets:
-
id: 1
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-549
serial_number: MSN-835
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£4,763.20'
fitness_product: 1
has_odometer: 0
residual_price: £142.80
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 2
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-202
serial_number: MSN-097
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£9,810.03'
fitness_product: 0
has_odometer: 0
residual_price: £719.84
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 3
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-192
serial_number: MSN-884
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£7,305.42'
fitness_product: 1
has_odometer: 1
residual_price: £931.99
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 4
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-641
serial_number: MSN-039
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£2,986.85'
fitness_product: 0
has_odometer: 1
residual_price: £142.80
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 5
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-240
serial_number: MSN-309
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£3,712.61'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 6
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-149
serial_number: MSN-982
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£3,274.73'
fitness_product: 0
has_odometer: 1
residual_price: £931.99
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 7
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-508
serial_number: MSN-902
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£1,562.72'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 8
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-630
serial_number: MSN-470
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£5,822.70'
fitness_product: 0
has_odometer: 0
residual_price: £719.84
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 9
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-931
serial_number: MSN-826
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£2,646.87'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 10
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-994
serial_number: MSN-518
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£5,273.61'
fitness_product: 1
has_odometer: 1
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the contract within the Orbit4 system.'
number:
type: string
example: WSGE123
description: 'A user friendly identifier for the contract.'
type:
type: string
example: 'Adhoc Call-Out'
description: 'The type of contract.'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Imani
last_name:
type: string
example: Kshlerin
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: '833 Sabryna Ramp'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Bernierport
country:
type: string
example: UK
postcode:
type: string
example: '70876'
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
active:
type: boolean
example: true
description: 'A boolean indicating whether the contract is currently active.'
start_date:
type: string
example: '2026-02-10'
description: 'The date the contract starts.'
end_date:
type: string
example: '2027-02-10'
description: 'The date the contract ends.'
assets:
type: array
example:
-
id: 1
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-549
serial_number: MSN-835
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£4,763.20'
fitness_product: 1
has_odometer: 0
residual_price: £142.80
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 2
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-202
serial_number: MSN-097
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£9,810.03'
fitness_product: 0
has_odometer: 0
residual_price: £719.84
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 3
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-192
serial_number: MSN-884
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£7,305.42'
fitness_product: 1
has_odometer: 1
residual_price: £931.99
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 4
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-641
serial_number: MSN-039
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£2,986.85'
fitness_product: 0
has_odometer: 1
residual_price: £142.80
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
-
id: 5
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-240
serial_number: MSN-309
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£3,712.61'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 6
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-149
serial_number: MSN-982
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£3,274.73'
fitness_product: 0
has_odometer: 1
residual_price: £931.99
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 7
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-508
serial_number: MSN-902
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£1,562.72'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 8
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-630
serial_number: MSN-470
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£5,822.70'
fitness_product: 0
has_odometer: 0
residual_price: £719.84
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 9
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-931
serial_number: MSN-826
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£2,646.87'
fitness_product: 1
has_odometer: 0
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 10
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-994
serial_number: MSN-518
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£5,273.61'
fitness_product: 1
has_odometer: 1
residual_price: £683.78
image: null
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
description: 'An array of the assets included in the contract.'
items:
type: object
properties:
id:
type: integer
example: 1
brand:
type: string
example: 'Hammer Strength'
range:
type: string
example: 'Plateloaded Iso-Lateral'
product:
type: string
example: 'Seated Leg Press'
product_id:
type: integer
example: 5
qr_code:
type: string
example: O4-549
serial_number:
type: string
example: MSN-835
installation_date:
type: string
example: '2023-02-11T13:00:40.000000Z'
manufacturing_date:
type: string
example: '2022-02-11T13:00:40.000000Z'
warranty_end_date:
type: string
example: '2028-02-11T13:00:40.000000Z'
deprecation_date:
type: string
example: '2031-02-11T13:00:40.000000Z'
current_spend:
type: string
example: £0
max_spend:
type: string
example: '£4,763.20'
fitness_product:
type: integer
example: 1
has_odometer:
type: integer
example: 0
residual_price:
type: string
example: £142.80
image:
type: string
example: null
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:40+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:41+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: 6
url: 'https://cdn.orbit4.org/uploads/70319698c7d7dd8a0d5.20695986.jpg'
type: image
resource_type: ticket
resource_id: 1
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2026-02-11T13:00:45+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 6
description: 'The unique identifier for the media within the Orbit4 system.'
url:
type: string
example: 'https://cdn.orbit4.org/uploads/70319698c7d7dd8a0d5.20695986.jpg'
description: 'The URL of the media.'
type:
type: string
example: image
description: 'The type of media (e.g., quote, document, image).'
resource_type:
type: string
example: ticket
description: 'The type of resource this media is attached to (e.g., ticket, asset, form).'
resource_id:
type: integer
example: 1
description: 'The ID of the resource this media is attached to.'
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-11T13:00:45+00:00'
description: 'The date and time the media was created.'
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
enum:
- image
- audio
- video
- quote
- worksheet
- purchase_order
- invoice
file:
type: string
format: binary
description: 'The file being uploaded.'
resource_id:
type: integer
description: 'The ID of the resource the media is being uploaded for.'
example: 1.0
resource_type:
type: string
description: 'The type of resource the media is being uploaded for.'
example: ticket
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-11T13:00:42+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the media within the Orbit4 system.'
url:
type: string
example: 'https://cdn.orbit4.org/uploads/quote.pdf'
description: 'The URL of the media.'
type:
type: string
example: quote
description: 'The type of media (e.g., quote, document, image).'
resource_type:
type: string
example: ticket
description: 'The type of resource this media is attached to (e.g., ticket, asset, form).'
resource_id:
type: integer
example: 2
description: 'The ID of the resource this media is attached to.'
extra_properties:
type: object
properties:
approved:
type: boolean
example: true
created_at:
type: string
example: '2026-02-11T13:00:42+00:00'
description: 'The date and time the media was created.'
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}'
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: 10
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Can you please provide more details about the issue?'
is_system: false
metadata:
integration_id: ABC123
created_at: '2026-02-11T13:00:45+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 10
description: 'The unique identifier for the note within the Orbit4 system.'
user:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Liana
description: 'The first name of the user.'
last_name:
type: string
example: Klein
description: 'The last name of the user.'
email:
type: string
example: club-a@orbit4.org
description: 'The email address of the user.'
role:
type: string
example: gym_operator
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'PulseForge Fitness'
description: 'The name of the company.'
address:
type: string
example: '48363 Ethelyn Forge'
description: "The first line of the company's address."
address_2:
type: string
example: null
description: "The second line of the company's address."
address_3:
type: string
example: null
description: "The third line of the company's address."
city:
type: string
example: 'North Collintown'
description: "The city of the company's address."
country:
type: string
example: UK
description: "The country of the company's address."
postcode:
type: string
example: 10011-0454
description: "The postcode of the company's address."
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
description: 'The date and time the user was created.'
note:
type: string
example: 'Can you please provide more details about the issue?'
description: 'The content of the note.'
is_system:
type: boolean
example: false
description: 'A boolean indicating whether the note was generated by the system.'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-11T13:00:45+00:00'
description: 'The date and time the note was created.'
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
ticket_id:
type: integer
description: 'The ID of the ticket the note is added to.'
example: 1
note:
type: string
description: 'The message of the note.'
example: 'Can you please provide more details about the issue?'
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"}'
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
-
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
-
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
enum:
- standard
- ad-hoc
- internal
- service
-
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
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
-
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
-
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
-
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
-
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
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: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 1
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
metadata: []
created_at: '2026-02-11T13:00:41+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: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+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-11T13:00:42+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-11T13:00:42+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-11T13:00:42+00:00'
notes:
-
id: 2
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 8
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
-
id: 9
user:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+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-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:41+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: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 3
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
metadata: []
created_at: '2026-02-11T13:00:41+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-11T13:00:42+00:00'
closed_at: null
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 4
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:42+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: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 5
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:42+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-11T13:00:42+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 6
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:42+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-11T13:00:42+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 7
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:42+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: 7
total: 7
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: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 1
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
metadata: []
created_at: '2026-02-11T13:00:41+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: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+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-11T13:00:42+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-11T13:00:42+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-11T13:00:42+00:00'
notes:
-
id: 2
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 8
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
-
id: 9
user:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+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-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:41+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: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 3
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
metadata: []
created_at: '2026-02-11T13:00:41+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-11T13:00:42+00:00'
closed_at: null
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 4
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:42+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: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 5
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:42+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-11T13:00:42+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 6
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:42+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-11T13:00:42+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media: []
images: []
documents: []
notes:
-
id: 7
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
description: 'An array of paginated items.'
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: Imani
last_name:
type: string
example: Kshlerin
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: '833 Sabryna Ramp'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Bernierport
country:
type: string
example: UK
postcode:
type: string
example: '70876'
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+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: 'Adhoc Call-Out'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Imani
last_name:
type: string
example: Kshlerin
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: '833 Sabryna Ramp'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Bernierport
country:
type: string
example: UK
postcode:
type: string
example: '70876'
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2026-02-10'
end_date:
type: string
example: '2027-02-10'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:41+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: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+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: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge' }
address_2: { type: string, example: null }
address_3: { type: string, example: null }
city: { type: string, example: 'North Collintown' }
country: { type: string, example: UK }
postcode: { type: string, example: 10011-0454 }
created_at: { type: string, example: '2026-02-11T13:00:37+00:00' }
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+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-11T13:00:41+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:41+00:00'
links:
type: object
properties:
first:
type: string
example: 'https://api.orbit4.org/v1/tickets?page=1'
description: 'The first page URL.'
last:
type: string
example: 'https://api.orbit4.org/v1/tickets?page=1'
description: 'The last page URL.'
prev:
type: string
example: null
description: 'The previous page URL.'
next:
type: string
example: null
description: 'The next page URL.'
meta:
type: object
properties:
current_page:
type: integer
example: 1
description: 'Current page number.'
from:
type: integer
example: 1
description: 'Starting record number.'
last_page:
type: integer
example: 1
description: 'Last page number.'
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.'
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.'
per_page:
type: integer
example: 25
description: 'Records per page.'
to:
type: integer
example: 7
description: 'Ending record number.'
total:
type: integer
example: 7
description: 'Total number of records.'
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: 8
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: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset:
id: 1
brand: 'Hammer Strength'
range: 'Plateloaded Iso-Lateral'
product: 'Seated Leg Press'
product_id: 5
qr_code: O4-549
serial_number: MSN-835
installation_date: '2023-02-11T13:00:40.000000Z'
manufacturing_date: '2022-02-11T13:00:40.000000Z'
warranty_end_date: '2028-02-11T13:00:40.000000Z'
deprecation_date: '2031-02-11T13:00:40.000000Z'
current_spend: £0
max_spend: '£4,763.20'
fitness_product: 1
has_odometer: 0
residual_price: £142.80
image: null
metadata: []
created_at: '2026-02-11T13:00:40+00:00'
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
media:
-
id: 6
url: 'https://cdn.orbit4.org/uploads/79461698c7d7cc8f662.71802102.jpg'
type: image
resource_type: ticket
resource_id: 8
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2026-02-11T13:00:44+00:00'
images:
-
id: 6
url: 'https://cdn.orbit4.org/uploads/79461698c7d7cc8f662.71802102.jpg'
type: image
resource_type: ticket
resource_id: 8
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2026-02-11T13:00:44+00:00'
documents: []
notes:
-
id: 10
user:
id: 1
first_name: Carlo
last_name: Kiehn
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:37+00:00'
metadata: []
created_at: '2026-02-11T13:00:37+00:00'
note: "Description changed from '' to 'The treadmill is broken. Please fix it.'"
is_system: true
metadata: []
created_at: '2026-02-11T13:00:44+00:00'
-
id: 11
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:44+00:00'
-
id: 12
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'The treadmill is broken. Please fix it.'
is_system: false
metadata: []
created_at: '2026-02-11T13:00:44+00:00'
-
id: 13
user:
id: 1
first_name: Carlo
last_name: Kiehn
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:37+00:00'
metadata: []
created_at: '2026-02-11T13:00:37+00:00'
note: 'Image Uploaded'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:44+00:00'
metadata:
integration_id: ABC123
created_at: '2026-02-11T13:00:44+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 8
description: 'The unique identifier for the ticket within the Orbit4 system.'
number:
type: string
example: WSGE123-008
description: 'A user friendly identifier for the ticket.'
type:
type: string
example: standard
description: 'The type of ticket.'
description:
type: string
example: 'The treadmill is broken. Please fix it.'
description: 'A description of the issue.'
priority:
type: string
example: Faulty
description: 'The priority of the ticket based on the state of the equipment.'
problem_type:
type: string
example: software
description: 'The problem type of the ticket. Possible values are: electrical, software, mechanical, undefined'
tags:
type: array
example: []
status:
type: string
example: open
description: 'The current status of the ticket.'
engineer_arrived_at:
type: string
example: null
description: 'The date and time the engineer arrived at the location.'
engineer_deployed_at:
type: string
example: null
description: 'The date and time the engineer was deployed to the location.'
closed_at:
type: string
example: null
description: 'The date and time the ticket was closed.'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Imani
last_name:
type: string
example: Kshlerin
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: '833 Sabryna Ramp'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Bernierport
country:
type: string
example: UK
postcode:
type: string
example: '70876'
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+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.'
brand:
type: string
example: 'Hammer Strength'
description: 'The brand of the asset.'
range:
type: string
example: 'Plateloaded Iso-Lateral'
description: 'The range of the asset.'
product:
type: string
example: 'Seated Leg Press'
description: 'The name of the product.'
product_id:
type: integer
example: 5
description: 'The unique identifier for the product within the Orbit4 system.'
qr_code:
type: string
example: O4-549
description: 'The qr code number used on the sticker of the equipment.'
serial_number:
type: string
example: MSN-835
description: 'The manufacturer serial number of the equipment.'
installation_date:
type: string
example: '2023-02-11T13:00:40.000000Z'
description: 'The installation date of the equipment.'
manufacturing_date:
type: string
example: '2022-02-11T13:00:40.000000Z'
description: 'The manufacturing date of the equipment.'
warranty_end_date:
type: string
example: '2028-02-11T13:00:40.000000Z'
description: 'The warranty end date of the equipment.'
deprecation_date:
type: string
example: '2031-02-11T13:00:40.000000Z'
description: 'The end date of the equipment.'
current_spend:
type: string
example: £0
description: 'The current spend in services for the equipment.'
max_spend:
type: string
example: '£4,763.20'
description: "The maximum spend in services for the equipment until it's recommended to replace it."
fitness_product:
type: integer
example: 1
description: 'A boolean indicating whether the asset is a fitness equipment.'
has_odometer:
type: integer
example: 0
description: 'A boolean indicating whether the asset has an odometer.'
residual_price:
type: string
example: £142.80
description: 'The residual value of the asset.'
image:
type: string
example: null
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:40+00:00'
description: 'The date and time the asset was created.'
contract:
type: object
properties:
id:
type: integer
example: 1
number:
type: string
example: WSGE123
type:
type: string
example: 'Adhoc Call-Out'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Imani
last_name:
type: string
example: Kshlerin
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: '833 Sabryna Ramp'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Bernierport
country:
type: string
example: UK
postcode:
type: string
example: '70876'
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2026-02-10'
end_date:
type: string
example: '2027-02-10'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:41+00:00'
media:
type: array
example:
-
id: 6
url: 'https://cdn.orbit4.org/uploads/79461698c7d7cc8f662.71802102.jpg'
type: image
resource_type: ticket
resource_id: 8
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2026-02-11T13:00:44+00:00'
description: 'An array of objects representing the media linked to the ticket.'
items:
type: object
properties:
id:
type: integer
example: 6
url:
type: string
example: 'https://cdn.orbit4.org/uploads/79461698c7d7cc8f662.71802102.jpg'
type:
type: string
example: image
resource_type:
type: string
example: ticket
resource_id:
type: integer
example: 8
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-11T13:00:44+00:00'
images:
type: array
example:
-
id: 6
url: 'https://cdn.orbit4.org/uploads/79461698c7d7cc8f662.71802102.jpg'
type: image
resource_type: ticket
resource_id: 8
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2026-02-11T13:00:44+00:00'
description: 'An array of objects representing the images linked to the ticket.'
items:
type: object
properties:
id:
type: integer
example: 6
url:
type: string
example: 'https://cdn.orbit4.org/uploads/79461698c7d7cc8f662.71802102.jpg'
type:
type: string
example: image
resource_type:
type: string
example: ticket
resource_id:
type: integer
example: 8
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-11T13:00:44+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).'
notes:
type: array
example:
-
id: 10
user:
id: 1
first_name: Carlo
last_name: Kiehn
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:37+00:00'
metadata: []
created_at: '2026-02-11T13:00:37+00:00'
note: "Description changed from '' to 'The treadmill is broken. Please fix it.'"
is_system: true
metadata: []
created_at: '2026-02-11T13:00:44+00:00'
-
id: 11
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:44+00:00'
-
id: 12
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'The treadmill is broken. Please fix it.'
is_system: false
metadata: []
created_at: '2026-02-11T13:00:44+00:00'
-
id: 13
user:
id: 1
first_name: Carlo
last_name: Kiehn
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:37+00:00'
metadata: []
created_at: '2026-02-11T13:00:37+00:00'
note: 'Image Uploaded'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:44+00:00'
description: 'An array of objects representing the notes linked to the ticket.'
items:
type: object
properties:
id:
type: integer
example: 10
user:
type: object
properties:
id:
type: integer
example: 1
first_name:
type: string
example: Carlo
last_name:
type: string
example: Kiehn
email:
type: string
example: client-admin@orbit4.org
role:
type: string
example: club_admin
company:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'PulseForge Fitness'
address:
type: string
example: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:37+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
note:
type: string
example: "Description changed from '' to 'The treadmill is broken. Please fix it.'"
is_system:
type: boolean
example: true
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:44+00:00'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-11T13:00:44+00:00'
description: 'The date and time the ticket was created.'
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
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
asset_id:
type: integer
description: 'The ID of the asset the ticket is raised for'
example: 1
type:
type: string
description: 'The type of ticket being raised.'
example: standard
enum:
- standard
- ad-hoc
- internal
- service
description:
type: string
description: 'The description of the problem being raised in the ticket.'
example: 'The treadmill is broken. Please fix it.'
priority:
type: string
description: 'The priority of the ticket based on the state of the equipment.'
example: Faulty
enum:
- Low
- Faulty
- 'Out of Order'
- Replacement
problem_type:
type: string
description: 'The problem type of the ticket.'
example: software
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"}'
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: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+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-11T13:00:42+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-11T13:00:42+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-11T13:00:42+00:00'
notes:
-
id: 2
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 8
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
-
id: 9
user:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+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-11T13:00:42+00:00'
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the ticket within the Orbit4 system.'
number:
type: string
example: WSGE123-002
description: 'A user friendly identifier for the ticket.'
type:
type: string
example: standard
description: 'The type of ticket.'
description:
type: string
example: null
description: 'A description of the issue.'
priority:
type: string
example: Faulty
description: 'The priority of the ticket based on the state of the equipment.'
problem_type:
type: string
example: electrical
description: 'The problem type of the ticket. Possible values are: electrical, software, mechanical, undefined'
tags:
type: array
example: []
status:
type: string
example: open
description: 'The current status of the ticket.'
engineer_arrived_at:
type: string
example: null
description: 'The date and time the engineer arrived at the location.'
engineer_deployed_at:
type: string
example: null
description: 'The date and time the engineer was deployed to the location.'
closed_at:
type: string
example: null
description: 'The date and time the ticket was closed.'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Imani
last_name:
type: string
example: Kshlerin
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: '833 Sabryna Ramp'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Bernierport
country:
type: string
example: UK
postcode:
type: string
example: '70876'
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+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: 'Adhoc Call-Out'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Imani
last_name:
type: string
example: Kshlerin
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: '833 Sabryna Ramp'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Bernierport
country:
type: string
example: UK
postcode:
type: string
example: '70876'
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2026-02-10'
end_date:
type: string
example: '2027-02-10'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:41+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-11T13:00:42+00:00'
description: 'An array of objects representing the media linked to the ticket.'
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-11T13:00:42+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-11T13:00:42+00:00'
description: 'An array of objects representing the images linked to the ticket.'
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-11T13:00:42+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-11T13:00:42+00:00'
description: 'An array of objects representing the documents linked to the ticket (quotes, invoices, purchase orders, worksheets, and other files).'
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-11T13:00:42+00:00'
notes:
type: array
example:
-
id: 2
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 8
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
-
id: 9
user:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+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-11T13:00:42+00:00'
description: 'An array of objects representing the notes linked to the ticket.'
items:
type: object
properties:
id:
type: integer
example: 2
user:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+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-11T13:00:41+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:41+00:00'
description: 'The date and time the ticket was created.'
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-11T13:00:45+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: 'Adhoc Call-Out'
gym_operator:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
service_provider:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
active: true
start_date: '2026-02-10'
end_date: '2027-02-10'
metadata: []
created_at: '2026-02-11T13:00:41+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-11T13:00:42+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-11T13:00:42+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-11T13:00:42+00:00'
notes:
-
id: 2
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 8
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
-
id: 9
user:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+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-11T13:00:42+00:00'
-
id: 10
user:
id: 1
first_name: Carlo
last_name: Kiehn
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:37+00:00'
metadata: []
created_at: '2026-02-11T13:00:37+00:00'
note: 'Ticket Closed'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:45+00:00'
metadata:
integration_id: ABC123
created_at: '2026-02-11T13:00:41+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the ticket within the Orbit4 system.'
number:
type: string
example: WSGE123-002
description: 'A user friendly identifier for the ticket.'
type:
type: string
example: standard
description: 'The type of ticket.'
description:
type: string
example: null
description: 'A description of the issue.'
priority:
type: string
example: Faulty
description: 'The priority of the ticket based on the state of the equipment.'
problem_type:
type: string
example: electrical
description: 'The problem type of the ticket. Possible values are: electrical, software, mechanical, undefined'
tags:
type: array
example: []
status:
type: string
example: closed
description: 'The current status of the ticket.'
engineer_arrived_at:
type: string
example: null
description: 'The date and time the engineer arrived at the location.'
engineer_deployed_at:
type: string
example: null
description: 'The date and time the engineer was deployed to the location.'
closed_at:
type: string
example: '2026-02-11T13:00:45+00:00'
description: 'The date and time the ticket was closed.'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Imani
last_name:
type: string
example: Kshlerin
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: '833 Sabryna Ramp'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Bernierport
country:
type: string
example: UK
postcode:
type: string
example: '70876'
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+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: 'Adhoc Call-Out'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Imani
last_name:
type: string
example: Kshlerin
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: '833 Sabryna Ramp'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: Bernierport
country:
type: string
example: UK
postcode:
type: string
example: '70876'
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2026-02-10'
end_date:
type: string
example: '2027-02-10'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:41+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-11T13:00:42+00:00'
description: 'An array of objects representing the media linked to the ticket.'
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-11T13:00:42+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-11T13:00:42+00:00'
description: 'An array of objects representing the images linked to the ticket.'
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-11T13:00:42+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-11T13:00:42+00:00'
description: 'An array of objects representing the documents linked to the ticket (quotes, invoices, purchase orders, worksheets, and other files).'
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-11T13:00:42+00:00'
notes:
type: array
example:
-
id: 2
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Ticket Raised'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:41+00:00'
-
id: 8
user:
id: 2
first_name: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
metadata: []
created_at: '2026-02-11T13:00:42+00:00'
-
id: 9
user:
id: 4
first_name: Imani
last_name: Kshlerin
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '833 Sabryna Ramp'
address_2: null
address_3: null
city: Bernierport
country: UK
postcode: '70876'
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+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-11T13:00:42+00:00'
-
id: 10
user:
id: 1
first_name: Carlo
last_name: Kiehn
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: null
language: en
email_verified_at: '2026-02-11T13:00:37+00:00'
metadata: []
created_at: '2026-02-11T13:00:37+00:00'
note: 'Ticket Closed'
is_system: true
metadata: []
created_at: '2026-02-11T13:00:45+00:00'
description: 'An array of objects representing the notes linked to the ticket.'
items:
type: object
properties:
id:
type: integer
example: 2
user:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Liana
last_name:
type: string
example: Klein
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: '48363 Ethelyn Forge'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Collintown'
country:
type: string
example: UK
postcode:
type: string
example: 10011-0454
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+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-11T13:00:41+00:00'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-11T13:00:41+00:00'
description: 'The date and time the ticket was created.'
tags:
- Tickets
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: 'The status of the ticket.'
example: closed
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
caretaker_id:
type: integer
description: 'The ID of the internal technician deployed by the gym operator.'
example: null
ticket_admin_id:
type: integer
description: 'The ID of the ticket admin managing the ticket.'
example: null
case_number:
type: string
description: 'An optional alternative identifier.'
example: null
priority:
type: string
description: 'The level of priority based on the equipment damage.'
example: Faulty
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
engineer_completed_at:
type: datetime
description: 'A timestamp indicating the time the technician left the site after completion.'
example: null
engineer_deployed_at:
type: datetime
description: 'A timestamp indicating the time the technician was deployed by the service provider.'
example: null
closed_at:
type: datetime
description: 'A timestamp indicating the time the ticket was marked as closed.'
example: null
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"}'
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
-
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
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
-
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
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
-
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
-
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
-
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
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: 22
first_name: rmhyyeidcgajuphenippqbu
last_name: ushwukkkmsgs
email: lucas.leannon@example.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: mmlkicdseyogxm
language: id
email_verified_at: null
metadata:
integration_id: ABC123
created_at: '2026-02-11T13:00:43+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 22
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: rmhyyeidcgajuphenippqbu
description: 'The first name of the user.'
last_name:
type: string
example: ushwukkkmsgs
description: 'The last name of the user.'
email:
type: string
example: lucas.leannon@example.org
description: 'The email address of the user.'
role:
type: string
example: gym_operator
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'PulseForge Fitness'
description: 'The name of the company.'
address:
type: string
example: '48363 Ethelyn Forge'
description: "The first line of the company's address."
address_2:
type: string
example: null
description: "The second line of the company's address."
address_3:
type: string
example: null
description: "The third line of the company's address."
city:
type: string
example: 'North Collintown'
description: "The city of the company's address."
country:
type: string
example: UK
description: "The country of the company's address."
postcode:
type: string
example: 10011-0454
description: "The postcode of the company's address."
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: mmlkicdseyogxm
language:
type: string
example: id
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: null
description: 'The date and time the user verified their email address.'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-11T13:00:43+00:00'
description: 'The date and time the user was created.'
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
first_name:
type: string
description: 'The first name of the user.'
example: rmhyyeidcgajuphenippqbu
last_name:
type: string
description: 'The last name of the user.'
example: ushwukkkmsgs
email:
type: string
description: 'The email address of the user.'
example: lucas.leannon@example.org
company_id:
type: numeric
description: 'The company id the user belongs to. Only for Service Providers.'
example: null
site_name:
type: string
description: 'The name of the club the user belongs to. Only for Gym Operators.'
example: mmlkicdseyogxm
language:
type: string
description: 'The preferred language the user wants to receive their notifications.'
example: id
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
role:
type: string
description: 'The role of the user.'
example: gym_operator
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"}'
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: Liana
last_name: Klein
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata: []
created_at: '2026-02-11T13:00:38+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Liana
description: 'The first name of the user.'
last_name:
type: string
example: Klein
description: 'The last name of the user.'
email:
type: string
example: club-a@orbit4.org
description: 'The email address of the user.'
role:
type: string
example: gym_operator
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'PulseForge Fitness'
description: 'The name of the company.'
address:
type: string
example: '48363 Ethelyn Forge'
description: "The first line of the company's address."
address_2:
type: string
example: null
description: "The second line of the company's address."
address_3:
type: string
example: null
description: "The third line of the company's address."
city:
type: string
example: 'North Collintown'
description: "The city of the company's address."
country:
type: string
example: UK
description: "The country of the company's address."
postcode:
type: string
example: 10011-0454
description: "The postcode of the company's address."
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
description: 'The date and time the user was created.'
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: obthfkjybyqjnwus
last_name: jiaslazniwkww
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '48363 Ethelyn Forge'
address_2: null
address_3: null
city: 'North Collintown'
country: UK
postcode: 10011-0454
created_at: '2026-02-11T13:00:37+00:00'
site_name: sfpunqjgf
language: en
email_verified_at: '2026-02-11T13:00:38+00:00'
metadata:
integration_id: ABC123
created_at: '2026-02-11T13:00:38+00:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: obthfkjybyqjnwus
description: 'The first name of the user.'
last_name:
type: string
example: jiaslazniwkww
description: 'The last name of the user.'
email:
type: string
example: club-a@orbit4.org
description: 'The email address of the user.'
role:
type: string
example: gym_operator
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 1
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'PulseForge Fitness'
description: 'The name of the company.'
address:
type: string
example: '48363 Ethelyn Forge'
description: "The first line of the company's address."
address_2:
type: string
example: null
description: "The second line of the company's address."
address_3:
type: string
example: null
description: "The third line of the company's address."
city:
type: string
example: 'North Collintown'
description: "The city of the company's address."
country:
type: string
example: UK
description: "The country of the company's address."
postcode:
type: string
example: 10011-0454
description: "The postcode of the company's address."
created_at:
type: string
example: '2026-02-11T13:00:37+00:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: sfpunqjgf
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2026-02-11T13:00:38+00:00'
description: 'The date and time the user verified their email address.'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2026-02-11T13:00:38+00:00'
description: 'The date and time the user was created.'
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
first_name:
type: string
description: 'The first name of the user.'
example: obthfkjybyqjnwus
last_name:
type: string
description: 'The last name of the user.'
example: jiaslazniwkww
site_name:
type: string
description: 'The name of the club the user belongs to. Only for Gym Operators.'
example: sfpunqjgf
language:
type: string
description: 'The preferred language the user wants to receive their notifications.'
example: en
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"}'
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
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
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: []