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\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 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-132 serial_number: MSN-753 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£7,355.10' fitness_product: 0 has_odometer: 0 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 2 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-198 serial_number: MSN-647 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£5,500.79' fitness_product: 1 has_odometer: 1 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 3 brand: Technogym range: 'Excite JOG 700 LED' product: Treadmill product_id: 4 qr_code: O4-125 serial_number: MSN-822 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£2,504.37' fitness_product: 0 has_odometer: 1 residual_price: £420.83 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 4 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-395 serial_number: MSN-529 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£5,070.08' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 5 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-019 serial_number: MSN-004 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£3,517.04' fitness_product: 1 has_odometer: 0 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 6 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-474 serial_number: MSN-006 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,144.60' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 7 brand: 'Life Fitness' range: 'IC7 Spin Bike' product: 'Studio Bike' product_id: 1 qr_code: O4-170 serial_number: MSN-807 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,722.98' fitness_product: 0 has_odometer: 0 residual_price: £266.03 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 8 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-331 serial_number: MSN-297 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£6,683.02' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 9 brand: Technogym range: 'Excite JOG 700 LED' product: Treadmill product_id: 4 qr_code: O4-382 serial_number: MSN-630 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,195.44' fitness_product: 1 has_odometer: 0 residual_price: £420.83 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 10 brand: 'Life Fitness' range: 'IC7 Spin Bike' product: 'Studio Bike' product_id: 1 qr_code: O4-185 serial_number: MSN-287 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£6,810.76' fitness_product: 1 has_odometer: 0 residual_price: £266.03 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' links: first: 'https://api.orbit4.org/v1/assets?page=1' last: 'https://api.orbit4.org/v1/assets?page=1' prev: null next: null meta: current_page: 1 from: 1 last_page: 1 links: - url: null label: '« Previous' active: false - url: 'https://api.orbit4.org/v1/assets?page=1' label: '1' active: true - url: null label: 'Next »' active: false path: 'https://api.orbit4.org/v1/assets' per_page: 25 to: 10 total: 10 properties: data: type: array example: - id: 1 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-132 serial_number: MSN-753 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£7,355.10' fitness_product: 0 has_odometer: 0 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 2 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-198 serial_number: MSN-647 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£5,500.79' fitness_product: 1 has_odometer: 1 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 3 brand: Technogym range: 'Excite JOG 700 LED' product: Treadmill product_id: 4 qr_code: O4-125 serial_number: MSN-822 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£2,504.37' fitness_product: 0 has_odometer: 1 residual_price: £420.83 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 4 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-395 serial_number: MSN-529 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£5,070.08' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 5 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-019 serial_number: MSN-004 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£3,517.04' fitness_product: 1 has_odometer: 0 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 6 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-474 serial_number: MSN-006 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,144.60' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 7 brand: 'Life Fitness' range: 'IC7 Spin Bike' product: 'Studio Bike' product_id: 1 qr_code: O4-170 serial_number: MSN-807 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,722.98' fitness_product: 0 has_odometer: 0 residual_price: £266.03 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 8 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-331 serial_number: MSN-297 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£6,683.02' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 9 brand: Technogym range: 'Excite JOG 700 LED' product: Treadmill product_id: 4 qr_code: O4-382 serial_number: MSN-630 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,195.44' fitness_product: 1 has_odometer: 0 residual_price: £420.83 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 10 brand: 'Life Fitness' range: 'IC7 Spin Bike' product: 'Studio Bike' product_id: 1 qr_code: O4-185 serial_number: MSN-287 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£6,810.76' fitness_product: 1 has_odometer: 0 residual_price: £266.03 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' description: 'An array of paginated items.' items: type: object properties: id: type: integer example: 1 brand: type: string example: Precor range: type: string example: 'C-Line Strength' product: type: string example: 'Chest Press' product_id: type: integer example: 3 qr_code: type: string example: O4-132 serial_number: type: string example: MSN-753 installation_date: type: string example: 20/02/2022 manufacturing_date: type: string example: 20/02/2021 warranty_end_date: type: string example: 20/02/2027 current_spend: type: string example: £0 max_spend: type: string example: '£7,355.10' fitness_product: type: integer example: 0 has_odometer: type: integer example: 0 residual_price: type: string example: £305.41 image: type: string example: null metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:48+00:00' links: type: object properties: first: type: string example: 'https://api.orbit4.org/v1/assets?page=1' description: 'The first page URL.' last: type: string example: 'https://api.orbit4.org/v1/assets?page=1' description: 'The last page URL.' prev: type: string example: null description: 'The previous page URL.' next: type: string example: null description: 'The next page URL.' meta: type: object properties: current_page: type: integer example: 1 description: 'Current page number.' from: type: integer example: 1 description: 'Starting record number.' last_page: type: integer example: 1 description: 'Last page number.' links: type: array example: - url: null label: '« Previous' active: false - url: 'https://api.orbit4.org/v1/assets?page=1' label: '1' active: true - url: null label: 'Next »' active: false description: 'An array of links.' items: type: object properties: url: type: string example: null label: type: string example: '« Previous' active: type: boolean example: false path: type: string example: 'https://api.orbit4.org/v1/assets' description: 'The path of the request.' per_page: type: integer example: 25 description: 'Records per page.' to: type: integer example: 10 description: 'Ending record number.' total: type: integer example: 10 description: 'Total number of records.' tags: - Assets post: summary: 'Create new asset.' operationId: createNewAsset description: "This endpoint allows you to add a new asset to the gym operator account. The user_id must be\nspecified when adding a new asset." parameters: [] responses: 201: description: '' content: application/json: schema: type: object example: data: id: 16 brand: 'Life Fitness' range: 'IC7 Spin Bike' product: 'Studio Bike' product_id: 1 qr_code: O4-123456 serial_number: '123456' installation_date: 20/02/2025 manufacturing_date: 20/02/2025 warranty_end_date: 20/02/2025 current_spend: £0 max_spend: £0 fitness_product: null has_odometer: null residual_price: £953.13 image: null metadata: integration_id: ABC123 created_at: '2025-02-20T21:33:50+00:00' properties: data: type: object properties: id: type: integer example: 16 description: 'The unique identifier for the asset within the Orbit4 system.' brand: type: string example: 'Life Fitness' description: 'The brand of the asset.' range: type: string example: 'IC7 Spin Bike' description: 'The range of the asset.' product: type: string example: 'Studio Bike' description: 'The name of the product.' product_id: type: integer example: 1 description: 'The unique identifier for the product within the Orbit4 system.' qr_code: type: string example: O4-123456 description: 'The qr code number used on the sticker of the equipment.' serial_number: type: string example: '123456' description: 'The manufacturer serial number of the equipment.' installation_date: type: string example: 20/02/2025 description: 'The installation date of the equipment.' manufacturing_date: type: string example: 20/02/2025 description: 'The manufacturing date of the equipment.' warranty_end_date: type: string example: 20/02/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: £953.13 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-02-20T21:33:50+00:00' description: 'The date and time the asset was created.' tags: - Assets requestBody: required: true content: application/json: schema: type: object properties: user_id: type: integer description: 'The ID of the gym operator the assets belong to.' example: 2.0 qr_code: type: string description: 'The qr code number used on the sticker of the equipment.' example: O4-123456 serial_number: type: string description: 'The manufacturer serial number of the equipment.' example: '123456' installation_date: type: string description: 'The installation date of the equipment.' example: '2025-02-20' manufacturing_date: type: string description: 'The manufacturing date of the equipment.' example: '2025-02-20' warranty_end_date: type: string description: 'The warranty end date of the equipment.' example: '2025-02-20' 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-198 serial_number: MSN-647 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£5,500.79' fitness_product: 1 has_odometer: 1 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' properties: data: type: object properties: id: type: integer example: 2 description: 'The unique identifier for the asset within the Orbit4 system.' brand: type: string example: 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-198 description: 'The qr code number used on the sticker of the equipment.' serial_number: type: string example: MSN-647 description: 'The manufacturer serial number of the equipment.' installation_date: type: string example: 20/02/2022 description: 'The installation date of the equipment.' manufacturing_date: type: string example: 20/02/2021 description: 'The manufacturing date of the equipment.' warranty_end_date: type: string example: 20/02/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,500.79' 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: £305.41 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-02-20T21:33:48+00:00' description: 'The date and time the asset was created.' tags: - Assets put: summary: 'Update asset.' operationId: updateAsset description: "This endpoint allows you to update details of a specific asset by their ID. Only the fields that need to be\nupdated should be provided." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 2 brand: 'Life Fitness' range: 'IC7 Spin Bike' product: 'Studio Bike' product_id: 1 qr_code: O4-123456 serial_number: '123456' installation_date: 20/02/2025 manufacturing_date: 20/02/2025 warranty_end_date: 20/02/2025 current_spend: £0 max_spend: '£5,500.79' fitness_product: 1 has_odometer: 1 residual_price: £953.13 image: null metadata: integration_id: ABC123 created_at: '2025-02-20T21:33:48+00:00' properties: data: type: object properties: id: type: integer example: 2 description: 'The unique identifier for the asset within the Orbit4 system.' brand: type: string example: 'Life Fitness' description: 'The brand of the asset.' range: type: string example: 'IC7 Spin Bike' description: 'The range of the asset.' product: type: string example: 'Studio Bike' description: 'The name of the product.' product_id: type: integer example: 1 description: 'The unique identifier for the product within the Orbit4 system.' qr_code: type: string example: O4-123456 description: 'The qr code number used on the sticker of the equipment.' serial_number: type: string example: '123456' description: 'The manufacturer serial number of the equipment.' installation_date: type: string example: 20/02/2025 description: 'The installation date of the equipment.' manufacturing_date: type: string example: 20/02/2025 description: 'The manufacturing date of the equipment.' warranty_end_date: type: string example: 20/02/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,500.79' 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: £953.13 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-02-20T21:33:48+00:00' description: 'The date and time the asset was created.' tags: - Assets requestBody: required: false content: application/json: schema: type: object properties: qr_code: type: string description: 'The qr code number used on the sticker of the equipment.' example: O4-123456 serial_number: type: string description: 'The manufacturer serial number of the equipment.' example: '123456' installation_date: type: string description: 'The installation date of the equipment.' example: '2025-02-20' manufacturing_date: type: string description: 'The manufacturing date of the equipment.' example: '2025-02-20' warranty_end_date: type: string description: 'The warranty end date of the equipment.' example: '2025-02-20' 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: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' links: first: 'https://api.orbit4.org/v1/contracts?page=1' last: 'https://api.orbit4.org/v1/contracts?page=1' prev: null next: null meta: current_page: 1 from: 1 last_page: 1 links: - url: null label: '« Previous' active: false - url: 'https://api.orbit4.org/v1/contracts?page=1' label: '1' active: true - url: null label: 'Next »' active: false path: 'https://api.orbit4.org/v1/contracts' per_page: 25 to: 1 total: 1 properties: data: type: array example: - id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' description: 'An array of paginated items.' items: type: object properties: id: type: integer example: 1 number: type: string example: WSGE123 type: type: string example: '' gym_operator: type: object properties: id: type: integer example: 2 first_name: type: string example: Jonas last_name: type: string example: Lynch 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: '3221 Ruben Garden' address_2: type: string example: null address_3: type: string example: null city: type: string example: 'North Lenna' country: type: string example: UK postcode: type: string example: '98883' created_at: type: string example: '2025-02-20T21:33:45+00:00' site_name: type: string example: 'London Bridge' language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00:00' service_provider: type: object properties: id: type: integer example: 4 first_name: type: string example: Beth last_name: type: string example: Homenick 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: '2404 Dayna Via' address_2: type: string example: null address_3: type: string example: null city: type: string example: Thoramouth country: type: string example: UK postcode: type: string example: 89490-1557 created_at: type: string example: '2025-02-20T21:33:45+00:00' site_name: type: string example: null language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:47+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:47+00:00' active: type: boolean example: true start_date: type: string example: '2025-02-19' end_date: type: string example: '2026-02-19' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:48+00:00' links: type: object properties: first: type: string example: 'https://api.orbit4.org/v1/contracts?page=1' description: 'The first page URL.' last: type: string example: 'https://api.orbit4.org/v1/contracts?page=1' description: 'The last page URL.' prev: type: string example: null description: 'The previous page URL.' next: type: string example: null description: 'The next page URL.' meta: type: object properties: current_page: type: integer example: 1 description: 'Current page number.' from: type: integer example: 1 description: 'Starting record number.' last_page: type: integer example: 1 description: 'Last page number.' links: type: array example: - url: null label: '« Previous' active: false - url: 'https://api.orbit4.org/v1/contracts?page=1' label: '1' active: true - url: null label: 'Next »' active: false description: 'An array of links.' items: type: object properties: url: type: string example: null label: type: string example: '« Previous' active: type: boolean example: false path: type: string example: 'https://api.orbit4.org/v1/contracts' description: 'The path of the request.' per_page: type: integer example: 25 description: 'Records per page.' to: type: integer example: 1 description: 'Ending record number.' total: type: integer example: 1 description: 'Total number of records.' tags: - Contracts post: summary: 'Create new contract.' operationId: createNewContract description: 'This endpoint allows you to create a new contract between a gym operator and a service provider.' parameters: [] responses: 201: description: '' content: application/json: schema: type: object example: data: id: 2 number: WSGE1 type: 'Full Annual' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 3 first_name: Felton last_name: Heller email: club-b@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'Notthing Hill Gate' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' active: true start_date: '2025-02-20' end_date: '2026-02-20' metadata: integration_id: ABC123 created_at: '2025-02-20T21:33:50+00: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: Jonas description: 'The first name of the user.' last_name: type: string example: Lynch 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: 'London Bridge' language: type: string example: en description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00: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: Felton description: 'The first name of the user.' last_name: type: string example: Heller 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00: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-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00: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-02-20' description: 'The date the contract starts.' end_date: type: string example: '2026-02-20' description: 'The date the contract ends.' metadata: type: object properties: integration_id: type: string example: ABC123 created_at: type: string example: '2025-02-20T21:33:50+00:00' tags: - Contracts requestBody: required: true content: application/json: schema: type: object properties: gym_operator_id: type: integer description: 'The ID of the gym operator the service contract belong to.' example: 2.0 service_provider_id: type: integer description: 'The ID of the service provider the service contract belong to.' example: 3.0 start_date: type: string description: 'The date the service contract becomes active. The end date will be a year from this date.' example: '2025-02-20' 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: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' assets: - id: 1 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-132 serial_number: MSN-753 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£7,355.10' fitness_product: 0 has_odometer: 0 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 2 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-198 serial_number: MSN-647 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£5,500.79' fitness_product: 1 has_odometer: 1 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 3 brand: Technogym range: 'Excite JOG 700 LED' product: Treadmill product_id: 4 qr_code: O4-125 serial_number: MSN-822 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£2,504.37' fitness_product: 0 has_odometer: 1 residual_price: £420.83 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 4 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-395 serial_number: MSN-529 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£5,070.08' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 5 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-019 serial_number: MSN-004 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£3,517.04' fitness_product: 1 has_odometer: 0 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 6 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-474 serial_number: MSN-006 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,144.60' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 7 brand: 'Life Fitness' range: 'IC7 Spin Bike' product: 'Studio Bike' product_id: 1 qr_code: O4-170 serial_number: MSN-807 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,722.98' fitness_product: 0 has_odometer: 0 residual_price: £266.03 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 8 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-331 serial_number: MSN-297 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£6,683.02' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 9 brand: Technogym range: 'Excite JOG 700 LED' product: Treadmill product_id: 4 qr_code: O4-382 serial_number: MSN-630 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,195.44' fitness_product: 1 has_odometer: 0 residual_price: £420.83 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 10 brand: 'Life Fitness' range: 'IC7 Spin Bike' product: 'Studio Bike' product_id: 1 qr_code: O4-185 serial_number: MSN-287 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£6,810.76' fitness_product: 1 has_odometer: 0 residual_price: £266.03 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' metadata: [] created_at: '2025-02-20T21:33:48+00:00' properties: data: type: object properties: id: type: integer example: 1 description: 'The unique identifier for the contract within the Orbit4 system.' number: type: string example: WSGE123 description: 'A user friendly identifier for the contract.' type: type: string example: '' 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: Jonas description: 'The first name of the user.' last_name: type: string example: Lynch 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: 'London Bridge' language: type: string example: en description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00: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: Beth description: 'The first name of the user.' last_name: type: string example: Homenick 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: '2404 Dayna Via' 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: Thoramouth 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: 89490-1557 description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00: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-02-20T21:33:47+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:47+00: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-02-19' description: 'The date the contract starts.' end_date: type: string example: '2026-02-19' description: 'The date the contract ends.' assets: type: array example: - id: 1 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-132 serial_number: MSN-753 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£7,355.10' fitness_product: 0 has_odometer: 0 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 2 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-198 serial_number: MSN-647 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£5,500.79' fitness_product: 1 has_odometer: 1 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 3 brand: Technogym range: 'Excite JOG 700 LED' product: Treadmill product_id: 4 qr_code: O4-125 serial_number: MSN-822 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£2,504.37' fitness_product: 0 has_odometer: 1 residual_price: £420.83 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 4 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-395 serial_number: MSN-529 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£5,070.08' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 5 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-019 serial_number: MSN-004 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£3,517.04' fitness_product: 1 has_odometer: 0 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 6 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-474 serial_number: MSN-006 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,144.60' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 7 brand: 'Life Fitness' range: 'IC7 Spin Bike' product: 'Studio Bike' product_id: 1 qr_code: O4-170 serial_number: MSN-807 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,722.98' fitness_product: 0 has_odometer: 0 residual_price: £266.03 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 8 brand: 'Hammer Strength' range: 'Plateloaded Iso-Lateral' product: 'Seated Leg Press' product_id: 5 qr_code: O4-331 serial_number: MSN-297 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£6,683.02' fitness_product: 1 has_odometer: 1 residual_price: £416.86 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 9 brand: Technogym range: 'Excite JOG 700 LED' product: Treadmill product_id: 4 qr_code: O4-382 serial_number: MSN-630 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£4,195.44' fitness_product: 1 has_odometer: 0 residual_price: £420.83 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 10 brand: 'Life Fitness' range: 'IC7 Spin Bike' product: 'Studio Bike' product_id: 1 qr_code: O4-185 serial_number: MSN-287 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£6,810.76' fitness_product: 1 has_odometer: 0 residual_price: £266.03 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' items: type: object properties: id: type: integer example: 1 brand: type: string example: Precor range: type: string example: 'C-Line Strength' product: type: string example: 'Chest Press' product_id: type: integer example: 3 qr_code: type: string example: O4-132 serial_number: type: string example: MSN-753 installation_date: type: string example: 20/02/2022 manufacturing_date: type: string example: 20/02/2021 warranty_end_date: type: string example: 20/02/2027 current_spend: type: string example: £0 max_spend: type: string example: '£7,355.10' fitness_product: type: integer example: 0 has_odometer: type: integer example: 0 residual_price: type: string example: £305.41 image: type: string example: null metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:48+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:48+00:00' tags: - Contracts parameters: - in: path name: contract description: 'The ID of the contract.' example: '1' required: true schema: type: string /v1/media: post: summary: 'Upload media.' operationId: uploadMedia description: "This endpoint allows you to upload media files to the specified resource. Some media types are single-use, meaning\nthat only one media file can be uploaded for that type on that resource. If a media file already exists for the specified type, it\nwill be replaced with the new one." parameters: [] responses: 201: description: '' content: application/json: schema: type: object example: data: id: 3 url: 'https://cdn.orbit4.org/uploads/8567467b79fbf1cdbf5.87973914.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:51+00: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/8567467b79fbf1cdbf5.87973914.jpg' description: 'The URL of the media.' type: type: string example: image description: 'The type of media.' extra_properties: type: string example: null description: 'An object of extra properties attached to the media.' created_at: type: string example: '2025-02-20T21:33:51+00:00' description: 'The date and time the media was created.' tags: - Media requestBody: required: true content: multipart/form-data: schema: type: object properties: type: type: string description: 'The type of media to be uploaded.' example: image enum: - image - audio - video - quote - worksheet - purchase_order - invoice file: type: string format: binary description: 'The file being uploaded.' resource_id: type: integer description: 'The ID of the resource the media is being uploaded for.' example: 1.0 resource_type: type: string description: 'The type of resource the media is being uploaded for.' example: ticket enum: - asset - ticket required: - type - file - resource_id - resource_type '/v1/media/{media}': put: summary: 'Update media extra properties.' operationId: updateMediaExtraProperties description: 'This endpoint allows you to upload media metadata to the specified resource.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 2 url: 'https://cdn.orbit4.org/uploads/quote.pdf' type: quote extra_properties: approved: true created_at: '2025-02-20T21:33:49+00:00' properties: data: type: object properties: id: type: integer example: 2 description: 'The unique identifier for the media within the Orbit4 system.' url: type: string example: 'https://cdn.orbit4.org/uploads/quote.pdf' description: 'The URL of the media.' type: type: string example: quote description: 'The type of media.' extra_properties: type: object properties: approved: type: boolean example: true created_at: type: string example: '2025-02-20T21:33:49+00:00' description: 'The date and time the media was created.' tags: - Media requestBody: required: true content: application/json: schema: type: object properties: extra_properties: type: object description: 'The extra properties to be updated.' example: '{"approved":true}' properties: { } required: - extra_properties parameters: - in: path name: media description: 'The ID of the media file.' example: '2' required: true schema: type: string /v1/notes: post: summary: 'Create ticket note.' operationId: createTicketNote description: 'This endpoint allows you to create a new note for the specified ticket.' parameters: [] responses: 201: description: '' content: application/json: schema: type: object example: data: id: 10 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Can you please provide more details about the issue?' is_system: false created_at: '2025-02-20T21:33:51+00:00' properties: data: type: object properties: id: type: integer example: 10 description: 'The unique identifier for the note within the Orbit4 system.' user: type: object properties: id: type: integer example: 2 description: 'The unique identifier for the user within the Orbit4 system.' first_name: type: string example: Jonas description: 'The first name of the user.' last_name: type: string example: Lynch 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: 'London Bridge' language: type: string example: en description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user was created.' note: type: string example: 'Can you please provide more details about the issue?' description: 'The content of the note.' is_system: type: boolean example: false description: 'A boolean indicating whether the note was generated by the system.' created_at: type: string example: '2025-02-20T21:33:51+00:00' description: 'The date and time the note was created.' tags: - Notes requestBody: required: true content: application/json: schema: type: object properties: user_id: type: integer description: 'The ID of the author of the note.' example: 2.0 ticket_id: type: integer description: 'The ID of the ticket the note is added to.' example: 1 note: type: string description: 'The message of the note.' example: 'Can you please provide more details about the issue?' 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\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-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: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 1 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' metadata: [] created_at: '2025-02-20T21:33:48+00: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: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' images: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' notes: - id: 2 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' - id: 8 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Hey, this machine is now totally out of use. Can you come today?' is_system: false created_at: '2025-02-20T21:33:49+00:00' - id: 9 user: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' note: "Sure, no problem, I'll deploy one of my technicians out to you now." is_system: false created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:48+00: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: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 3 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 4 number: WSGE123-004 type: standard description: null priority: Faulty status: engineer_deployed engineer_arrived_at: null engineer_deployed_at: '2025-02-20T21:33:49+00:00' closed_at: null service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 4 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:49+00: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: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 5 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:49+00: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-02-20T21:33:49+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 6 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:49+00: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-02-20T21:33:49+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 7 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:49+00:00' links: first: 'https://api.orbit4.org/v1/tickets?page=1' last: 'https://api.orbit4.org/v1/tickets?page=1' prev: null next: null meta: current_page: 1 from: 1 last_page: 1 links: - url: null label: '« Previous' active: false - url: 'https://api.orbit4.org/v1/tickets?page=1' label: '1' active: true - url: null label: 'Next »' active: false path: 'https://api.orbit4.org/v1/tickets' per_page: 25 to: 7 total: 7 properties: data: type: array example: - id: 1 number: WSGE123-001 type: standard description: null priority: Faulty status: open engineer_arrived_at: null engineer_deployed_at: null closed_at: null service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 1 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' metadata: [] created_at: '2025-02-20T21:33:48+00: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: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' images: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' notes: - id: 2 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' - id: 8 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Hey, this machine is now totally out of use. Can you come today?' is_system: false created_at: '2025-02-20T21:33:49+00:00' - id: 9 user: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' note: "Sure, no problem, I'll deploy one of my technicians out to you now." is_system: false created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:48+00: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: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 3 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' metadata: [] created_at: '2025-02-20T21:33:48+00:00' - id: 4 number: WSGE123-004 type: standard description: null priority: Faulty status: engineer_deployed engineer_arrived_at: null engineer_deployed_at: '2025-02-20T21:33:49+00:00' closed_at: null service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 4 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:49+00: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: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 5 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:49+00: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-02-20T21:33:49+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 6 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:49+00: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-02-20T21:33:49+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: [] images: [] notes: - id: 7 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:49+00:00' description: 'An array of paginated items.' items: type: object properties: id: type: integer example: 1 number: type: string example: WSGE123-001 type: type: string example: standard description: type: string example: null priority: type: string example: Faulty 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: Beth last_name: type: string example: Homenick 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: '2404 Dayna Via' address_2: type: string example: null address_3: type: string example: null city: type: string example: Thoramouth country: type: string example: UK postcode: type: string example: 89490-1557 created_at: type: string example: '2025-02-20T21:33:45+00:00' site_name: type: string example: null language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:47+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:47+00:00' gym_operator: type: object properties: id: type: integer example: 2 first_name: type: string example: Jonas last_name: type: string example: Lynch 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: '3221 Ruben Garden' address_2: type: string example: null address_3: type: string example: null city: type: string example: 'North Lenna' country: type: string example: UK postcode: type: string example: '98883' created_at: type: string example: '2025-02-20T21:33:45+00:00' site_name: type: string example: 'London Bridge' language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00:00' ticket_admin: type: string example: null engineer: type: string example: null caretaker: type: string example: null asset: type: string example: null contract: type: object properties: id: type: integer example: 1 number: type: string example: WSGE123 type: type: string example: '' gym_operator: type: object properties: id: type: integer example: 2 first_name: type: string example: Jonas last_name: type: string example: Lynch 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: '3221 Ruben Garden' address_2: type: string example: null address_3: type: string example: null city: type: string example: 'North Lenna' country: type: string example: UK postcode: type: string example: '98883' created_at: type: string example: '2025-02-20T21:33:45+00:00' site_name: type: string example: 'London Bridge' language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00:00' service_provider: type: object properties: id: type: integer example: 4 first_name: type: string example: Beth last_name: type: string example: Homenick 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: '2404 Dayna Via' address_2: type: string example: null address_3: type: string example: null city: type: string example: Thoramouth country: type: string example: UK postcode: type: string example: 89490-1557 created_at: type: string example: '2025-02-20T21:33:45+00:00' site_name: type: string example: null language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:47+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:47+00:00' active: type: boolean example: true start_date: type: string example: '2025-02-19' end_date: type: string example: '2026-02-19' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:48+00:00' media: type: array example: [] images: type: array example: [] notes: type: array example: - id: 1 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' items: type: object properties: id: type: integer example: 1 user: type: object properties: id: type: integer example: 2 first_name: type: string example: Jonas last_name: type: string example: Lynch 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: '3221 Ruben Garden' } address_2: { type: string, example: null } address_3: { type: string, example: null } city: { type: string, example: 'North Lenna' } country: { type: string, example: UK } postcode: { type: string, example: '98883' } created_at: { type: string, example: '2025-02-20T21:33:45+00:00' } site_name: type: string example: 'London Bridge' language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00:00' note: type: string example: 'Ticket Raised' is_system: type: boolean example: true created_at: type: string example: '2025-02-20T21:33:48+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:48+00:00' links: type: object properties: first: type: string example: 'https://api.orbit4.org/v1/tickets?page=1' description: 'The first page URL.' last: type: string example: 'https://api.orbit4.org/v1/tickets?page=1' description: 'The last page URL.' prev: type: string example: null description: 'The previous page URL.' next: type: string example: null description: 'The next page URL.' meta: type: object properties: current_page: type: integer example: 1 description: 'Current page number.' from: type: integer example: 1 description: 'Starting record number.' last_page: type: integer example: 1 description: 'Last page number.' links: type: array example: - url: null label: '« Previous' active: false - url: 'https://api.orbit4.org/v1/tickets?page=1' label: '1' active: true - url: null label: 'Next »' active: false description: 'An array of links.' items: type: object properties: url: type: string example: null label: type: string example: '« Previous' active: type: boolean example: false path: type: string example: 'https://api.orbit4.org/v1/tickets' description: 'The path of the request.' per_page: type: integer example: 25 description: 'Records per page.' to: type: integer example: 7 description: 'Ending record number.' total: type: integer example: 7 description: 'Total number of records.' tags: - Tickets post: summary: 'Create new ticket.' operationId: createNewTicket description: "This endpoint allows you to raise a new ticket from the specified sender to the specified recipient account.\nThe ticket will be created with the provided details and assigned to the specified user." parameters: [] responses: 201: description: '' content: application/json: schema: type: object example: data: id: 8 number: WSGE123-008 type: standard description: 'The treadmill is broken. Please fix it.' priority: Faulty status: open engineer_arrived_at: null engineer_deployed_at: null closed_at: null service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: id: 1 brand: Precor range: 'C-Line Strength' product: 'Chest Press' product_id: 3 qr_code: O4-132 serial_number: MSN-753 installation_date: 20/02/2022 manufacturing_date: 20/02/2021 warranty_end_date: 20/02/2027 current_spend: £0 max_spend: '£7,355.10' fitness_product: 0 has_odometer: 0 residual_price: £305.41 image: null metadata: [] created_at: '2025-02-20T21:33:48+00:00' contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: - id: 3 url: 'https://cdn.orbit4.org/uploads/6479867b79fbe683624.98125387.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:50+00:00' images: - id: 3 url: 'https://cdn.orbit4.org/uploads/6479867b79fbe683624.98125387.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:50+00:00' notes: - id: 10 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:50+00:00' - id: 11 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'The treadmill is broken. Please fix it.' is_system: false created_at: '2025-02-20T21:33:50+00:00' - id: 12 user: id: 1 first_name: Rocio last_name: Greenfelder email: client-admin@orbit4.org role: club_admin company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:45+00:00' metadata: [] created_at: '2025-02-20T21:33:45+00:00' note: 'Image Uploaded' is_system: true created_at: '2025-02-20T21:33:50+00:00' metadata: integration_id: ABC123 created_at: '2025-02-20T21:33:50+00:00' properties: data: type: object properties: id: type: integer example: 8 description: 'The unique identifier for the ticket within the Orbit4 system.' number: type: string example: WSGE123-008 description: 'A user friendly identifier for the ticket.' type: type: string example: standard description: 'The type of ticket.' description: type: string example: 'The treadmill is broken. Please fix it.' description: 'A description of the issue.' priority: type: string example: Faulty description: 'The priority of the ticket based on the state of the equipment.' 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: Beth description: 'The first name of the user.' last_name: type: string example: Homenick 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: '2404 Dayna Via' 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: Thoramouth 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: 89490-1557 description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00: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-02-20T21:33:47+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:47+00: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: Jonas description: 'The first name of the user.' last_name: type: string example: Lynch 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: 'London Bridge' language: type: string example: en description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00: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: 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-132 description: 'The qr code number used on the sticker of the equipment.' serial_number: type: string example: MSN-753 description: 'The manufacturer serial number of the equipment.' installation_date: type: string example: 20/02/2022 description: 'The installation date of the equipment.' manufacturing_date: type: string example: 20/02/2021 description: 'The manufacturing date of the equipment.' warranty_end_date: type: string example: 20/02/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: '£7,355.10' 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: £305.41 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-02-20T21:33:48+00: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: Jonas description: 'The first name of the user.' last_name: type: string example: Lynch 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: 'London Bridge' language: type: string example: en description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00: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: Beth description: 'The first name of the user.' last_name: type: string example: Homenick 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: '2404 Dayna Via' 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: Thoramouth 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: 89490-1557 description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00: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-02-20T21:33:47+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:47+00: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-02-19' description: 'The date the contract starts.' end_date: type: string example: '2026-02-19' description: 'The date the contract ends.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:48+00:00' media: type: array example: - id: 3 url: 'https://cdn.orbit4.org/uploads/6479867b79fbe683624.98125387.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:50+00: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/6479867b79fbe683624.98125387.jpg' type: type: string example: image extra_properties: type: string example: null created_at: type: string example: '2025-02-20T21:33:50+00:00' images: type: array example: - id: 3 url: 'https://cdn.orbit4.org/uploads/6479867b79fbe683624.98125387.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:50+00: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/6479867b79fbe683624.98125387.jpg' type: type: string example: image extra_properties: type: string example: null created_at: type: string example: '2025-02-20T21:33:50+00:00' notes: type: array example: - id: 10 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:50+00:00' - id: 11 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'The treadmill is broken. Please fix it.' is_system: false created_at: '2025-02-20T21:33:50+00:00' - id: 12 user: id: 1 first_name: Rocio last_name: Greenfelder email: client-admin@orbit4.org role: club_admin company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:45+00:00' metadata: [] created_at: '2025-02-20T21:33:45+00:00' note: 'Image Uploaded' is_system: true created_at: '2025-02-20T21:33:50+00:00' description: 'An array of objects representing the notes linked to the ticket.' items: type: object properties: id: type: integer example: 10 user: type: object properties: id: type: integer example: 2 first_name: type: string example: Jonas last_name: type: string example: Lynch 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: '3221 Ruben Garden' address_2: type: string example: null address_3: type: string example: null city: type: string example: 'North Lenna' country: type: string example: UK postcode: type: string example: '98883' created_at: type: string example: '2025-02-20T21:33:45+00:00' site_name: type: string example: 'London Bridge' language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00:00' note: type: string example: 'Ticket Raised' is_system: type: boolean example: true created_at: type: string example: '2025-02-20T21:33:50+00:00' metadata: type: object properties: integration_id: type: string example: ABC123 created_at: type: string example: '2025-02-20T21:33:50+00:00' description: 'The date and time the ticket was created.' tags: - Tickets requestBody: required: true content: multipart/form-data: schema: type: object properties: sender_id: type: integer description: 'The ID of the gym operator raising the ticket.' example: 2.0 recipient_id: type: integer description: 'The ID of the user the ticket is sent to. Only required if the ticket is sent to a user.' example: 4.0 asset_id: type: integer description: 'The ID of the asset the ticket is raised for' example: 1 type: type: string description: 'The type of ticket being raised.' example: standard enum: - standard - ad-hoc - internal - service description: type: string description: 'The description of the problem being raised in the ticket.' example: 'The treadmill is broken. Please fix it.' priority: type: string description: 'The priority of the ticket based on the state of the equipment.' example: Faulty enum: - Low - Faulty - 'Out of Order' - Replacement 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: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' images: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' notes: - id: 2 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' - id: 8 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Hey, this machine is now totally out of use. Can you come today?' is_system: false created_at: '2025-02-20T21:33:49+00:00' - id: 9 user: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' note: "Sure, no problem, I'll deploy one of my technicians out to you now." is_system: false created_at: '2025-02-20T21:33:49+00:00' metadata: [] created_at: '2025-02-20T21:33:48+00:00' properties: data: type: object properties: id: type: integer example: 2 description: 'The unique identifier for the ticket within the Orbit4 system.' number: type: string example: WSGE123-002 description: 'A user friendly identifier for the ticket.' type: type: string example: standard description: 'The type of ticket.' description: type: string example: null description: 'A description of the issue.' priority: type: string example: Faulty description: 'The priority of the ticket based on the state of the equipment.' 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: Beth description: 'The first name of the user.' last_name: type: string example: Homenick 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: '2404 Dayna Via' 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: Thoramouth 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: 89490-1557 description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00: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-02-20T21:33:47+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:47+00: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: Jonas description: 'The first name of the user.' last_name: type: string example: Lynch 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: 'London Bridge' language: type: string example: en description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00: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: Jonas description: 'The first name of the user.' last_name: type: string example: Lynch 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: 'London Bridge' language: type: string example: en description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00: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: Beth description: 'The first name of the user.' last_name: type: string example: Homenick 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: '2404 Dayna Via' 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: Thoramouth 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: 89490-1557 description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00: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-02-20T21:33:47+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:47+00: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-02-19' description: 'The date the contract starts.' end_date: type: string example: '2026-02-19' description: 'The date the contract ends.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:48+00:00' media: type: array example: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' description: 'An array of objects representing the media linked to the ticket.' items: type: object properties: id: type: integer example: 1 url: type: string example: 'https://cdn.orbit4.org/uploads/image.jpg' type: type: string example: image extra_properties: type: string example: null created_at: type: string example: '2025-02-20T21:33:49+00:00' images: type: array example: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' description: 'An array of objects representing the images linked to the ticket.' items: type: object properties: id: type: integer example: 1 url: type: string example: 'https://cdn.orbit4.org/uploads/image.jpg' type: type: string example: image extra_properties: type: string example: null created_at: type: string example: '2025-02-20T21:33:49+00:00' notes: type: array example: - id: 2 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' - id: 8 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Hey, this machine is now totally out of use. Can you come today?' is_system: false created_at: '2025-02-20T21:33:49+00:00' - id: 9 user: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' note: "Sure, no problem, I'll deploy one of my technicians out to you now." is_system: false created_at: '2025-02-20T21:33:49+00:00' description: 'An array of objects representing the notes linked to the ticket.' items: type: object properties: id: type: integer example: 2 user: type: object properties: id: type: integer example: 2 first_name: type: string example: Jonas last_name: type: string example: Lynch 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: '3221 Ruben Garden' address_2: type: string example: null address_3: type: string example: null city: type: string example: 'North Lenna' country: type: string example: UK postcode: type: string example: '98883' created_at: type: string example: '2025-02-20T21:33:45+00:00' site_name: type: string example: 'London Bridge' language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00:00' note: type: string example: 'Ticket Raised' is_system: type: boolean example: true created_at: type: string example: '2025-02-20T21:33:48+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:48+00:00' description: 'The date and time the ticket was created.' tags: - Tickets put: summary: 'Update ticket.' operationId: updateTicket description: "This endpoint allows you to update details of a specific ticket by their ID. Only the fields that need to be\nupdated should be provided." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 2 number: WSGE123-002 type: standard description: null priority: Faulty status: closed engineer_arrived_at: null engineer_deployed_at: null closed_at: '2025-02-20T21:33:50+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' ticket_admin: null engineer: null caretaker: null asset: null contract: id: 1 number: WSGE123 type: '' gym_operator: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' service_provider: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' active: true start_date: '2025-02-19' end_date: '2026-02-19' metadata: [] created_at: '2025-02-20T21:33:48+00:00' media: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' images: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' notes: - id: 2 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' - id: 8 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Hey, this machine is now totally out of use. Can you come today?' is_system: false created_at: '2025-02-20T21:33:49+00:00' - id: 9 user: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' note: "Sure, no problem, I'll deploy one of my technicians out to you now." is_system: false created_at: '2025-02-20T21:33:49+00:00' - id: 10 user: id: 1 first_name: Rocio last_name: Greenfelder email: client-admin@orbit4.org role: club_admin company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:45+00:00' metadata: [] created_at: '2025-02-20T21:33:45+00:00' note: 'Ticket Closed' is_system: true created_at: '2025-02-20T21:33:50+00:00' metadata: integration_id: ABC123 created_at: '2025-02-20T21:33:48+00:00' properties: data: type: object properties: id: type: integer example: 2 description: 'The unique identifier for the ticket within the Orbit4 system.' number: type: string example: WSGE123-002 description: 'A user friendly identifier for the ticket.' type: type: string example: standard description: 'The type of ticket.' description: type: string example: null description: 'A description of the issue.' priority: type: string example: Faulty description: 'The priority of the ticket based on the state of the equipment.' 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-02-20T21:33:50+00: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: Beth description: 'The first name of the user.' last_name: type: string example: Homenick 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: '2404 Dayna Via' 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: Thoramouth 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: 89490-1557 description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00: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-02-20T21:33:47+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:47+00: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: Jonas description: 'The first name of the user.' last_name: type: string example: Lynch 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: 'London Bridge' language: type: string example: en description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00: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: Jonas description: 'The first name of the user.' last_name: type: string example: Lynch 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: 'London Bridge' language: type: string example: en description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00: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: Beth description: 'The first name of the user.' last_name: type: string example: Homenick 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: '2404 Dayna Via' 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: Thoramouth 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: 89490-1557 description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00: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-02-20T21:33:47+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:47+00: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-02-19' description: 'The date the contract starts.' end_date: type: string example: '2026-02-19' description: 'The date the contract ends.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:48+00:00' media: type: array example: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' description: 'An array of objects representing the media linked to the ticket.' items: type: object properties: id: type: integer example: 1 url: type: string example: 'https://cdn.orbit4.org/uploads/image.jpg' type: type: string example: image extra_properties: type: string example: null created_at: type: string example: '2025-02-20T21:33:49+00:00' images: type: array example: - id: 1 url: 'https://cdn.orbit4.org/uploads/image.jpg' type: image extra_properties: null created_at: '2025-02-20T21:33:49+00:00' description: 'An array of objects representing the images linked to the ticket.' items: type: object properties: id: type: integer example: 1 url: type: string example: 'https://cdn.orbit4.org/uploads/image.jpg' type: type: string example: image extra_properties: type: string example: null created_at: type: string example: '2025-02-20T21:33:49+00:00' notes: type: array example: - id: 2 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Ticket Raised' is_system: true created_at: '2025-02-20T21:33:48+00:00' - id: 8 user: id: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' note: 'Hey, this machine is now totally out of use. Can you come today?' is_system: false created_at: '2025-02-20T21:33:49+00:00' - id: 9 user: id: 4 first_name: Beth last_name: Homenick email: service-provider@orbit4.org role: service_provider company: id: 2 name: 'The Gym Fixers' address: '2404 Dayna Via' address_2: null address_3: null city: Thoramouth country: UK postcode: 89490-1557 created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:47+00:00' metadata: [] created_at: '2025-02-20T21:33:47+00:00' note: "Sure, no problem, I'll deploy one of my technicians out to you now." is_system: false created_at: '2025-02-20T21:33:49+00:00' - id: 10 user: id: 1 first_name: Rocio last_name: Greenfelder email: client-admin@orbit4.org role: club_admin company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: null language: en email_verified_at: '2025-02-20T21:33:45+00:00' metadata: [] created_at: '2025-02-20T21:33:45+00:00' note: 'Ticket Closed' is_system: true created_at: '2025-02-20T21:33:50+00:00' description: 'An array of objects representing the notes linked to the ticket.' items: type: object properties: id: type: integer example: 2 user: type: object properties: id: type: integer example: 2 first_name: type: string example: Jonas last_name: type: string example: Lynch 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: '3221 Ruben Garden' address_2: type: string example: null address_3: type: string example: null city: type: string example: 'North Lenna' country: type: string example: UK postcode: type: string example: '98883' created_at: type: string example: '2025-02-20T21:33:45+00:00' site_name: type: string example: 'London Bridge' language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00:00' note: type: string example: 'Ticket Raised' is_system: type: boolean example: true created_at: type: string example: '2025-02-20T21:33:48+00:00' metadata: type: object properties: integration_id: type: string example: ABC123 created_at: type: string example: '2025-02-20T21:33:48+00:00' description: 'The date and time the ticket was created.' tags: - Tickets requestBody: required: false content: application/json: schema: type: object properties: status: type: string description: 'The status of the ticket.' example: closed enum: - open - 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\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: 2 first_name: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' - id: 3 first_name: Felton last_name: Heller email: club-b@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'Notthing Hill Gate' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00: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: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' - id: 3 first_name: Felton last_name: Heller email: club-b@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'Notthing Hill Gate' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' description: 'An array of paginated items.' items: type: object properties: id: type: integer example: 2 first_name: type: string example: Jonas last_name: type: string example: Lynch 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: '3221 Ruben Garden' address_2: type: string example: null address_3: type: string example: null city: type: string example: 'North Lenna' country: type: string example: UK postcode: type: string example: '98883' created_at: type: string example: '2025-02-20T21:33:45+00:00' site_name: type: string example: 'London Bridge' language: type: string example: en email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00: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: xlmikwxsl last_name: oxbcqjiysp email: vborer@example.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: odtymfx language: tr email_verified_at: null metadata: integration_id: ABC123 created_at: '2025-02-20T21:33:49+00: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: xlmikwxsl description: 'The first name of the user.' last_name: type: string example: oxbcqjiysp description: 'The last name of the user.' email: type: string example: vborer@example.org description: 'The email address of the user.' role: type: string example: gym_operator description: 'The role of the user.' company: type: object properties: id: type: integer example: 1 description: 'The unique identifier for the company within the Orbit4 system.' name: type: string example: 'PulseForge Fitness' description: 'The name of the company.' address: type: string example: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: odtymfx language: type: string example: tr 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-02-20T21:33:49+00:00' description: 'The date and time the user was created.' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: first_name: type: string description: 'The first name of the user.' example: xlmikwxsl last_name: type: string description: 'The last name of the user.' example: oxbcqjiysp email: type: string description: 'The email address of the user.' example: vborer@example.org company_id: type: numeric description: 'The company id the user belongs to. Only for Service Providers.' example: null site_name: type: string description: 'The name of the club the user belongs to. Only for Gym Operators.' example: odtymfx language: type: string description: 'The preferred language the user wants to receive their notifications.' example: tr enum: - en - es - de - bg - pt - fr - jp - tr - ar - zh - hi - bn 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: Jonas last_name: Lynch email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: 'London Bridge' language: en email_verified_at: '2025-02-20T21:33:46+00:00' metadata: [] created_at: '2025-02-20T21:33:46+00:00' properties: data: type: object properties: id: type: integer example: 2 description: 'The unique identifier for the user within the Orbit4 system.' first_name: type: string example: Jonas description: 'The first name of the user.' last_name: type: string example: Lynch 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: 'London Bridge' language: type: string example: en description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: array example: [] created_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user was created.' tags: - Users put: summary: 'Update user.' operationId: updateUser description: "This endpoint allows you to update details of a specific user by their ID. Only the fields that need to be\nupdated should be provided." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 2 first_name: vhyzeftqpomiqnefpmlaos last_name: fdgpmnpcppzlsqtukvtk email: club-a@orbit4.org role: gym_operator company: id: 1 name: 'PulseForge Fitness' address: '3221 Ruben Garden' address_2: null address_3: null city: 'North Lenna' country: UK postcode: '98883' created_at: '2025-02-20T21:33:45+00:00' site_name: lzpvoxncbiprumqyvqyg language: bg email_verified_at: '2025-02-20T21:33:46+00:00' metadata: integration_id: ABC123 created_at: '2025-02-20T21:33:46+00:00' properties: data: type: object properties: id: type: integer example: 2 description: 'The unique identifier for the user within the Orbit4 system.' first_name: type: string example: vhyzeftqpomiqnefpmlaos description: 'The first name of the user.' last_name: type: string example: fdgpmnpcppzlsqtukvtk 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: '3221 Ruben Garden' 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 Lenna' 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: '98883' description: "The postcode of the company's address." created_at: type: string example: '2025-02-20T21:33:45+00:00' description: 'The date and time the company was created.' site_name: type: string example: lzpvoxncbiprumqyvqyg language: type: string example: bg description: 'The language the user prefers to use.' email_verified_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user verified their email address.' metadata: type: object properties: integration_id: type: string example: ABC123 created_at: type: string example: '2025-02-20T21:33:46+00:00' description: 'The date and time the user was created.' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: first_name: type: string description: 'The first name of the user.' example: vhyzeftqpomiqnefpmlaos last_name: type: string description: 'The last name of the user.' example: fdgpmnpcppzlsqtukvtk site_name: type: string description: 'The name of the club the user belongs to. Only for Gym Operators.' example: lzpvoxncbiprumqyvqyg language: type: string description: 'The preferred language the user wants to receive their notifications.' example: bg enum: - en - es - de - bg - pt - fr - jp - tr - ar - zh - hi - bn 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: []