Skip to content
R1-MCP
Get Support

What a venue copy carries

Not every part of a venue’s configuration copies, and what copies depends on whether you are cloning within a tenant, copying across tenants, or building a template. This page is the reference; the Venue config copy page is the workflow.

Call venue_copy_support for the authoritative answer. It takes no arguments, is read-only, and is derived from the planner’s own write registry — so it tracks what a copy actually does. The table below is that matrix in prose form.

DomainSame-tenantCross-tenantTemplateNotes
Venue metadata + addressCreatedCreatedCreatedAsync (202); the new id threads into every later write. Created only when you plan into target.newVenue (or build a template); an existing target.venueId is diffed, never recreated
Venue settings singletons (radio, mesh, LED, …)UpdatedUpdatedUpdated17 domains: switch, AAA, radio, AP mesh, AP management-traffic VLAN, load balancing, directed multicast, DoS protection, mDNS fencing, BSS coloring, client admission control, AP LAN-port, LED, rogue AP, RADIUS options, syslog, SNMP agent. Syslog, SNMP-agent, and AP LAN-port settings have no template equivalent; mesh has a narrower template enum
AAA / RADIUS serversCreatedCreatedCreatedShared secret and bind password are write-only — readable copies verbatim, masked becomes an operator-input binding. A server with purpose: "DEFAULT" is not created
AP groups + per-group radioCreatedCreatedCreatedAP serial membership is stripped — it’s physical. The default AP group is auto-provisioned, not copied
WLAN activationsRe-activate the existing idCreate → resolve → bind dependencies → activateWLAN template create → resolve → activateThe dependency binds that carry across are listed below
Portal service profiles (guest captive portal)Reuse existing idCreate → resolve → bind to the WLANNo portal object — the guest portal travels inline on the WLAN templateBase64 images ride inline in the create body. In a template, the guest-portal config travels as wlan.guestPortal and only the profile’s branding images are lost
DPSK service poolsReuse existing idCreate → resolve → bind to the WLANCreated and boundIn template mode the pool is created without an identity group, and has no passphrases
DPSK passphrasesRide the poolCreated under the recreated poolNot supportedReadable copies verbatim; masked becomes an operator-input binding
Identity groupsReuse existing idCreate → resolveNot supportedContainer only — member identities are not copied
RADIUS server profiles (Cloudpath / 802.1X)Reuse existing idCreate → resolve → bind to the ethernet-port profile and/or WLANCreated and bound to the template WLANShared secret is write-only. Ethernet-port profiles aren’t carried into a template at all, so there is no template ethernet-port RADIUS binding
AP LAN-port (ethernet-port) profilesRe-activate existingCreate → resolve → activate per AP model and portNot supportedPer-AP-serial overrides are not copied
Switch profiles (+ VLANs / ACLs)Re-associate the existing idCreate → resolve → associateProfile template create → resolve → associateChildren — VLANs, ACLs, trusted ports, voice VLANs, CLI template — embed inline in the create body
VLAN pool profilesReuse existing idCreate → bind to the WLANCreated and boundA per-AP-group bind widens to the whole WLAN. A WLAN whose pool didn’t copy still activates, without VLAN pooling
Wi-Fi calling service profiles (ePDG)Reuse existing idCreate → resolve by name → bind to the WLANCreated and boundCross-tenant, its create returns no id, so it resolves by exact name (switch profiles do the same)
Access control profilesReuse existing idChildren created first → profile created → bound to the WLANCreated and boundCarries its four child policies by id in its own create body
L2 / L3 ACL policiesReuse existing idCreated before the profile that references themCreatedReached only through an access-control profile. A policy captured with no rules is skipped (see warnings)
Device policiesReuse existing idCreated before the profile that references themCreatedOS / device-type rules
Application policiesReuse existing idCreated before the profile that references themCreatedDPI signature rules copy verbatim; USER_DEFINED rules are rejected by R1
Switch inventoryNot copiedNot copiedNot copiedPhysical devices; re-onboard them at the target

Physical devices are never copied. Switch inventory is not part of a copy in any mode, and AP serial membership is stripped from AP groups. Hardware is re-onboarded at the target.

