The three API surfaces
CP-MCP’s single code_mode tool exposes three namespaced objects, one per
Cloudpath API surface. You pick the object that matches the API you need; each
handles its own base path and authentication.
| Object | Cloudpath surface | Path prefix (added for you) |
|---|---|---|
core | Core API (admin) | /admin/publicApi |
tenant | Tenant Portal API | /admin/rest/tenant |
property | Property Management API | /admin/rest/propertyMgmtPortals/{portalGuid} |
Paths are relative to the surface root
Section titled “Paths are relative to the surface root”You pass the raw spec path relative to each surface’s root — CP-MCP adds the
prefix. So on the core surface you call /authServers, not
/admin/publicApi/authServers.
// Core surface — the /admin/publicApi prefix is added automatically.async () => { const r = await core.call({ method: 'GET', path: '/authServers' }); return { status: r.status, total: r.body?.page?.totalCount };}The property surface needs a portal GUID
Section titled “The property surface needs a portal GUID”Every Property Management call is scoped to a specific property-management
portal, whose GUID is part of the base URL. On the property surface you must
pass propertyMgmtPortalGuid — it is substituted into the path prefix.
// Property surface — propertyMgmtPortalGuid is required.async () => { const r = await property.call({ method: 'GET', path: '/properties', propertyMgmtPortalGuid: 'pmp-guid-here', }); return r.body;}Extra utilities on core
Section titled “Extra utilities on core”The core object carries two utilities beyond the six shared primitives that
do not proxy a Cloudpath REST call:
generate_passphrase— mint memorable word-list passphrases for PSKs and registration passwords.generate_image— render branded logos and favicons for property and management portals.
Both are only on core; tenant and property expose the six primitives
only. For how call behaves across all three surfaces, see
Calling conventions.