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.'
example: 2.0
required: true
schema:
type: integer
description: 'The ID of the gym operator the assets belong to.'
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: sort
description: "Results can be sorted by the following fields:\n\n
- id
- qr_code
- installation_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
- 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
-
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
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-916
serial_number: MSN-388
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£2,138.40'
fitness_product: 0
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 2
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-286
serial_number: MSN-113
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,212.35'
fitness_product: 1
has_odometer: 1
residual_price: £589.19
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 3
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-602
serial_number: MSN-959
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£6,122.02'
fitness_product: 0
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 4
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-725
serial_number: MSN-431
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£9,388.68'
fitness_product: 0
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 5
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-402
serial_number: MSN-515
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£3,072.73'
fitness_product: 1
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 6
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-792
serial_number: MSN-749
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£3,639.30'
fitness_product: 1
has_odometer: 1
residual_price: £370.96
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 7
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-893
serial_number: MSN-273
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,373.11'
fitness_product: 0
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 8
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-113
serial_number: MSN-764
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,505.14'
fitness_product: 0
has_odometer: 1
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 9
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-653
serial_number: MSN-640
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£6,759.53'
fitness_product: 1
has_odometer: 1
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 10
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-366
serial_number: MSN-550
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£7,468.16'
fitness_product: 1
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01: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: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-916
serial_number: MSN-388
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£2,138.40'
fitness_product: 0
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 2
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-286
serial_number: MSN-113
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,212.35'
fitness_product: 1
has_odometer: 1
residual_price: £589.19
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 3
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-602
serial_number: MSN-959
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£6,122.02'
fitness_product: 0
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 4
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-725
serial_number: MSN-431
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£9,388.68'
fitness_product: 0
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 5
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-402
serial_number: MSN-515
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£3,072.73'
fitness_product: 1
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 6
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-792
serial_number: MSN-749
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£3,639.30'
fitness_product: 1
has_odometer: 1
residual_price: £370.96
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 7
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-893
serial_number: MSN-273
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,373.11'
fitness_product: 0
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 8
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-113
serial_number: MSN-764
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,505.14'
fitness_product: 0
has_odometer: 1
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 9
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-653
serial_number: MSN-640
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£6,759.53'
fitness_product: 1
has_odometer: 1
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 10
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-366
serial_number: MSN-550
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£7,468.16'
fitness_product: 1
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
description: 'An array of paginated items.'
items:
type: object
properties:
id:
type: integer
example: 1
brand:
type: string
example: 'Life Fitness'
range:
type: string
example: 'IC7 Spin Bike'
product:
type: string
example: 'Studio Bike'
product_id:
type: integer
example: 1
qr_code:
type: string
example: O4-916
serial_number:
type: string
example: MSN-388
installation_date:
type: string
example: 06/06/2022
manufacturing_date:
type: string
example: 06/06/2021
warranty_end_date:
type: string
example: 06/06/2027
current_spend:
type: string
example: £0
max_spend:
type: string
example: '£2,138.40'
fitness_product:
type: integer
example: 0
has_odometer:
type: integer
example: 0
residual_price:
type: string
example: £811.84
image:
type: string
example: null
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01: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: 06/06/2025
manufacturing_date: 06/06/2025
warranty_end_date: 06/06/2025
current_spend: £0
max_spend: £0
fitness_product: null
has_odometer: null
residual_price: £749.18
image: null
metadata:
integration_id: ABC123
created_at: '2025-06-06T21:18:15+01: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: 06/06/2025
description: 'The installation date of the equipment.'
manufacturing_date:
type: string
example: 06/06/2025
description: 'The manufacturing date of the equipment.'
warranty_end_date:
type: string
example: 06/06/2025
description: 'The warranty 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: £0
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: £749.18
description: 'The residual value of the asset.'
image:
type: string
example: null
description: 'An object representing the image of the asset'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2025-06-06T21:18:15+01: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: '2025-06-06'
manufacturing_date:
type: string
description: 'The manufacturing date of the equipment.'
example: '2025-06-06'
warranty_end_date:
type: string
description: 'The warranty end date of the equipment.'
example: '2025-06-06'
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: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-286
serial_number: MSN-113
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,212.35'
fitness_product: 1
has_odometer: 1
residual_price: £589.19
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01: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: Precor
description: 'The brand of the asset.'
range:
type: string
example: 'C-Line Strength'
description: 'The range of the asset.'
product:
type: string
example: 'Chest Press'
description: 'The name of the product.'
product_id:
type: integer
example: 3
description: 'The unique identifier for the product within the Orbit4 system.'
qr_code:
type: string
example: O4-286
description: 'The qr code number used on the sticker of the equipment.'
serial_number:
type: string
example: MSN-113
description: 'The manufacturer serial number of the equipment.'
installation_date:
type: string
example: 06/06/2022
description: 'The installation date of the equipment.'
manufacturing_date:
type: string
example: 06/06/2021
description: 'The manufacturing date of the equipment.'
warranty_end_date:
type: string
example: 06/06/2027
description: 'The warranty 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: '£5,212.35'
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: 1
description: 'A boolean indicating whether the asset has an odometer.'
residual_price:
type: string
example: £589.19
description: 'The residual value of the asset.'
image:
type: string
example: null
description: 'An object representing the image of the asset'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01: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: 06/06/2025
manufacturing_date: 06/06/2025
warranty_end_date: 06/06/2025
current_spend: £0
max_spend: '£5,212.35'
fitness_product: 1
has_odometer: 1
residual_price: £749.18
image: null
metadata:
integration_id: ABC123
created_at: '2025-06-06T21:18:14+01: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: 06/06/2025
description: 'The installation date of the equipment.'
manufacturing_date:
type: string
example: 06/06/2025
description: 'The manufacturing date of the equipment.'
warranty_end_date:
type: string
example: 06/06/2025
description: 'The warranty 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: '£5,212.35'
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: 1
description: 'A boolean indicating whether the asset has an odometer.'
residual_price:
type: string
example: £749.18
description: 'The residual value of the asset.'
image:
type: string
example: null
description: 'An object representing the image of the asset'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2025-06-06T21:18:14+01: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: '2025-06-06'
manufacturing_date:
type: string
description: 'The manufacturing date of the equipment.'
example: '2025-06-06'
warranty_end_date:
type: string
description: 'The warranty end date of the equipment.'
example: '2025-06-06'
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: 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
-
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
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01: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: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01: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: ''
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Rigoberto
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Darylside'
country:
type: string
example: UK
postcode:
type: string
example: '25843'
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Jamaal
last_name:
type: string
example: VonRueden
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: '86314 Hickle Station'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'New Genevieveshire'
country:
type: string
example: UK
postcode:
type: string
example: '30485'
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2025-06-05'
end_date:
type: string
example: '2026-06-05'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01: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: 2
number: WSGE1
type: 'Full Annual'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 3
first_name: Krystel
last_name: Rowe
email: club-b@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'Notthing Hill Gate'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-06'
end_date: '2026-06-06'
metadata:
integration_id: ABC123
created_at: '2025-06-06T21:18:16+01:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 2
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
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Rigoberto
description: 'The first name of the user.'
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01: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: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
service_provider:
type: object
properties:
id:
type: integer
example: 3
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Krystel
description: 'The first name of the user.'
last_name:
type: string
example: Rowe
description: 'The last name of the user.'
email:
type: string
example: club-b@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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: 'Notthing Hill Gate'
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
active:
type: boolean
example: true
description: 'A boolean indicating whether the contract is currently active.'
start_date:
type: string
example: '2025-06-06'
description: 'The date the contract starts.'
end_date:
type: string
example: '2026-06-06'
description: 'The date the contract ends.'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2025-06-06T21:18:16+01: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: '2025-06-06'
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: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
assets:
-
id: 1
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-916
serial_number: MSN-388
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£2,138.40'
fitness_product: 0
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 2
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-286
serial_number: MSN-113
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,212.35'
fitness_product: 1
has_odometer: 1
residual_price: £589.19
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 3
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-602
serial_number: MSN-959
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£6,122.02'
fitness_product: 0
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 4
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-725
serial_number: MSN-431
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£9,388.68'
fitness_product: 0
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 5
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-402
serial_number: MSN-515
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£3,072.73'
fitness_product: 1
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 6
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-792
serial_number: MSN-749
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£3,639.30'
fitness_product: 1
has_odometer: 1
residual_price: £370.96
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 7
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-893
serial_number: MSN-273
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,373.11'
fitness_product: 0
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 8
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-113
serial_number: MSN-764
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,505.14'
fitness_product: 0
has_odometer: 1
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 9
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-653
serial_number: MSN-640
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£6,759.53'
fitness_product: 1
has_odometer: 1
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 10
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-366
serial_number: MSN-550
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£7,468.16'
fitness_product: 1
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
metadata: []
created_at: '2025-06-06T21:18:14+01: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: ''
description: 'The type of contract.'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Rigoberto
description: 'The first name of the user.'
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01: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: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
service_provider:
type: object
properties:
id:
type: integer
example: 4
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Jamaal
description: 'The first name of the user.'
last_name:
type: string
example: VonRueden
description: 'The last name of the user.'
email:
type: string
example: service-provider@orbit4.org
description: 'The email address of the user.'
role:
type: string
example: service_provider
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'The Gym Fixers'
description: 'The name of the company.'
address:
type: string
example: '86314 Hickle Station'
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: 'New Genevieveshire'
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: '30485'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: null
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
active:
type: boolean
example: true
description: 'A boolean indicating whether the contract is currently active.'
start_date:
type: string
example: '2025-06-05'
description: 'The date the contract starts.'
end_date:
type: string
example: '2026-06-05'
description: 'The date the contract ends.'
assets:
type: array
example:
-
id: 1
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-916
serial_number: MSN-388
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£2,138.40'
fitness_product: 0
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 2
brand: Precor
range: 'C-Line Strength'
product: 'Chest Press'
product_id: 3
qr_code: O4-286
serial_number: MSN-113
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,212.35'
fitness_product: 1
has_odometer: 1
residual_price: £589.19
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 3
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-602
serial_number: MSN-959
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£6,122.02'
fitness_product: 0
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 4
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-725
serial_number: MSN-431
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£9,388.68'
fitness_product: 0
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 5
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-402
serial_number: MSN-515
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£3,072.73'
fitness_product: 1
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 6
brand: Technogym
range: 'Excite JOG 700 LED'
product: Treadmill
product_id: 4
qr_code: O4-792
serial_number: MSN-749
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£3,639.30'
fitness_product: 1
has_odometer: 1
residual_price: £370.96
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 7
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-893
serial_number: MSN-273
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,373.11'
fitness_product: 0
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 8
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-113
serial_number: MSN-764
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£5,505.14'
fitness_product: 0
has_odometer: 1
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 9
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-653
serial_number: MSN-640
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£6,759.53'
fitness_product: 1
has_odometer: 1
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 10
brand: 'Life Fitness'
range: Signature
product: 'Chest Press'
product_id: 2
qr_code: O4-366
serial_number: MSN-550
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£7,468.16'
fitness_product: 1
has_odometer: 0
residual_price: £394.24
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
items:
type: object
properties:
id:
type: integer
example: 1
brand:
type: string
example: 'Life Fitness'
range:
type: string
example: 'IC7 Spin Bike'
product:
type: string
example: 'Studio Bike'
product_id:
type: integer
example: 1
qr_code:
type: string
example: O4-916
serial_number:
type: string
example: MSN-388
installation_date:
type: string
example: 06/06/2022
manufacturing_date:
type: string
example: 06/06/2021
warranty_end_date:
type: string
example: 06/06/2027
current_spend:
type: string
example: £0
max_spend:
type: string
example: '£2,138.40'
fitness_product:
type: integer
example: 0
has_odometer:
type: integer
example: 0
residual_price:
type: string
example: £811.84
image:
type: string
example: null
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01: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: 3
url: 'https://cdn.orbit4.org/uploads/2728868434d0923d449.96120229.jpg'
type: image
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2025-06-06T21:18:17+01:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 3
description: 'The unique identifier for the media within the Orbit4 system.'
url:
type: string
example: 'https://cdn.orbit4.org/uploads/2728868434d0923d449.96120229.jpg'
description: 'The URL of the media.'
type:
type: string
example: image
description: 'The type of media.'
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: '2025-06-06T21:18:17+01: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
extra_properties:
approved: true
created_at: '2025-06-06T21:18:15+01: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.'
extra_properties:
type: object
properties:
approved:
type: boolean
example: true
created_at:
type: string
example: '2025-06-06T21:18:15+01: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: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Can you please provide more details about the issue?'
is_system: false
created_at: '2025-06-06T21:18:17+01: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: Rigoberto
description: 'The first name of the user.'
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01: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: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01: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.'
created_at:
type: string
example: '2025-06-06T21:18:17+01: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?'
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
- parts_required
- engineer_deployed
- closed
-
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
-
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
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
number: WSGE123-001
type: standard
description: null
priority: Faulty
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 1
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 2
number: WSGE123-002
type: standard
description: null
priority: Faulty
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01:00'
images:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01:00'
notes:
-
id: 2
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
-
id: 8
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
-
id: 9
user:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 3
number: WSGE123-003
type: standard
description: null
priority: Faulty
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 3
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 4
number: WSGE123-004
type: standard
description: null
priority: Faulty
status: engineer_deployed
engineer_arrived_at: null
engineer_deployed_at: '2025-06-06T21:18:14+01:00'
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 4
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 5
number: WSGE123-005
type: standard
description: null
priority: Faulty
status: parts_required
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 5
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:15+01:00'
metadata: []
created_at: '2025-06-06T21:18:15+01:00'
-
id: 6
number: WSGE123-006
type: standard
description: null
priority: Faulty
status: closed
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: '2025-06-06T21:18:15+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 6
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:15+01:00'
metadata: []
created_at: '2025-06-06T21:18:15+01:00'
-
id: 7
number: WSGE123-007
type: standard
description: null
priority: Faulty
status: closed
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: '2025-06-06T21:18:15+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 7
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:15+01:00'
metadata: []
created_at: '2025-06-06T21:18:15+01: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
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 1
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 2
number: WSGE123-002
type: standard
description: null
priority: Faulty
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01:00'
images:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01:00'
notes:
-
id: 2
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
-
id: 8
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
-
id: 9
user:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 3
number: WSGE123-003
type: standard
description: null
priority: Faulty
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 3
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 4
number: WSGE123-004
type: standard
description: null
priority: Faulty
status: engineer_deployed
engineer_arrived_at: null
engineer_deployed_at: '2025-06-06T21:18:14+01:00'
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 4
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
-
id: 5
number: WSGE123-005
type: standard
description: null
priority: Faulty
status: parts_required
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 5
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:15+01:00'
metadata: []
created_at: '2025-06-06T21:18:15+01:00'
-
id: 6
number: WSGE123-006
type: standard
description: null
priority: Faulty
status: closed
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: '2025-06-06T21:18:15+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 6
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:15+01:00'
metadata: []
created_at: '2025-06-06T21:18:15+01:00'
-
id: 7
number: WSGE123-007
type: standard
description: null
priority: Faulty
status: closed
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: '2025-06-06T21:18:15+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media: []
images: []
notes:
-
id: 7
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:15+01:00'
metadata: []
created_at: '2025-06-06T21:18:15+01: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
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: Jamaal
last_name:
type: string
example: VonRueden
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: '86314 Hickle Station'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'New Genevieveshire'
country:
type: string
example: UK
postcode:
type: string
example: '30485'
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Rigoberto
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Darylside'
country:
type: string
example: UK
postcode:
type: string
example: '25843'
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01: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: ''
gym_operator:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Rigoberto
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Darylside'
country:
type: string
example: UK
postcode:
type: string
example: '25843'
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
service_provider:
type: object
properties:
id:
type: integer
example: 4
first_name:
type: string
example: Jamaal
last_name:
type: string
example: VonRueden
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: '86314 Hickle Station'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'New Genevieveshire'
country:
type: string
example: UK
postcode:
type: string
example: '30485'
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
active:
type: boolean
example: true
start_date:
type: string
example: '2025-06-05'
end_date:
type: string
example: '2026-06-05'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01:00'
media:
type: array
example: []
images:
type: array
example: []
notes:
type: array
example:
-
id: 1
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
items:
type: object
properties:
id:
type: integer
example: 1
user:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Rigoberto
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676' }
address_2: { type: string, example: null }
address_3: { type: string, example: null }
city: { type: string, example: 'North Darylside' }
country: { type: string, example: UK }
postcode: { type: string, example: '25843' }
created_at: { type: string, example: '2025-06-06T21:18:11+01:00' }
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
note:
type: string
example: 'Ticket Raised'
is_system:
type: boolean
example: true
created_at:
type: string
example: '2025-06-06T21:18:14+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01: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
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset:
id: 1
brand: 'Life Fitness'
range: 'IC7 Spin Bike'
product: 'Studio Bike'
product_id: 1
qr_code: O4-916
serial_number: MSN-388
installation_date: 06/06/2022
manufacturing_date: 06/06/2021
warranty_end_date: 06/06/2027
current_spend: £0
max_spend: '£2,138.40'
fitness_product: 0
has_odometer: 0
residual_price: £811.84
image: null
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media:
-
id: 3
url: 'https://cdn.orbit4.org/uploads/4821468434d085fa472.32610436.jpg'
type: image
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2025-06-06T21:18:16+01:00'
images:
-
id: 3
url: 'https://cdn.orbit4.org/uploads/4821468434d085fa472.32610436.jpg'
type: image
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2025-06-06T21:18:16+01:00'
notes:
-
id: 10
user:
id: 1
first_name: Jordyn
last_name: Rohan
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:11+01:00'
metadata: []
created_at: '2025-06-06T21:18:11+01:00'
note: "Description changed from '' to 'The treadmill is broken. Please fix it.'"
is_system: true
created_at: '2025-06-06T21:18:16+01:00'
-
id: 11
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:16+01:00'
-
id: 12
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'The treadmill is broken. Please fix it.'
is_system: false
created_at: '2025-06-06T21:18:16+01:00'
-
id: 13
user:
id: 1
first_name: Jordyn
last_name: Rohan
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:11+01:00'
metadata: []
created_at: '2025-06-06T21:18:11+01:00'
note: 'Image Uploaded'
is_system: true
created_at: '2025-06-06T21:18:16+01:00'
metadata:
integration_id: ABC123
created_at: '2025-06-06T21:18:16+01: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.'
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
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Jamaal
description: 'The first name of the user.'
last_name:
type: string
example: VonRueden
description: 'The last name of the user.'
email:
type: string
example: service-provider@orbit4.org
description: 'The email address of the user.'
role:
type: string
example: service_provider
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'The Gym Fixers'
description: 'The name of the company.'
address:
type: string
example: '86314 Hickle Station'
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: 'New Genevieveshire'
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: '30485'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: null
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Rigoberto
description: 'The first name of the user.'
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01: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: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
ticket_admin:
type: string
example: null
description: 'An object representing the ticket admin linked to the ticket.'
engineer:
type: string
example: null
description: 'An object representing the engineer linked to the ticket.'
caretaker:
type: string
example: null
description: 'An object representing the caretaker linked to the ticket.'
asset:
type: object
properties:
id:
type: integer
example: 1
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-916
description: 'The qr code number used on the sticker of the equipment.'
serial_number:
type: string
example: MSN-388
description: 'The manufacturer serial number of the equipment.'
installation_date:
type: string
example: 06/06/2022
description: 'The installation date of the equipment.'
manufacturing_date:
type: string
example: 06/06/2021
description: 'The manufacturing date of the equipment.'
warranty_end_date:
type: string
example: 06/06/2027
description: 'The warranty 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: '£2,138.40'
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: £811.84
description: 'The residual value of the asset.'
image:
type: string
example: null
description: 'An object representing the image of the asset'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01:00'
description: 'The date and time the asset was created.'
contract:
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: ''
description: 'The type of contract.'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Rigoberto
description: 'The first name of the user.'
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01: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: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
service_provider:
type: object
properties:
id:
type: integer
example: 4
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Jamaal
description: 'The first name of the user.'
last_name:
type: string
example: VonRueden
description: 'The last name of the user.'
email:
type: string
example: service-provider@orbit4.org
description: 'The email address of the user.'
role:
type: string
example: service_provider
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'The Gym Fixers'
description: 'The name of the company.'
address:
type: string
example: '86314 Hickle Station'
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: 'New Genevieveshire'
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: '30485'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: null
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
active:
type: boolean
example: true
description: 'A boolean indicating whether the contract is currently active.'
start_date:
type: string
example: '2025-06-05'
description: 'The date the contract starts.'
end_date:
type: string
example: '2026-06-05'
description: 'The date the contract ends.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01:00'
media:
type: array
example:
-
id: 3
url: 'https://cdn.orbit4.org/uploads/4821468434d085fa472.32610436.jpg'
type: image
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2025-06-06T21:18:16+01:00'
description: 'An array of objects representing the media linked to the ticket.'
items:
type: object
properties:
id:
type: integer
example: 3
url:
type: string
example: 'https://cdn.orbit4.org/uploads/4821468434d085fa472.32610436.jpg'
type:
type: string
example: image
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: '2025-06-06T21:18:16+01:00'
images:
type: array
example:
-
id: 3
url: 'https://cdn.orbit4.org/uploads/4821468434d085fa472.32610436.jpg'
type: image
extra_properties:
variants:
large: true
main: true
listing: true
thumbnail: true
created_at: '2025-06-06T21:18:16+01:00'
description: 'An array of objects representing the images linked to the ticket.'
items:
type: object
properties:
id:
type: integer
example: 3
url:
type: string
example: 'https://cdn.orbit4.org/uploads/4821468434d085fa472.32610436.jpg'
type:
type: string
example: image
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: '2025-06-06T21:18:16+01:00'
notes:
type: array
example:
-
id: 10
user:
id: 1
first_name: Jordyn
last_name: Rohan
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:11+01:00'
metadata: []
created_at: '2025-06-06T21:18:11+01:00'
note: "Description changed from '' to 'The treadmill is broken. Please fix it.'"
is_system: true
created_at: '2025-06-06T21:18:16+01:00'
-
id: 11
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:16+01:00'
-
id: 12
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'The treadmill is broken. Please fix it.'
is_system: false
created_at: '2025-06-06T21:18:16+01:00'
-
id: 13
user:
id: 1
first_name: Jordyn
last_name: Rohan
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:11+01:00'
metadata: []
created_at: '2025-06-06T21:18:11+01:00'
note: 'Image Uploaded'
is_system: true
created_at: '2025-06-06T21:18:16+01: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: Jordyn
last_name:
type: string
example: Rohan
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: '23137 Rachel Crossroad Apt. 676'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Darylside'
country:
type: string
example: UK
postcode:
type: string
example: '25843'
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
site_name:
type: string
example: null
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:11+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
note:
type: string
example: "Description changed from '' to 'The treadmill is broken. Please fix it.'"
is_system:
type: boolean
example: true
created_at:
type: string
example: '2025-06-06T21:18:16+01:00'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2025-06-06T21:18:16+01: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
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
status: open
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: null
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01:00'
images:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01:00'
notes:
-
id: 2
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
-
id: 8
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
-
id: 9
user:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
metadata: []
created_at: '2025-06-06T21:18:14+01: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.'
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
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Jamaal
description: 'The first name of the user.'
last_name:
type: string
example: VonRueden
description: 'The last name of the user.'
email:
type: string
example: service-provider@orbit4.org
description: 'The email address of the user.'
role:
type: string
example: service_provider
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'The Gym Fixers'
description: 'The name of the company.'
address:
type: string
example: '86314 Hickle Station'
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: 'New Genevieveshire'
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: '30485'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: null
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Rigoberto
description: 'The first name of the user.'
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01: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: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
ticket_admin:
type: string
example: null
description: 'An object representing the ticket admin linked to the ticket.'
engineer:
type: string
example: null
description: 'An object representing the engineer linked to the ticket.'
caretaker:
type: string
example: null
description: 'An object representing the caretaker linked to the ticket.'
asset:
type: string
example: null
description: 'An object representing the asset linked to the ticket.'
contract:
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: ''
description: 'The type of contract.'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Rigoberto
description: 'The first name of the user.'
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01: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: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
service_provider:
type: object
properties:
id:
type: integer
example: 4
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Jamaal
description: 'The first name of the user.'
last_name:
type: string
example: VonRueden
description: 'The last name of the user.'
email:
type: string
example: service-provider@orbit4.org
description: 'The email address of the user.'
role:
type: string
example: service_provider
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'The Gym Fixers'
description: 'The name of the company.'
address:
type: string
example: '86314 Hickle Station'
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: 'New Genevieveshire'
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: '30485'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: null
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
active:
type: boolean
example: true
description: 'A boolean indicating whether the contract is currently active.'
start_date:
type: string
example: '2025-06-05'
description: 'The date the contract starts.'
end_date:
type: string
example: '2026-06-05'
description: 'The date the contract ends.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01:00'
media:
type: array
example:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01: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
extra_properties:
type: string
example: null
created_at:
type: string
example: '2025-06-06T21:18:15+01:00'
images:
type: array
example:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01: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
extra_properties:
type: string
example: null
created_at:
type: string
example: '2025-06-06T21:18:15+01:00'
notes:
type: array
example:
-
id: 2
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
-
id: 8
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
-
id: 9
user:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
created_at: '2025-06-06T21:18:15+01: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: Rigoberto
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Darylside'
country:
type: string
example: UK
postcode:
type: string
example: '25843'
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
note:
type: string
example: 'Ticket Raised'
is_system:
type: boolean
example: true
created_at:
type: string
example: '2025-06-06T21:18:14+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01: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
status: closed
engineer_arrived_at: null
engineer_deployed_at: null
closed_at: '2025-06-06T21:18:16+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
ticket_admin: null
engineer: null
caretaker: null
asset: null
contract:
id: 1
number: WSGE123
type: ''
gym_operator:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
service_provider:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
active: true
start_date: '2025-06-05'
end_date: '2026-06-05'
metadata: []
created_at: '2025-06-06T21:18:14+01:00'
media:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01:00'
images:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01:00'
notes:
-
id: 2
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
-
id: 8
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
-
id: 9
user:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
-
id: 10
user:
id: 1
first_name: Jordyn
last_name: Rohan
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:11+01:00'
metadata: []
created_at: '2025-06-06T21:18:11+01:00'
note: 'Ticket Closed'
is_system: true
created_at: '2025-06-06T21:18:16+01:00'
metadata:
integration_id: ABC123
created_at: '2025-06-06T21:18:14+01: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.'
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: '2025-06-06T21:18:16+01:00'
description: 'The date and time the ticket was closed.'
service_provider:
type: object
properties:
id:
type: integer
example: 4
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Jamaal
description: 'The first name of the user.'
last_name:
type: string
example: VonRueden
description: 'The last name of the user.'
email:
type: string
example: service-provider@orbit4.org
description: 'The email address of the user.'
role:
type: string
example: service_provider
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'The Gym Fixers'
description: 'The name of the company.'
address:
type: string
example: '86314 Hickle Station'
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: 'New Genevieveshire'
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: '30485'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: null
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Rigoberto
description: 'The first name of the user.'
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01: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: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
ticket_admin:
type: string
example: null
description: 'An object representing the ticket admin linked to the ticket.'
engineer:
type: string
example: null
description: 'An object representing the engineer linked to the ticket.'
caretaker:
type: string
example: null
description: 'An object representing the caretaker linked to the ticket.'
asset:
type: string
example: null
description: 'An object representing the asset linked to the ticket.'
contract:
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: ''
description: 'The type of contract.'
gym_operator:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Rigoberto
description: 'The first name of the user.'
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01: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: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
service_provider:
type: object
properties:
id:
type: integer
example: 4
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: Jamaal
description: 'The first name of the user.'
last_name:
type: string
example: VonRueden
description: 'The last name of the user.'
email:
type: string
example: service-provider@orbit4.org
description: 'The email address of the user.'
role:
type: string
example: service_provider
description: 'The role of the user.'
company:
type: object
properties:
id:
type: integer
example: 2
description: 'The unique identifier for the company within the Orbit4 system.'
name:
type: string
example: 'The Gym Fixers'
description: 'The name of the company.'
address:
type: string
example: '86314 Hickle Station'
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: 'New Genevieveshire'
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: '30485'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: null
language:
type: string
example: en
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user was created.'
active:
type: boolean
example: true
description: 'A boolean indicating whether the contract is currently active.'
start_date:
type: string
example: '2025-06-05'
description: 'The date the contract starts.'
end_date:
type: string
example: '2026-06-05'
description: 'The date the contract ends.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:14+01:00'
media:
type: array
example:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01: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
extra_properties:
type: string
example: null
created_at:
type: string
example: '2025-06-06T21:18:15+01:00'
images:
type: array
example:
-
id: 1
url: 'https://cdn.orbit4.org/uploads/image.jpg'
type: image
extra_properties: null
created_at: '2025-06-06T21:18:15+01: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
extra_properties:
type: string
example: null
created_at:
type: string
example: '2025-06-06T21:18:15+01:00'
notes:
type: array
example:
-
id: 2
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Ticket Raised'
is_system: true
created_at: '2025-06-06T21:18:14+01:00'
-
id: 8
user:
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: 'Hey, this machine is now totally out of use. Can you come today?'
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
-
id: 9
user:
id: 4
first_name: Jamaal
last_name: VonRueden
email: service-provider@orbit4.org
role: service_provider
company:
id: 2
name: 'The Gym Fixers'
address: '86314 Hickle Station'
address_2: null
address_3: null
city: 'New Genevieveshire'
country: UK
postcode: '30485'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
note: "Sure, no problem, I'll deploy one of my technicians out to you now."
is_system: false
created_at: '2025-06-06T21:18:15+01:00'
-
id: 10
user:
id: 1
first_name: Jordyn
last_name: Rohan
email: client-admin@orbit4.org
role: club_admin
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: null
language: en
email_verified_at: '2025-06-06T21:18:11+01:00'
metadata: []
created_at: '2025-06-06T21:18:11+01:00'
note: 'Ticket Closed'
is_system: true
created_at: '2025-06-06T21:18:16+01: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: Rigoberto
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Darylside'
country:
type: string
example: UK
postcode:
type: string
example: '25843'
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
note:
type: string
example: 'Ticket Raised'
is_system:
type: boolean
example: true
created_at:
type: string
example: '2025-06-06T21:18:14+01:00'
metadata:
type: object
properties:
integration_id:
type: string
example: ABC123
created_at:
type: string
example: '2025-06-06T21:18:14+01: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
- 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: 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: 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
-
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
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
-
id: 3
first_name: Krystel
last_name: Rowe
email: club-b@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'Notthing Hill Gate'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
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: 1
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: 2
total: 2
properties:
data:
type: array
example:
-
id: 2
first_name: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
-
id: 3
first_name: Krystel
last_name: Rowe
email: club-b@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'Notthing Hill Gate'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01:00'
description: 'An array of paginated items.'
items:
type: object
properties:
id:
type: integer
example: 2
first_name:
type: string
example: Rigoberto
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
address_2:
type: string
example: null
address_3:
type: string
example: null
city:
type: string
example: 'North Darylside'
country:
type: string
example: UK
postcode:
type: string
example: '25843'
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
site_name:
type: string
example: 'London Bridge'
language:
type: string
example: en
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01:00'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01:00'
links:
type: object
properties:
first:
type: string
example: 'https://api.orbit4.org/v1/users?page=1'
description: 'The first page URL.'
last:
type: string
example: 'https://api.orbit4.org/v1/users?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/users?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/users'
description: 'The path of the request.'
per_page:
type: integer
example: 25
description: 'Records per page.'
to:
type: integer
example: 2
description: 'Ending record number.'
total:
type: integer
example: 2
description: 'Total number of records.'
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: 17
first_name: azpzrguln
last_name: gwtlhhmwrohklclrzhtlurv
email: roberta26@example.com
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: tuymjjzrp
language: pt
email_verified_at: null
metadata:
integration_id: ABC123
created_at: '2025-06-06T21:18:15+01:00'
properties:
data:
type: object
properties:
id:
type: integer
example: 17
description: 'The unique identifier for the user within the Orbit4 system.'
first_name:
type: string
example: azpzrguln
description: 'The first name of the user.'
last_name:
type: string
example: gwtlhhmwrohklclrzhtlurv
description: 'The last name of the user.'
email:
type: string
example: roberta26@example.com
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: tuymjjzrp
language:
type: string
example: pt
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: '2025-06-06T21:18:15+01: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: azpzrguln
last_name:
type: string
description: 'The last name of the user.'
example: gwtlhhmwrohklclrzhtlurv
email:
type: string
description: 'The email address of the user.'
example: roberta26@example.com
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: tuymjjzrp
language:
type: string
description: 'The preferred language the user wants to receive their notifications.'
example: pt
enum:
- en
- es
- de
- bg
- pt
- fr
- jp
- tr
- ar
- zh
- hi
- bn
- pl
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: Rigoberto
last_name: Hackett
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: 'London Bridge'
language: en
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata: []
created_at: '2025-06-06T21:18:12+01: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: Rigoberto
description: 'The first name of the user.'
last_name:
type: string
example: Hackett
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01: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: '2025-06-06T21:18:12+01:00'
description: 'The date and time the user verified their email address.'
metadata:
type: array
example: []
created_at:
type: string
example: '2025-06-06T21:18:12+01: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: itpmmnjrujfbpdzuh
last_name: ysypd
email: club-a@orbit4.org
role: gym_operator
company:
id: 1
name: 'PulseForge Fitness'
address: '23137 Rachel Crossroad Apt. 676'
address_2: null
address_3: null
city: 'North Darylside'
country: UK
postcode: '25843'
created_at: '2025-06-06T21:18:11+01:00'
site_name: euwevuytmiblg
language: de
email_verified_at: '2025-06-06T21:18:12+01:00'
metadata:
integration_id: ABC123
created_at: '2025-06-06T21:18:12+01: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: itpmmnjrujfbpdzuh
description: 'The first name of the user.'
last_name:
type: string
example: ysypd
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: '23137 Rachel Crossroad Apt. 676'
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 Darylside'
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: '25843'
description: "The postcode of the company's address."
created_at:
type: string
example: '2025-06-06T21:18:11+01:00'
description: 'The date and time the company was created.'
site_name:
type: string
example: euwevuytmiblg
language:
type: string
example: de
description: 'The language the user prefers to use.'
email_verified_at:
type: string
example: '2025-06-06T21:18:12+01: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: '2025-06-06T21:18:12+01: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: itpmmnjrujfbpdzuh
last_name:
type: string
description: 'The last name of the user.'
example: ysypd
site_name:
type: string
description: 'The name of the club the user belongs to. Only for Gym Operators.'
example: euwevuytmiblg
language:
type: string
description: 'The preferred language the user wants to receive their notifications.'
example: de
enum:
- en
- es
- de
- bg
- pt
- fr
- jp
- tr
- ar
- zh
- hi
- bn
- pl
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: []