1. Help
  2. Integrations
  3. iPaaS
  4. connector-documentation
  5. Raynet Connector

‍

purple icon for coordination.
We’ve moved!
Our Help Center has a new home and our URLs have changed. Please update your bookmark to this page before April 30, 2026

Raynet Connector

Retrieve device inventory and operating system data from Raynet for CMDB synchronization.

Overview

This connector integrates with Raynet to retrieve device inventory and operating system data for synchronizing Configuration Items into the Xurrent CMDB.

Prerequisites

To use this connector, you need:

  • A Raynet tenant (e.g. your-tenant.raynetone.com)
  • A Raynet API key with read access to the Devices and OperatingSystems endpoints

Authentication

Header-based. Each outbound request carries an ApiKey header populated from the connection's API key field. No OAuth flow is involved. Provide the Instance (e.g. your-tenant) so the connector can compose the base URL https://<instance>.raynetone.com/api/v1.

Triggers

None — this connector is outbound only.

Actions

Fetch devices

Retrieves devices from GET /api/v1/Devices/by-inventory with optional incremental-sync filter. Paginates internally using Raynet's lastId cursor — one page is emitted per iteration, and the action drains the full result set across successive iterations.

Use case: populate or refresh the device inventory in Xurrent's CMDB. Pass inventory_date_later_then (ISO 8601) to fetch only devices whose inventory was updated at or after a specific time for incremental sync; omit it for a full sync.

Input Parameters

Parameter Type Required Default Description
inventory_date_later_then DateTime No - ISO 8601 timestamp — return only devices whose inventory was updated at or after this time
count Integer No 100 Page size (1-1000)

Example Input

{
  "inventory_date_later_then": "2026-05-14T00:00:00Z",
  "count": 100
}

Output

Field Type Description
has_next_page Boolean true while more pages remain
devices Array[Device] One entry per device in the current page — see Device fields
Device fields
Field Type Description
id String Raynet device id (UUID v7). Primary key and cursor for pagination
name String Hostname assigned to the device
creation_date DateTime When the device was first discovered
tag String Device tag
domain String Active Directory or DNS domain the device belongs to
model String Hardware model (e.g. VMware Virtual Platform)
manufacturer String Hardware manufacturer (e.g. VMware, Inc.)
number_of_logical_processors Integer Logical CPU count
number_of_processors Integer Physical CPU count
total_physical_memory Integer Total physical memory in bytes
physical_memory Integer Reported physical memory in bytes
uuid String SMBIOS hardware UUID — distinct from id and may be absent
user_name String Last logged-in user (when populated)
comment String Free-form comment
corporate_asset_class String Corporate asset classification
corporate_identifier String Corporate asset identifier
corporate_state String Corporate lifecycle state
ad_last_logon DateTime Last Active Directory logon timestamp
custom_import_id String Identifier from a custom import source
custom_source String Free-form custom source label
corporate_ownership Boolean Whether the device is corporate-owned
detected_os_type String OS family (None, Windows, Unix, MacOs)
last_sucessful_inventory_run DateTime Timestamp of the last successful inventory run. Note: the misspelling Sucessful is preserved verbatim from the Raynet API
is_virtual Boolean Whether the device is reported as virtual
source String Comma-separated list of discovery sources (e.g. MECM,ActiveDirectory)

Example Output

{
  "has_next_page": true,
  "devices": [
    {
      "id": "019aee57-6d0f-7eef-9ca9-504d44b78630",
      "name": "srv_4cb1f",
      "creation_date": "2025-12-05T11:48:18.319Z",
      "model": "VMware Virtual Platform",
      "manufacturer": "VMware, Inc.",
      "number_of_logical_processors": 6,
      "number_of_processors": 6,
      "total_physical_memory": 17179869184,
      "physical_memory": 17179869184,
      "uuid": "2c983a42-2b40-4890-22b0-7fc24b314822",
      "detected_os_type": "Windows",
      "last_sucessful_inventory_run": "2025-12-04T00:02:17.639Z",
      "is_virtual": false,
      "source": "MECM,ActiveDirectory"
    }
  ]
}

Error Handling

Condition Behavior
401 / 403 Fail immediately with Raynet authentication error: <status>
404 (no results) Return empty result; not an error. Raynet returns 404 with application/problem+json when zero records match.
429 or 503 Retry, respecting Retry-After (default 60s)
Other 4xx / 5xx (400, 500, 502, 504) Fail with Raynet HTTP error: <status>
Non-JSON body Fail with Raynet response was not valid JSON

Best Practices

  • Pass inventory_date_later_then set to the start of the previous successful run for incremental sync — do not derive the watermark from per-device last_sucessful_inventory_run.
  • Keep count at its documented maximum (1000) to minimize round-trips on large tenants.
  • Let the action drain its internal pagination across iterations rather than slicing pages manually.

Fetch operating systems by device IDs