Cross-tenant copies recreate shared objects and bind their dependencies. A guest-passphrase WLAN gets its portal service profile recreated and bound; a DPSK network gets its service pool, identity group, and passphrases recreated and bound; a Cloudpath / 802.1X WLAN and a RADIUS ethernet-port profile get their RADIUS server profiles recreated and bound. Each of those bindings is what makes the copied WLAN actually activatable in the target tenant.

Not every missing binding blocks activation, and the difference matters. If a portal, DPSK pool, or RADIUS profile can’t be copied, the WLAN is created but left un-activated — it would come up broken, so it doesn’t come up. If a VLAN pool, Wi-Fi calling profile, or access-control profile can’t be copied, the WLAN is created and activated, just without that capability: no VLAN pooling, no ePDG, or — in the access-control case — unfiltered, with no ACLs, no device or application policy, and no rate limiting. Every one of those is named in warnings; none is a silent drop.

Reverse linkages are discovered, not read off the WLAN. Portals, RADIUS profiles, VLAN pools, Wi-Fi calling profiles, and access-control profiles are all bound to a WLAN from the profile’s side — the WLAN body carries no reference to them — so the copy finds them by querying each profile family for the WLANs it lists. A policy bound directly to a WLAN rather than through an access-control profile is on a separate linkage path that is not copied and is invisible to this discovery.

Template mode is the most restricted, and its exclusions are a property of R1’s template surface rather than of the copy engine:

Skipped in template modeWhy
Portal service profilesNo /rec/templates portal object — the guest-portal config travels inline on the WLAN template instead; only the profile’s branding images stay behind
DPSK passphrasesNo passphrases sub-collection under a template pool
Identity groupsNo standalone template create surface — which is why a template DPSK pool is created group-less
AP LAN-port profile activationsThe template surface can’t carry them
Syslog settingsA template expresses syslog as a server-profile activation, not the settings PUT the copy engine writes
SNMP-agent settings, AP LAN-port settingsNo venue-level template equivalent
AP mesh settings, conditionallyA template accepts only 2.4-GHz / 5-GHz for radioType. A source venue holding anything else has the whole domain skipped rather than written with a different radio — harmless when mesh is off, which is the common case

venue_copy_plan returns a warnings array. These are the cases where the copy could not resolve something on its own:

Warning caseWhat it means
Guest-passphrase WLAN with no captured portalThe WLAN is created but may be left un-activated
DPSK network whose pool could not be copiedTypically its identity group was not captured; the WLAN is created but left un-activated
RADIUS / 802.1X profile not captured or copied802.1X will not function until a profile is created and bound
AP-group-scoped source activationWidened to all AP groups — the source’s AP-group ids don’t map across tenants
AP-group-scoped VLAN pool bindWidened to the whole WLAN, for the same reason. Re-scope per AP group at the target if it matters
VLAN pool or Wi-Fi calling profile not copiedThe WLAN activates anyway, without that capability
Access-control profile not copiedThe WLAN activates unfiltered — no ACLs, no device or application policy, no rate limiting
A child policy could not be copiedBlocks its access-control profile rather than creating one that is only partly wired
A policy captured with no rules (L2/L3 ACL, device, application)Skipped — R1 refuses a rule-less policy — which blocks its access-control profile, so the WLAN activates unfiltered. R1’s detail read of L3 ACL and application policies can drop their rules (an R1 bug); the warning says whether rules were confirmed lost (re-run venue_extract) or the policy is genuinely empty at the source
A tenant-default object (default DPSK pool, identity group, and similar)Skipped: R1 auto-provisions its own in the target tenant, which may differ from the source’s. Nothing was written, so verify does not check it
An application policy with USER_DEFINED rulesR1 rejects these server-side (202, then an async failure). Signature rules are unaffected — this is an R1 defect, not a copy defect
A shared object of the same name already existsAdopted, overwritten, or skipped per sharedCollision; every affected object is named
WLAN / switch profile / ethernet-port profile with no captured definitionThe extract fan-out didn’t finish. Re-run venue_extract to completion, then re-plan
Write-only secret masked at the sourceListed in operatorInputRequired; the run refuses with missing_capture until you supply it
Template: a domain the template surface can’t carrySkipped at plan time, per the table above