The Orbit4 API is a public-facing API intended to be used by Orbit4 partners to enable their customers to use the Orbit4 platform while ensuring seamless data synchronization with their respective systems.
This API is structured according to key RESTful principles, selectively incorporating guidelines from the JSON API Specification. We accept request data for POST
and PUT
methods in two formats: application/x-www-form-urlencoded
and application/json
. Every response from the API, including error notifications, is formatted in JSON.
When errors occur, they are signaled through a specific HTTP status code accompanied by an error object in the response. This object contains a distinctive error code as a string and a user-friendly message, designed to be easily understood by end users.
To authenticate requests, include an Authorization
header with the value "Bearer {YOUR_AUTH_KEY}"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
You can retrieve your token by navigating to the API Tokens section within your profile menu and then clicking on Generate API Token.
The following set of endpoints are engineered for efficient management of your clubs' asset registers on the Orbit4 platform. They simplify the process of creating, updating, and even deleting assets that are no longer needed within your gym operator accounts. The main purpose of these operations is facilitating the synchronization of your system's assets with Orbit4.
This endpoint allows you to search for assets within the specified gym operator account. You can filter the results by club specifying the user_id and other optional parameters.
The ID of the gym operator the assets belong to.
Search for assets by qr_code, brand, range, or product name.
Filter assets by qr code.
Results can be sorted by the following fields:
The default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: ?sort=-id
Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.
The page number of results to be returned.
The number of results to be returned for each page of results.
curl --request GET \
--get "https://api.orbit4.org/v1/assets?user_id=2" \
--header "Authorization: Bearer client-admin-test-token" \
--header "Content-Type: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 53
{
"data": [
{
"id": 1,
"brand": "Life Fitness",
"range": "IC7 Spin Bike",
"product": "Studio Bike",
"product_id": 1,
"qr_code": "O4-000",
"serial_number": "MSN-467",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£5,971.87",
"fitness_product": 1,
"has_odometer": 1,
"residual_price": "£169.65",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:12+00:00"
},
{
"id": 2,
"brand": "Hammer Strength",
"range": "Plateloaded Iso-Lateral",
"product": "Seated Leg Press",
"product_id": 5,
"qr_code": "O4-376",
"serial_number": "MSN-561",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£2,438.88",
"fitness_product": 1,
"has_odometer": 1,
"residual_price": "£731.64",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:12+00:00"
},
{
"id": 3,
"brand": "Hammer Strength",
"range": "Plateloaded Iso-Lateral",
"product": "Seated Leg Press",
"product_id": 5,
"qr_code": "O4-573",
"serial_number": "MSN-642",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£4,595.03",
"fitness_product": 0,
"has_odometer": 1,
"residual_price": "£731.64",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:12+00:00"
},
{
"id": 4,
"brand": "Life Fitness",
"range": "Signature",
"product": "Chest Press",
"product_id": 2,
"qr_code": "O4-818",
"serial_number": "MSN-760",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£9,290.30",
"fitness_product": 1,
"has_odometer": 0,
"residual_price": "£765.78",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:12+00:00"
},
{
"id": 5,
"brand": "Life Fitness",
"range": "Signature",
"product": "Chest Press",
"product_id": 2,
"qr_code": "O4-205",
"serial_number": "MSN-650",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£6,521.87",
"fitness_product": 0,
"has_odometer": 1,
"residual_price": "£765.78",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
},
{
"id": 6,
"brand": "Life Fitness",
"range": "Signature",
"product": "Chest Press",
"product_id": 2,
"qr_code": "O4-783",
"serial_number": "MSN-567",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£9,749.03",
"fitness_product": 0,
"has_odometer": 1,
"residual_price": "£765.78",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
},
{
"id": 7,
"brand": "Hammer Strength",
"range": "Plateloaded Iso-Lateral",
"product": "Seated Leg Press",
"product_id": 5,
"qr_code": "O4-973",
"serial_number": "MSN-126",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£5,376.09",
"fitness_product": 0,
"has_odometer": 0,
"residual_price": "£731.64",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
},
{
"id": 8,
"brand": "Life Fitness",
"range": "Signature",
"product": "Chest Press",
"product_id": 2,
"qr_code": "O4-848",
"serial_number": "MSN-739",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£8,760.54",
"fitness_product": 0,
"has_odometer": 0,
"residual_price": "£765.78",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
},
{
"id": 9,
"brand": "Life Fitness",
"range": "IC7 Spin Bike",
"product": "Studio Bike",
"product_id": 1,
"qr_code": "O4-993",
"serial_number": "MSN-909",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£3,437.80",
"fitness_product": 0,
"has_odometer": 0,
"residual_price": "£169.65",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
},
{
"id": 10,
"brand": "Hammer Strength",
"range": "Plateloaded Iso-Lateral",
"product": "Seated Leg Press",
"product_id": 5,
"qr_code": "O4-957",
"serial_number": "MSN-608",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£6,876.70",
"fitness_product": 0,
"has_odometer": 0,
"residual_price": "£731.64",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
}
],
"links": {
"first": "https://api.orbit4.org/v1/assets?page=1",
"last": "https://api.orbit4.org/v1/assets?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api.orbit4.org/v1/assets?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://api.orbit4.org/v1/assets",
"per_page": 25,
"to": 10,
"total": 10
}
}
This endpoint allows you to retrieve details of a specific asset by their ID.
The ID of the asset.
curl --request GET \
--get "https://api.orbit4.org/v1/assets/2" \
--header "Authorization: Bearer client-admin-test-token" \
--header "Content-Type: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 52
{
"data": {
"id": 2,
"brand": "Hammer Strength",
"range": "Plateloaded Iso-Lateral",
"product": "Seated Leg Press",
"product_id": 5,
"qr_code": "O4-376",
"serial_number": "MSN-561",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£2,438.88",
"fitness_product": 1,
"has_odometer": 1,
"residual_price": "£731.64",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:12+00:00"
}
}
This endpoint allows you to add a new asset to the gym operator account. The user_id must be specified when adding a new asset.
curl --request POST \
"https://api.orbit4.org/v1/assets" \
--header "Authorization: Bearer client-admin-test-token" \
--header "Content-Type: application/json" \
--data "{
\"user_id\": 2,
\"qr_code\": \"O4-123456\",
\"serial_number\": \"123456\",
\"installation_date\": \"2025-02-19\",
\"manufacturing_date\": \"2025-02-19\",
\"warranty_end_date\": \"2025-02-19\",
\"brand\": \"Life Fitness\",
\"range\": \"Signature Series\",
\"product\": \"Chest Press\",
\"product_id\": 1,
\"metadata\": \"{\\\"integration_id\\\":\\\"ABC123\\\"}\"
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 51
{
"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": "19/02/2025",
"manufacturing_date": "19/02/2025",
"warranty_end_date": "19/02/2025",
"current_spend": "£0",
"max_spend": "£0",
"fitness_product": null,
"has_odometer": null,
"residual_price": "£597.58",
"image": null,
"metadata": {
"integration_id": "ABC123"
},
"created_at": "2025-02-19T14:47:14+00:00"
}
}
This endpoint allows you to update details of a specific asset by their ID. Only the fields that need to be updated should be provided.
The ID of the asset.
curl --request PUT \
"https://api.orbit4.org/v1/assets/2" \
--header "Authorization: Bearer client-admin-test-token" \
--header "Content-Type: application/json" \
--data "{
\"qr_code\": \"O4-123456\",
\"serial_number\": \"123456\",
\"installation_date\": \"2025-02-19\",
\"manufacturing_date\": \"2025-02-19\",
\"warranty_end_date\": \"2025-02-19\",
\"brand\": \"Life Fitness\",
\"range\": \"Signature Series\",
\"product\": \"Chest Press\",
\"product_id\": 1,
\"metadata\": \"{\\\"integration_id\\\":\\\"ABC123\\\"}\"
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 50
{
"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": "19/02/2025",
"manufacturing_date": "19/02/2025",
"warranty_end_date": "19/02/2025",
"current_spend": "£0",
"max_spend": "£2,438.88",
"fitness_product": 1,
"has_odometer": 1,
"residual_price": "£597.58",
"image": null,
"metadata": {
"integration_id": "ABC123"
},
"created_at": "2025-02-19T14:47:12+00:00"
}
}
This endpoint allows you to delete a specific asset from your account by their ID.
The ID of the asset.
curl --request DELETE \
"https://api.orbit4.org/v1/assets/2" \
--header "Authorization: Bearer client-admin-test-token" \
--header "Content-Type: application/json"
cache-control
: no-cache, private
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 49
[Empty response]
The following set of endpoints are designed to facilitate the management of your service contracts between your gym operators and service providers on the Orbit4 platform. They simplify the process of searching and creating contracts.
This endpoint allows you to search for contracts within the specified user account. You can filter the results by gym operator, service provider or a specific asset.
The ID of the gym operator the service contract belong to.
The ID of the service provider the service contract belong to.
The ID of asset to filter contracts by.
Filter results by active/expired contracts.
Results can be sorted by the following fields:
The default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: ?sort=-id
Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.
The page number of results to be returned.
The number of results to be returned for each page of results.
curl --request GET \
--get "https://api.orbit4.org/v1/contracts?gym_operator_id=2&service_provider_id=4&asset_id=1&active=1" \
--header "Authorization: Bearer client-admin-test-token" \
--header "Content-Type: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 48
{
"data": [
{
"id": 1,
"number": "WSGE123",
"type": "",
"gym_operator": {
"id": 2,
"first_name": "Vladimir",
"last_name": "Becker",
"email": "[email protected]",
"role": "gym_operator",
"company": {
"id": 1,
"name": "PulseForge Fitness",
"address": "35123 Runolfsson Valleys",
"address_2": null,
"address_3": null,
"city": "Lake Osborne",
"country": "UK",
"postcode": "24375-0439",
"created_at": "2025-02-19T14:47:10+00:00"
},
"site_name": "London Bridge",
"language": "en",
"email_verified_at": "2025-02-19T14:47:11+00:00",
"metadata": [],
"created_at": "2025-02-19T14:47:11+00:00"
},
"service_provider": {
"id": 4,
"first_name": "Mathias",
"last_name": "Bogan",
"email": "[email protected]",
"role": "service_provider",
"company": {
"id": 2,
"name": "The Gym Fixers",
"address": "9199 Wilkinson Cape Suite 748",
"address_2": null,
"address_3": null,
"city": "North Malachiton",
"country": "UK",
"postcode": "29910",
"created_at": "2025-02-19T14:47:10+00:00"
},
"site_name": null,
"language": "en",
"email_verified_at": "2025-02-19T14:47:11+00:00",
"metadata": [],
"created_at": "2025-02-19T14:47:11+00:00"
},
"active": true,
"start_date": "2025-02-18",
"end_date": "2026-02-18",
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
}
],
"links": {
"first": "https://api.orbit4.org/v1/contracts?page=1",
"last": "https://api.orbit4.org/v1/contracts?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api.orbit4.org/v1/contracts?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://api.orbit4.org/v1/contracts",
"per_page": 25,
"to": 1,
"total": 1
}
}
This endpoint allows you to create a new contract between a gym operator and a service provider.
curl --request POST \
"https://api.orbit4.org/v1/contracts" \
--header "Authorization: Bearer client-admin-test-token" \
--header "Content-Type: application/json" \
--data "{
\"gym_operator_id\": 2,
\"service_provider_id\": 3,
\"start_date\": \"2025-02-19\",
\"type\": \"Full Annual\",
\"assets\": [
1
],
\"metadata\": \"{\\\"integration_id\\\":\\\"ABC123\\\"}\"
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 47
{
"data": {
"id": 2,
"number": "WSGE1",
"type": "Full Annual",
"gym_operator": {
"id": 2,
"first_name": "Vladimir",
"last_name": "Becker",
"email": "[email protected]",
"role": "gym_operator",
"company": {
"id": 1,
"name": "PulseForge Fitness",
"address": "35123 Runolfsson Valleys",
"address_2": null,
"address_3": null,
"city": "Lake Osborne",
"country": "UK",
"postcode": "24375-0439",
"created_at": "2025-02-19T14:47:10+00:00"
},
"site_name": "London Bridge",
"language": "en",
"email_verified_at": "2025-02-19T14:47:11+00:00",
"metadata": [],
"created_at": "2025-02-19T14:47:11+00:00"
},
"service_provider": {
"id": 3,
"first_name": "Susie",
"last_name": "Walter",
"email": "[email protected]",
"role": "gym_operator",
"company": {
"id": 1,
"name": "PulseForge Fitness",
"address": "35123 Runolfsson Valleys",
"address_2": null,
"address_3": null,
"city": "Lake Osborne",
"country": "UK",
"postcode": "24375-0439",
"created_at": "2025-02-19T14:47:10+00:00"
},
"site_name": "Notthing Hill Gate",
"language": "en",
"email_verified_at": "2025-02-19T14:47:11+00:00",
"metadata": [],
"created_at": "2025-02-19T14:47:11+00:00"
},
"active": true,
"start_date": "2025-02-19",
"end_date": "2026-02-19",
"metadata": {
"integration_id": "ABC123"
},
"created_at": "2025-02-19T14:47:14+00:00"
}
}
This endpoint allows you to retrieve details of a specific contract by their ID.
The ID of the contract.
curl --request GET \
--get "https://api.orbit4.org/v1/contracts/1" \
--header "Authorization: Bearer client-admin-test-token" \
--header "Content-Type: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 46
{
"data": {
"id": 1,
"number": "WSGE123",
"type": "",
"gym_operator": {
"id": 2,
"first_name": "Vladimir",
"last_name": "Becker",
"email": "[email protected]",
"role": "gym_operator",
"company": {
"id": 1,
"name": "PulseForge Fitness",
"address": "35123 Runolfsson Valleys",
"address_2": null,
"address_3": null,
"city": "Lake Osborne",
"country": "UK",
"postcode": "24375-0439",
"created_at": "2025-02-19T14:47:10+00:00"
},
"site_name": "London Bridge",
"language": "en",
"email_verified_at": "2025-02-19T14:47:11+00:00",
"metadata": [],
"created_at": "2025-02-19T14:47:11+00:00"
},
"service_provider": {
"id": 4,
"first_name": "Mathias",
"last_name": "Bogan",
"email": "[email protected]",
"role": "service_provider",
"company": {
"id": 2,
"name": "The Gym Fixers",
"address": "9199 Wilkinson Cape Suite 748",
"address_2": null,
"address_3": null,
"city": "North Malachiton",
"country": "UK",
"postcode": "29910",
"created_at": "2025-02-19T14:47:10+00:00"
},
"site_name": null,
"language": "en",
"email_verified_at": "2025-02-19T14:47:11+00:00",
"metadata": [],
"created_at": "2025-02-19T14:47:11+00:00"
},
"active": true,
"start_date": "2025-02-18",
"end_date": "2026-02-18",
"assets": [
{
"id": 1,
"brand": "Life Fitness",
"range": "IC7 Spin Bike",
"product": "Studio Bike",
"product_id": 1,
"qr_code": "O4-000",
"serial_number": "MSN-467",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£5,971.87",
"fitness_product": 1,
"has_odometer": 1,
"residual_price": "£169.65",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:12+00:00"
},
{
"id": 2,
"brand": "Hammer Strength",
"range": "Plateloaded Iso-Lateral",
"product": "Seated Leg Press",
"product_id": 5,
"qr_code": "O4-376",
"serial_number": "MSN-561",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£2,438.88",
"fitness_product": 1,
"has_odometer": 1,
"residual_price": "£731.64",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:12+00:00"
},
{
"id": 3,
"brand": "Hammer Strength",
"range": "Plateloaded Iso-Lateral",
"product": "Seated Leg Press",
"product_id": 5,
"qr_code": "O4-573",
"serial_number": "MSN-642",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£4,595.03",
"fitness_product": 0,
"has_odometer": 1,
"residual_price": "£731.64",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:12+00:00"
},
{
"id": 4,
"brand": "Life Fitness",
"range": "Signature",
"product": "Chest Press",
"product_id": 2,
"qr_code": "O4-818",
"serial_number": "MSN-760",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£9,290.30",
"fitness_product": 1,
"has_odometer": 0,
"residual_price": "£765.78",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:12+00:00"
},
{
"id": 5,
"brand": "Life Fitness",
"range": "Signature",
"product": "Chest Press",
"product_id": 2,
"qr_code": "O4-205",
"serial_number": "MSN-650",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£6,521.87",
"fitness_product": 0,
"has_odometer": 1,
"residual_price": "£765.78",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
},
{
"id": 6,
"brand": "Life Fitness",
"range": "Signature",
"product": "Chest Press",
"product_id": 2,
"qr_code": "O4-783",
"serial_number": "MSN-567",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£9,749.03",
"fitness_product": 0,
"has_odometer": 1,
"residual_price": "£765.78",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
},
{
"id": 7,
"brand": "Hammer Strength",
"range": "Plateloaded Iso-Lateral",
"product": "Seated Leg Press",
"product_id": 5,
"qr_code": "O4-973",
"serial_number": "MSN-126",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£5,376.09",
"fitness_product": 0,
"has_odometer": 0,
"residual_price": "£731.64",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
},
{
"id": 8,
"brand": "Life Fitness",
"range": "Signature",
"product": "Chest Press",
"product_id": 2,
"qr_code": "O4-848",
"serial_number": "MSN-739",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£8,760.54",
"fitness_product": 0,
"has_odometer": 0,
"residual_price": "£765.78",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
},
{
"id": 9,
"brand": "Life Fitness",
"range": "IC7 Spin Bike",
"product": "Studio Bike",
"product_id": 1,
"qr_code": "O4-993",
"serial_number": "MSN-909",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£3,437.80",
"fitness_product": 0,
"has_odometer": 0,
"residual_price": "£169.65",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
},
{
"id": 10,
"brand": "Hammer Strength",
"range": "Plateloaded Iso-Lateral",
"product": "Seated Leg Press",
"product_id": 5,
"qr_code": "O4-957",
"serial_number": "MSN-608",
"installation_date": "19/02/2022",
"manufacturing_date": "19/02/2021",
"warranty_end_date": "19/02/2027",
"current_spend": "£0",
"max_spend": "£6,876.70",
"fitness_product": 0,
"has_odometer": 0,
"residual_price": "£731.64",
"image": null,
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
}
],
"metadata": [],
"created_at": "2025-02-19T14:47:13+00:00"
}
}
The following set of endpoints are designed to facilitate the management of media files within the different resources.
This endpoint allows you to upload media files to the specified resource. Some media types are single-use, meaning that only one media file can be uploaded for that type on that resource. If a media file already exists for the specified type, it will be replaced with the new one.
curl --request POST \
"https://api.orbit4.org/v1/media" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--form "type=image"\
--form "resource_id=1"\
--form "resource_type=ticket"\
--form "file=@/tmp/phpQXeMcl"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 40
{
"data": {
"id": 3,
"url": "https://cdn.orbit4.org/uploads/8199167b5eef35ccc41.82219640.jpg",
"type": "image",
"extra_properties": null,
"created_at": "2025-02-19T14:47:15+00:00"
}
}
This endpoint allows you to upload media metadata to the specified resource.
The ID of the media file.
curl --request PUT \
"https://api.orbit4.org/v1/media/2" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"extra_properties\": \"{\\\"approved\\\":true}\"
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 39
{
"data": {
"id": 2,
"url": "https://cdn.orbit4.org/uploads/quote.pdf",
"type": "quote",
"extra_properties": {
"approved": true
},
"created_at": "2025-02-19T14:47:14+00:00"
}
}
The following set of endpoints are designed to facilitate the management of ticket notes. accounts.
This endpoint allows you to create a new note for the specified ticket.
curl --request POST \
"https://api.orbit4.org/v1/notes" \
--header "Authorization: Bearer client-admin-test-token" \
--header "Content-Type: application/json" \
--data "{
\"user_id\": 2,
\"ticket_id\": 1,
\"note\": \"Can you please provide more details about the issue?\"
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 60
x-ratelimit-remaining
: 41
{
"data": {
"id": 10,
"user": {
"id": 2,
"first_name": "Vladimir",
"last_name": "Becker",
"email": "[email protected]",
"role": "gym_operator",
"company": {
"id": 1,
"name": "PulseForge Fitness",
"address": "35123 Runolfsson Valleys",
"address_2": null,
"address_3": null,
"city": "Lake Osborne",
"country": "UK",
"postcode": "24375-0439",
"created_at": "2025-02-19T14:47:10+00:00"
},
"site_name": "London Bridge",
"language": "en",
"email_verified_at": "2025-02-19T14:47:11+00:00",
"metadata": [],
"created_at": "2025-02-19T14:47:11+00:00"
},
"note": "Can you please provide more details about the issue?",
"is_system": false,
"created_at": "2025-02-19T14:47:15+00:00"
}
}
The following set of endpoints are designed to facilitate the management of tickets within your different user accounts. They allow you to search for tickets, fetch specific ticket details, create new tickets, update ticket details, and even change tickets' status. The main purpose of these operations is facilitating the synchronization of your system's tickets with Orbit4.
This endpoint allows you to search for tickets based on specified criteria. The search results will include all tickets that match the criteria.
The ID of the user for whom the tickets are being fetched.
Search for tickets by ticket_number or description.
Filter tickets by their type.
Must be one of:standard
ad-hoc
internal
service
Filter tickets by their status.
Must be one of:open
parts_required
engineer_deployed
closed
Results can be sorted by the following fields:
The default sorting order is ascending, but the direction can be reversed by prefixing a dash (-) like so: ?sort=-id
Filter results by metadata. Replace metadata_key with the key of the metadata you want to filter by.
The page number of results to be returned.
The number of results to be returned for each page of results.