Retrieves operating system records in bulk for a batch of device IDs from POST /api/v1/OperatingSystems/ByManyDeviceIds. The action paginates internally — it emits one page per batch and drains the full device_ids list across successive iterations.

Use case: enrich device records with detailed OS information (caption, edition, version, architecture, install date) for CMDB synchronization. Feed device_ids from the output of Fetch devices.

Input Parameters

Parameter Type Required Default Description
device_ids Array[String] Yes - Device IDs to fetch OS data for (UUIDs from Fetch devices id)
count Integer No 100 Page size (1-1000)

Example Input

{
  "device_ids": [
    "019aee57-6d0f-7eef-9ca9-504d44b78630",
    "019aee57-4e37-7857-bcea-77aa4dc83e8e"
  ],
  "count": 100
}

Output

Field Type Description
has_next_page Boolean true while more pages remain
operating_systems Array[OperatingSystem] One entry per device that has an OS record — see OperatingSystem fields. Devices without an OS record are silently omitted by the API
OperatingSystem fields
Field Type Description
id String OS record id (UUID)
device_id String Device id this OS record belongs to — pairs with Fetch devices.id
name String OS short name (e.g. Windows Server 2016)
caption String OS full caption (e.g. Microsoft Windows Server 2016 Standard)
service_pack String Service pack identifier
manufacturer String OS vendor (e.g. Microsoft Corporation)
build_number String OS build number
architecture String OS architecture (e.g. 64-bit)
codename String OS codename
edition String OS edition (e.g. Standard)
os_language String Locale id (e.g. 1033)
os_language_name String Locale name
version String OS version (e.g. 10.0.14393)
version_internal String Internal version identifier
type String OS family (Windows, Linux, MacOs)
system_directory String OS system directory path
serial_number String OS license serial number
install_date DateTime When the OS was installed

Example Output

{
  "has_next_page": false,
  "operating_systems": [
    {
      "id": "019aee70-db5d-78a7-a392-9bcf2814a923",
      "device_id": "019aee57-6d0f-7eef-9ca9-504d44b78630",
      "name": "Windows Server 2016",
      "caption": "Windows Server 2016",
      "manufacturer": "Microsoft Corporation",
      "architecture": "64-bit",
      "edition": "Standard",
      "os_language": "1033",
      "version": "10.0.14393",
      "type": "Windows",
      "system_directory": "C:\\WINDOWS\\system32",
      "serial_number": "XXXXX-XXXXX-XXXXX-XXXXX"
    }
  ]
}

Error Handling

Condition Behavior
401 / 403 Fail immediately with Raynet authentication error: <status>
404 (no results) Return empty result; not an error. Raynet returns 404 with application/problem+json when zero records match.
429 or 503 Retry, respecting Retry-After (default 60s)
Other 4xx / 5xx (400, 500, 502, 504) Fail with Raynet HTTP error: <status>
Non-JSON body Fail with Raynet response was not valid JSON

Best Practices

  • count defaults to 100 and can go up to 1000 — set it near the max to minimize round-trips on large device lists.
  • Feed device_ids from Fetch devices rather than maintaining a separate list.

Rate Limiting

HTTP Status Connector Behavior
200 Success
401 / 403 Fail immediately with Raynet authentication error: <status>
404 (no results) Return empty result; not an error. Raynet returns 404 with application/problem+json when zero records match — e.g. paginating past the last device, or asking for OS records for stub devices that have none.
429 Retry, respecting Retry-After header (default 60s)
503 Retry, respecting Retry-After header (default 60s)
400, other 4xx Fail with Raynet HTTP error: <status>
500, 502, 504 Fail with Raynet HTTP error: <status>
Invalid JSON body Fail with Raynet response was not valid JSON

Best Practices

  • Run Fetch devices before Fetch operating systems by device IDs — the latter consumes the id field from the former.
  • Use inventory_date_later_then for incremental syncs after the first full sync to keep page counts small.
  • Treat last_sucessful_inventory_run as a per-device value, not a global high-watermark — persist the run's start timestamp for the next inventory_date_later_then value.
  • Stub devices (devices with no model / manufacturer / uuid) are returned alongside fully-populated devices — the connector returns them as-is so the runbook can filter them out.

Common Use Cases

  • Initial CMDB import → Fetch devices (without inventory_date_later_then) → Fetch operating systems by device IDs for all returned device ids.
  • Incremental sync → Fetch devices with inventory_date_later_then set to the previous run's start timestamp → Fetch operating systems by device IDs for the changed subset.
  • OS enrichment refresh → Fetch operating systems by device IDs with a known device id list.

References

  • Raynet API documentation
  • Endpoints used by this connector:
    • GET /api/v1/Devices/by-inventory — Fetch devices (cursor pagination via lastId, incremental filter via inventoryDateLaterThen)
    • POST /api/v1/OperatingSystems/ByManyDeviceIds — Fetch operating systems by device IDs