cdn.pizzaDocumentation

Developers

REST API reference

This reference tracks customer routes that actually exist.

#Overview

This reference tracks customer routes that actually exist.

#Read a reference operation

Each entry identifies method, path, authentication, role, parameters, body, response, and errors. Path identifiers come from list responses; never derive an ID from a display name.

Collections use a data field and can include metadata. Uploads use multipart/form-data while common mutations use JSON. Examples use placeholders and must not put a real secret in shell history.

#Before automation

  1. Call /api/auth/me to verify token and organization.

  2. List the resource and obtain its identifier.

  3. Test the mutation on a non-critical resource.

  4. Handle 401, 403, 404, 422, 429, and timeouts explicitly.

#Customer REST operations

Base URL: https://api.cdn.pizzaDownload OpenAPI 3.1

Authentication 3

POST /api/auth/login

#Create an API session token

With 2FA, create a personal token in the dashboard and use it directly.

Authentication
None
Roles
None
Success
200

Request fields

FieldTypeRequiredDescription
emailstringyesVerified email address.format: email
passwordstringyesAccount password. Not accepted when 2FA is enabled.format: password
device_namestringnoHuman-readable token name.
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/auth/login' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"email":"dev@example.com","password":"PASSWORD"}'
GET /api/auth/me

#Read the current profile

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/auth/me' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/auth/logout

#Revoke the current token

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/auth/logout' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'

Zones 3

GET /api/zones

#List zones

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/zones' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/zones

#Create, register, or transfer a zone

Registration and transfer are asynchronous and may return 202 with task_id.

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
201 202

Request fields

FieldTypeRequiredDescription
domainstringyesFully qualified domain name.
namestringnoDashboard display name.length: 0…255
typestringnocname or ns mode; defaults to ns.enum: cname | ns
registrar_actionstringnoconnect, register, or transfer.enum: connect | register | transfer
transfer_auth_codestringnoRequired for a transfer.length: 4…255
registrant_namestringnoRequired for registration/transfer.length: 0…255
registrant_emailstringnoRegistrant email.format: email · length: 0…255
registrant_phonestringnoRegistrant international phone number.length: 0…40
registrant_organizationstringnoRegistrant organization.length: 0…255
registrant_streetstringnoRegistrant street address.length: 0…255
registrant_citystringnoRegistrant city.length: 0…120
registrant_postal_codestringnoRegistrant postal code.length: 0…30
registrant_country_codestringnoTwo-letter ISO country code.length: 2…2
private_whoisstringnoWHOIS privacy level.enum: FULL | PARTIAL | DISABLED
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/zones' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"domain":"assets.example.com"}'
GET /api/zones/{id}

#Read a zone

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200

Request fields

FieldTypeRequiredDescription
idintegeryesZone identifier.
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/zones/ZONE_ID' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'

Cache 2

POST /api/zones/{id}/purge

#Purge a path

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
200

Request fields

