Integrations API
PUT/api/v1/integrations/rmm/{provider}/device-sync
Product availabilityAlgaPSA

Configure the scheduled device sync

Turns the recurring device sync on or off and sets its cadence. Writes desired state only — the scheduler reconciles the actual schedule within a few minutes, so a change is not instantaneous. Returns the integration status after the write.

Path parameters

providerstringRequired
RMM provider slug: ninjaone, levelio, tacticalrmm, tanium, or huntress. Scheduled device sync is available for the first four; huntress exposes no device listing.

Request body

Content type: application/json · schema RmmDeviceSyncUpdateBody

enabledbooleanRequired
Turn the recurring device sync on or off.
intervalMinutesinteger
Cadence in minutes. Defaults to 60. Values outside 15 to 1440 are rejected rather than clamped, so the stored cadence is always the one requested. Every run spends provider API quota, and on some providers an incremental run still reads the whole device list.
≥ 15 · ≤ 1440

Response body

Success response 200 · schema RmmIntegrationStatus

providerstringRequired
RMM provider slug.
integrationIdstring <uuid>Required
isActivebooleanRequired
Whether the integration is connected and enabled.
syncStatusstringRequiredNullable
Last sync outcome: 'completed', 'error', 'syncing', or 'pending'.
syncErrorstringRequiredNullable
Failure detail from the last run, when it failed.
connectedAtstring <date-time>RequiredNullable
lastSyncAtstring <date-time>RequiredNullable
Any sync, scheduled or manual. A manual full sync advances this too.
lastIncrementalSyncAtstring <date-time>RequiredNullable
Only the recurring device sync writes this. Use it, not lastSyncAt, to answer whether the schedule is actually running: an integration can show a recent lastSyncAt from one manual sync while nothing recurring has ever run.
deviceCountintegerRequired
Assets currently attributed to this provider.
deviceSyncEnabledbooleanRequired
Whether a recurring device sync is scheduled.
deviceSyncIntervalMinutesintegerRequired
Cadence in minutes, 15 to 1440. Meaningful only when deviceSyncEnabled is true.

Response codes

200
Updated integration status.
400
Invalid request body, provider without a device sync, or an inactive integration.
401
Missing or invalid API key.
403
API key lacks the system_settings permission.
404
No integration configured for this provider.