FieldTypeRequiredDescription
idintegeryesZone identifier.
pathstringnoPath to purge; when omitted, /* is used.
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/zones/ZONE_ID/purge' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{}'
POST /api/zones/{id}/purge-all

#Purge an entire zone

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
200

Request fields

FieldTypeRequiredDescription
idintegeryesZone identifier.
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/zones/ZONE_ID/purge-all' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'

Analytics 1

GET /api/zones/{id}/stats

#Read zone statistics

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200

Request fields

FieldTypeRequiredDescription
idintegeryesZone identifier.
periodstringno24h, 7d, or 30d window; defaults to 24h.enum: 24h | 7d | 30d · default: "24h"
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/zones/ZONE_ID/stats?period=24h' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'

Files 4

GET /api/files

#List files

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200

Request fields

FieldTypeRequiredDescription
zone_idintegernoFilter by zone.
per_pageintegernoPage size; defaults to 25.range: 1…∞
pageintegernoPage number.range: 1…∞
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/files?zone_id=42&per_page=25&page=1' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/files

#Upload a file

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
201

Request fields

FieldTypeRequiredDescription
filestringyesFile, up to 100 MB.format: binary
zone_idintegeryesPublishing zone.
storage_nodesarray<integer>noUp to three storage-node IDs.
cache_ttlintegernoCache TTL in seconds; 0 is allowed.range: 0…∞
direct_public_linkbooleannoEnable the direct storage link.
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/files' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --form 'file=@./asset.png' \
  --form 'zone_id=42' \
  --form 'cache_ttl=3600' \
  --form 'direct_public_link=false'
GET /api/files/{uuid}

#Read a file

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200

Request fields

FieldTypeRequiredDescription
uuidstringyesPublic file UUID.format: uuid
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/files/FILE_UUID' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
DELETE /api/files/{uuid}

#Delete a file

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
200

Request fields

FieldTypeRequiredDescription
uuidstringyesPublic file UUID.format: uuid
Example
bash
curl --request DELETE \
  --url 'https://api.cdn.pizza/api/files/FILE_UUID' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'

Nodes 5

GET /api/nodes

#List available nodes

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/nodes' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/nodes

#Create a customer node

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
201

Request fields

FieldTypeRequiredDescription
node_idstringyesUnique node identifier.
hostnamestringyesNode DNS hostname.
ip_addressstringyesNode IPv4 or IPv6 address.
region_idintegeryesExisting region identifier.
countrystringyesTwo-letter ISO country code.length: 2…2
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/nodes' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"node_id":"edge-zurich-01","hostname":"edge-zurich-01.example.net","ip_address":"203.0.113.42","region_id":1,"country":"CH"}'
GET /api/nodes/tokens

#List BYOC tokens

Authentication
Personal Bearer token
Roles
owner, admin
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/nodes/tokens' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/nodes/tokens

#Create a BYOC token

Authentication
Personal Bearer token
Roles
owner, admin
Success
201

Request fields

FieldTypeRequiredDescription
namestringnoToken name.length: 0…100
max_nodesintegernoMaximum number of nodes; defaults to 1.default: 1 · range: 1…10
expires_daysintegernoValidity in days; defaults to 30.default: 30 · range: 1…365
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/nodes/tokens' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{}'
DELETE /api/nodes/tokens/{id}

#Revoke a BYOC token

Authentication
Personal Bearer token
Roles
owner, admin
Success
200

Request fields

FieldTypeRequiredDescription
idintegeryesToken identifier.
Example
bash
curl --request DELETE \
  --url 'https://api.cdn.pizza/api/nodes/tokens/TOKEN_ID' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'

Private networks 5

GET /api/networks

#List private networks

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/networks' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/networks

#Create a private network

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
201

Request fields

FieldTypeRequiredDescription
namestringyesNetwork name.length: 0…120
private_cidrstringyesPrivate IPv4 range.length: 0…32
descriptionstringnoOperational description.length: 0…1000
routesarray<string>noAdvertised private routes.items: 0…50
vpn_typestringnowireguard.enum: wireguard
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/networks' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"name":"backoffice","private_cidr":"10.42.0.0/24"}'
GET /api/networks/{network}

#Read a private network

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200

Request fields

FieldTypeRequiredDescription
networkintegeryesNetwork identifier.
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/networks/NETWORK_ID' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/networks/{network}/enrollment-keys

#Create a network enrollment key

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
201

Request fields

FieldTypeRequiredDescription
networkintegeryesNetwork identifier.
namestringyesKey name.length: 0…120
max_usesintegernoMaximum number of uses.default: 1 · range: 1…10
expires_in_hoursintegernoValidity duration.default: 24 · range: 1…168
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/networks/NETWORK_ID/enrollment-keys' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"name":"first-device"}'
POST /api/networks/enroll

#Enroll a WireGuard peer

Authentication
Enrollment key in request body
Roles
None
Success
201

Request fields

FieldTypeRequiredDescription
enrollment_tokenstringyesShort-lived cpn_… network key.length: 0…128
namestringyesPeer name.length: 0…120
peer_typestringnoconnector, admin_device, or origin.enum: connector | admin_device | origin
public_keystringyesWireGuard public key.length: 0…120
endpointstringnoPeer public endpoint.length: 0…255
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/networks/enroll' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"enrollment_token":"ENROLLMENT_TOKEN","name":"origin-geneva","public_key":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="}'

Status agents 5

POST /api/status-agents/enrollment-keys

#Create an agent enrollment key

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
201

Request fields

FieldTypeRequiredDescription
status_page_idintegeryesTarget status page.
namestringyesKey or agent name.length: 0…120
max_usesintegernoMaximum number of uses.default: 1 · range: 1…10
expires_in_hoursintegernoValidity duration.default: 24 · range: 1…168
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/status-agents/enrollment-keys' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"status_page_id":1,"name":"branch-geneva"}'
POST /api/status-agents/enroll

#Enroll a status agent

Authentication
Enrollment key in request body
Roles
None
Success
201

Request fields

FieldTypeRequiredDescription
enrollment_tokenstringyesShort-lived cps_… key.length: 0…128
namestringyesAgent name.length: 0…120
hostnamestringnoMachine hostname.length: 0…255
versionstringnoAgent version.length: 0…80
capabilitiesarray<string>noSupported check types.items: 0…20
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/status-agents/enroll' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"enrollment_token":"STATUS_ENROLLMENT_TOKEN","name":"branch-geneva"}'
GET /api/status-agents/config

#Read agent configuration

Authentication
Agent Bearer token
Roles
None
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/status-agents/config' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer STATUS_AGENT_TOKEN'
POST /api/status-agents/heartbeat

#Send an agent heartbeat

Authentication
Agent Bearer token
Roles
None
Success
200

Request fields

FieldTypeRequiredDescription
hostnamestringnoCurrent hostname.length: 0…255
versionstringnoCurrent version.length: 0…80
capabilitiesarray<string>noSupported capabilities, up to twenty.items: 0…20
metricsobjectnoSafe local metrics such as load and used memory.
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/status-agents/heartbeat' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer STATUS_AGENT_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{}'
POST /api/status-agents/results

#Submit check results

Authentication
Agent Bearer token
Roles
None
Success
200

Request fields

FieldTypeRequiredDescription
resultsarray<object>yesOne to one hundred results with monitor_id and healthy; configuration_version, latency_ms, checked_at, details, and error_message are optional.items: 1…100
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/status-agents/results' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer STATUS_AGENT_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"results":[{"monitor_id":17,"configuration_version":2,"healthy":true,"latency_ms":42.5}]}'

Partner POPs 3

GET /api/partner-pops

#List partner POPs

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/partner-pops' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/partner-pops

#Create a partner POP

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
201

Request fields

FieldTypeRequiredDescription
company_namestringyesOperator legal or trading name.length: 0…160
display_namestringyesProposed public POP name.length: 0…180
contact_emailstringyesPartner operational email.format: email · length: 0…180
website_urlstringnoOperator public website.format: uri · length: 0…255
logo_urlstringnoHTTPS URL of the public logo.format: uri · length: 0…2048
provider_namestringnoInfrastructure provider name.length: 0…160
citystringyesPOP city.length: 0…120
countrystringyesTwo-letter ISO country code.length: 2…2
submitted_ipv4stringnoProposed IPv4 address.format: ipv4
submitted_ipv6stringnoProposed IPv6 address.format: ipv6
capacity_mbpsintegeryesNetwork capacity in Mbit/s.range: 100…1000000
notesstringnoTechnical or operational notes.length: 0…5000
requirements_acceptedbooleanyesConfirms acceptance of the Partner POP requirements.
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/partner-pops' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"company_name":"Example Networks AG","display_name":"Zurich IX","contact_email":"noc@example.net","city":"Zürich","country":"CH","capacity_mbps":10000,"requirements_accepted":true}'
POST /api/partner-pops/{partnerPop}/enrollment-token

#Create a POP installation token

The POP must belong to the organization. The application creator may also create the token.

Authentication
Personal Bearer token
Roles
owner, admin, member
Success
201

Request fields

FieldTypeRequiredDescription
partnerPopintegeryesPOP identifier.
namestringnoInstallation token name.length: 0…120
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/partner-pops/PARTNER_POP_ID/enrollment-token' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{}'

Privacy 4

GET /api/gdpr/export

#Export account data

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/gdpr/export' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
DELETE /api/gdpr/account

#Delete the account

Authentication
Personal Bearer token
Roles
owner, admin
Success
200

Request fields

FieldTypeRequiredDescription
passwordstringyesCurrent password, required for confirmation.format: password
Example
bash
curl --request DELETE \
  --url 'https://api.cdn.pizza/api/gdpr/account' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"password":"ACCOUNT_PASSWORD"}'
GET /api/gdpr/consent

#Read consent settings

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/gdpr/consent' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
PUT /api/gdpr/consent

#Update consent settings

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200

Request fields

FieldTypeRequiredDescription
analyticsbooleannoAllow non-essential analytics.
marketingbooleannoAllow marketing communications.
Example
bash
curl --request PUT \
  --url 'https://api.cdn.pizza/api/gdpr/consent' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{}'

Billing 3

GET /api/billing/plans

#List plans

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/billing/plans' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
GET /api/billing

#Read the current subscription

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/billing' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/billing/checkout

#Create a checkout session

Authentication
Personal Bearer token
Roles
owner, admin
Success
200

Request fields

FieldTypeRequiredDescription
planstringyesPublic plan code.enum: starter | pro | enterprise
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/billing/checkout' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"plan":"pro"}'

Webhooks 3

GET /api/webhooks

#List webhooks

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200
Example
bash
curl --request GET \
  --url 'https://api.cdn.pizza/api/webhooks' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/webhooks

#Create a webhook

Authentication
Personal Bearer token
Roles
owner, admin
Success
201

Request fields

FieldTypeRequiredDescription
urlstringyesPublic HTTP(S) receiver URL; HTTPS is recommended.format: uri · length: 0…500
eventsarray<string>yesSubscribed events.items: file.uploaded | file.deleted | domain.created | zone.created | zone.updated | zone.deleted | cache.purged | node.online | node.offline | node.deployed | billing.updated | invoice.paid | mail.accepted | mail.rejected | mail.deferred
secretstringnoCustomer-selected signing secret.length: 0…255
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/webhooks' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"url":"https://hooks.example.com/cdn-pizza","events":["file.uploaded","file.deleted"]}'
DELETE /api/webhooks/{id}

#Delete a webhook

Authentication
Personal Bearer token
Roles
owner, admin
Success
200

Request fields

FieldTypeRequiredDescription
idintegeryesWebhook identifier.
Example
bash
curl --request DELETE \
  --url 'https://api.cdn.pizza/api/webhooks/WEBHOOK_ID' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'

GraphQL 1

POST /api/graphql

#Execute a GraphQL query

Authentication
Personal Bearer token
Roles
owner, admin, member, viewer
Success
200

Request fields

FieldTypeRequiredDescription
querystringyesQuery document; only four root fields are available.
variablesobjectnoQuery variables.
Example
bash
curl --request POST \
  --url 'https://api.cdn.pizza/api/graphql' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"query":"query { zones { id domain } }"}'
Customer documentationReference generated from published interfaces