Cockatoo
Create, edit and publish hosted business websites with owner-approved access.
Should I use this
Quality & Safety
Findings (2)
- LOWin exchange_onboarding
- LOWin save_site
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"cockatoo": {
"url": "https://app.cockatoo.com.au/mcp"
}
}
}Remote endpoints
https://app.cockatoo.com.au/mcpstreamable-httpWhat it can do
Tool inventory
Tools (20)
π’catalog
Start here to build a website. Returns templates, industries, style presets and a complete starter document to fill in.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π‘start_onboarding(email, agentName, document, idempotencyKey)
Create the user's website. Saves the document as a private draft and returns an approvalUrl; give that link to the user, who signs in with this email and approves to publish. No account or email verification is needed on your side, and no email is sent.
Input Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"agentName": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"document": {
"type": "object",
"properties": {
"version": {
"type": "number",
"const": 1
},
"template": {
"type": "string",
"enum": [
"local",
"studio",
"professional",
"workshop",
"hospitality",
"care"
]
},
"industry": {
"type": "string",
"enum": [
"4x4-accessories",
"accountant",
"air-conditioning",
"air-conditioning-cleaning",
"aluminium-fabricators-and-repairers",
"aluminium-windows",
"appliance-repairs-and-parts",
"arborist",
"asbestos-removals",
"asphalt-and-bitumen",
"auto-electricians",
"auto-parts",
"auto-wreckers",
"awnings",
"balustrading",
"barber",
"bathroom-renovations",
"batteries",
"beauty-salons",
"bike-shops",
"blinds",
"blocked-drains",
"boat-sales-and-service",
"bobcat-and-dingo-hire",
"bookkeeper",
"bore-drilling",
"brake-and-clutch-repairs",
"bricklayers-and-blocklayers",
"builder",
"building-and-home-renovations",
"pest-inspector",
"building-designers",
"butchers",
"cabinet-makers",
"cafes",
"car-air-conditioning",
"car-transmissions",
"car-wash-and-detailing",
"caravan-repairs",
"caravans-sales-and-parts",
"carpenter",
"carpet-cleaning",
"carpet-stores",
"caterers",
"cctv-and-security-cameras",
"chemists-and-pharmacies",
"child-care-centres",
"chiropractor",
"civil-contractors",
"cleaner",
"coach-charters-and-bus-tours",
"commercial-air-conditioning",
"commercial-cleaners",
"computer-repairs",
"computer-sales-and-equipment",
"concrete-cutting",
"concrete-pre-mixed",
"concrete-pumping-services",
"concreter",
"conveyancing",
"cosmetic-services",
"couriers",
"crane-hire",
"cremation",
"curtains",
"data-cabling-and-communications",
"demolition-contractors",
"dentist",
"denture-clinics",
"diesel-mechanics",
"disability-care-services-and-support",
"doctors-and-medical-centres",
"dog-boarding-kennels",
"dog-grooming",
"driving-schools",
"electrician",
"equipment-hire",
"excavating-and-earthmoving-equipment",
"excavator-and-earthmoving-hire",
"family-lawyers",
"farm-machinery",
"fencer",
"fencing-supplies",
"finance-brokers-loans-and-mortgages",
"financial-planning",
"fire-protection-services",
"fitness-centres-and-gyms",
"floor-sanding-and-polishing",
"flooring-stores",
"florists",
"funeral-directors",
"garage-doors",
"gardeners",
"gas-fitter",
"gate-installation-and-repairs",
"general-engineering",
"gift-shops",
"glass-repairs-and-replacements",
"guttering-and-downpipes",
"hairdresser",
"handyman-services",
"heavy-transport",
"high-pressure-cleaners",
"hoses-and-fittings-sales-and-repairs",
"hot-water-systems",
"hydraulics",
"insurance-brokers",
"irrigation-and-sprinkler-systems",
"kitchen-renovations-and-installations",
"land-surveyors",
"landscape-supplies",
"landscaper",
"lawn-and-turf-supplies",
"lawn-mowers",
"lawn-mowing-services",
"lawyer",
"locksmith",
"massage-therapists",
"mechanic",
"mobile-mechanic",
"mortgage-brokers",
"motorcycle-dealers",
"mufflers-and-exhausts",
"nurseries-and-garden-centres",
"optometrist",
"paint-supplies-and-accessories",
"painter",
"panel-beaters-and-smash-repairs",
"party-hire",
"patio-builders",
"pest-control",
"physiotherapist",
"picture-framing",
"plasterer",
"plumber",
"podiatrist",
"pool-cleaning-and-maintenance",
"pool-fencing",
"pool-shops-and-supplies",
"powder-coating",
"printing-services",
"property-management",
"pumps-sales-and-repairs",
"quarries",
"real-estate-agents",
"refrigeration",
"removalists",
"restaurants",
"retaining-and-rock-walls",
"roadworthy-and-safety-certificates",
"roof-painting",
"roof-restorations-and-repairs",
"roofer",
"rubbish-removal",
"sand-soil-and-gravel-supplies",
"scaffolding-sales-and-hire",
"scrap-metal-merchants",
"security-doors-and-screens",
"security-guards-and-patrolling-services",
"security-systems",
"self-storage",
"septic-tank-cleaning-and-servicing",
"septic-tank-sales-and-installation",
"shade-sails-and-structures",
"sheds",
"sheet-metal-fabricators",
"shock-absorbers-and-suspension",
"shower-screens",
"shutters",
"sign-shops",
"skip-bin-hire",
"slashing-contractors",
"solar-power-systems",
"steel-fabrication",
"steel-suppliers",
"swimming-pool-builders",
"takeaway-food",
"tax-accountants",
"termite-treatment",
"tile-shops",
"tiler",
"timber-supplies",
"towing-services",
"trade-supplies",
"transport-services",
"tree-and-stump-removal",
"truck-and-bus-repairs",
"tv-antenna-installations",
"tyres",
"upholsterers",
"used-car-dealers",
"vacuum-excavation",
"vet",
"wardrobes",
"water-cartage",
"welders",
"wheel-alignment-and-balancing",
"window-tinting",
"windscreen-repairs-and-replacements",
"workwear",
"jewellers",
"prestige-car-dealers",
"luxury-watch-dealers",
"yacht-and-marine-dealers",
"art-galleries",
"luxury-fashion-boutiques",
"cosmetic-surgery",
"luxury-furniture-and-interiors",
"beef-cattle-farming",
"agricultural-support-services",
"motels",
"caravan-parks",
"it-support-companies",
"web-development-agencies",
"video-production-companies",
"service-stations",
"online-retailers",
"industrial-supplies-wholesalers",
"craft-breweries",
"commercial-bakeries",
"joinery-cabinet-manufacturers",
"early-learning-centres",
"aged-care-providers",
"freight-forwarding-services",
"aquaculture-farms",
"logging-contractors",
"commercial-fishing-operators",
"clothing-manufacturers",
"boat-builders",
"liquor-wholesalers",
"fruit-vegetable-wholesalers",
"wholesale-agents-brokers",
"scenic-tour-operators",
"software-companies",
"online-media-publishers",
"web-hosting-cloud-services",
"recruitment-agencies",
"travel-agencies",
"creative-performing-arts",
"pubs-and-bars",
"landscapers",
"earthmoving-excavation-contractors",
"advertising-marketing-agencies",
"photographers",
"graphic-designers",
"management-consultants",
"consulting-engineers",
"car-rental-companies",
"dry-cleaners-laundromats",
"appliance-stores",
"swim-schools",
"music-dance-schools",
"greengrocers",
"event-management-companies",
"coal-mining-companies",
"oil-gas-companies",
"metal-ore-miners",
"mining-services-contractors",
"paper-pulp-manufacturers",
"petroleum-product-manufacturers",
"cleaning-product-manufacturers",
"plastics-manufacturers",
"metal-manufacturers",
"energy-retailers",
"gas-suppliers",
"water-treatment-supply",
"rail-operators",
"shipping-companies",
"air-charter-operators",
"radio-tv-broadcasters",
"telecommunications-providers",
"libraries-archives",
"non-bank-lenders",
"insurance-companies",
"local-government-councils",
"defence-suppliers",
"training-colleges-rtos",
"private-hospitals-day-surgeries",
"museums-galleries",
"gaming-venues"
],
"description": "Industry tag from the catalog"
},
"businessName": {
"type": "string"
},
"headline": {
"type": "string"
},
"introduction": {
"type": "string"
},
"about": {
"type": "string"
},
"services": {
"type": "array",
"items": {
"type": "string"
}
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"bookingUrl": {
"type": "string"
},
"hours": {
"type": "string"
},
"serviceArea": {
"type": "string"
},
"colour": {
"type": "string",
"enum": [
"forest",
"ocean",
"charcoal",
"terracotta"
]
},
"font": {
"type": "string",
"enum": [
"sans",
"serif"
]
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"logo": {
"anyOf": [
{
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
},
{
"type": "null"
}
]
},
"gallery": {
"type": "array",
"items": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
}
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"visible": {
"type": "boolean"
}
},
"required": [
"id",
"visible"
]
}
},
"blockLayout": {},
"layout": {},
"pages": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"blockPageId": {
"type": "string"
},
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9-]{1,64}$"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"slug": {
"type": "string",
"maxLength": 63
},
"isHome": {
"type": "boolean"
},
"showInNav": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"published",
"draft"
]
},
"seo": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 160
},
"description": {
"type": "string",
"maxLength": 320
},
"noindex": {
"type": "boolean"
},
"image": {
"anyOf": [
{
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
},
{
"type": "null"
}
]
}
},
"required": [
"title",
"description",
"noindex",
"image"
]
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"visible": {
"type": "boolean"
}
},
"required": [
"id",
"visible"
]
}
},
"content": {
"type": "object",
"properties": {
"headline": {
"type": "string"
},
"introduction": {
"type": "string"
},
"about": {
"type": "string"
},
"services": {
"type": "array",
"items": {
"type": "string"
}
},
"gallery": {
"type": "array",
"items": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
}
}
},
"required": [
"headline",
"introduction",
"about",
"services",
"gallery"
]
},
"layout": {}
},
"required": [
"id",
"title",
"slug",
"isHome",
"showInNav",
"status",
"seo",
"sections",
"content"
]
}
},
"redirects": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"version",
"template",
"industry",
"businessName",
"headline",
"introduction",
"about",
"services",
"phone",
"email",
"bookingUrl",
"hours",
"serviceArea",
"colour",
"font",
"title",
"description",
"logo",
"gallery",
"sections"
],
"additionalProperties": false
},
"idempotencyKey": {
"description": "Optional. Set a random key and reuse it exactly when retrying, so a retry is not applied twice",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$"
}
},
"required": [
"email",
"agentName",
"document"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’onboarding_status(id, continuationCredential)
Read onboarding status using the private continuation credential.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"continuationCredential": {
"type": "string",
"minLength": 64,
"maxLength": 64
}
},
"required": [
"id",
"continuationCredential"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}βͺexchange_onboarding(id, continuationCredential, idempotencyKey)
After owner approval, exchange the private continuation credential for an API token. Keep returned credentials private.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"continuationCredential": {
"type": "string",
"minLength": 64,
"maxLength": 64
},
"idempotencyKey": {
"description": "Optional. Set a random key and reuse it exactly when retrying, so a retry is not applied twice",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$"
}
},
"required": [
"id",
"continuationCredential"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’get_site
Read the ownerβs site and current revision. State is draft or live.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π‘create_site(document, idempotencyKey)
Create one structured draft. Does not publish. Fails if the owner already has a site.
Input Schema
{
"type": "object",
"properties": {
"document": {
"type": "object",
"properties": {
"version": {
"type": "number",
"const": 1
},
"template": {
"type": "string",
"enum": [
"local",
"studio",
"professional",
"workshop",
"hospitality",
"care"
]
},
"industry": {
"type": "string",
"enum": [
"4x4-accessories",
"accountant",
"air-conditioning",
"air-conditioning-cleaning",
"aluminium-fabricators-and-repairers",
"aluminium-windows",
"appliance-repairs-and-parts",
"arborist",
"asbestos-removals",
"asphalt-and-bitumen",
"auto-electricians",
"auto-parts",
"auto-wreckers",
"awnings",
"balustrading",
"barber",
"bathroom-renovations",
"batteries",
"beauty-salons",
"bike-shops",
"blinds",
"blocked-drains",
"boat-sales-and-service",
"bobcat-and-dingo-hire",
"bookkeeper",
"bore-drilling",
"brake-and-clutch-repairs",
"bricklayers-and-blocklayers",
"builder",
"building-and-home-renovations",
"pest-inspector",
"building-designers",
"butchers",
"cabinet-makers",
"cafes",
"car-air-conditioning",
"car-transmissions",
"car-wash-and-detailing",
"caravan-repairs",
"caravans-sales-and-parts",
"carpenter",
"carpet-cleaning",
"carpet-stores",
"caterers",
"cctv-and-security-cameras",
"chemists-and-pharmacies",
"child-care-centres",
"chiropractor",
"civil-contractors",
"cleaner",
"coach-charters-and-bus-tours",
"commercial-air-conditioning",
"commercial-cleaners",
"computer-repairs",
"computer-sales-and-equipment",
"concrete-cutting",
"concrete-pre-mixed",
"concrete-pumping-services",
"concreter",
"conveyancing",
"cosmetic-services",
"couriers",
"crane-hire",
"cremation",
"curtains",
"data-cabling-and-communications",
"demolition-contractors",
"dentist",
"denture-clinics",
"diesel-mechanics",
"disability-care-services-and-support",
"doctors-and-medical-centres",
"dog-boarding-kennels",
"dog-grooming",
"driving-schools",
"electrician",
"equipment-hire",
"excavating-and-earthmoving-equipment",
"excavator-and-earthmoving-hire",
"family-lawyers",
"farm-machinery",
"fencer",
"fencing-supplies",
"finance-brokers-loans-and-mortgages",
"financial-planning",
"fire-protection-services",
"fitness-centres-and-gyms",
"floor-sanding-and-polishing",
"flooring-stores",
"florists",
"funeral-directors",
"garage-doors",
"gardeners",
"gas-fitter",
"gate-installation-and-repairs",
"general-engineering",
"gift-shops",
"glass-repairs-and-replacements",
"guttering-and-downpipes",
"hairdresser",
"handyman-services",
"heavy-transport",
"high-pressure-cleaners",
"hoses-and-fittings-sales-and-repairs",
"hot-water-systems",
"hydraulics",
"insurance-brokers",
"irrigation-and-sprinkler-systems",
"kitchen-renovations-and-installations",
"land-surveyors",
"landscape-supplies",
"landscaper",
"lawn-and-turf-supplies",
"lawn-mowers",
"lawn-mowing-services",
"lawyer",
"locksmith",
"massage-therapists",
"mechanic",
"mobile-mechanic",
"mortgage-brokers",
"motorcycle-dealers",
"mufflers-and-exhausts",
"nurseries-and-garden-centres",
"optometrist",
"paint-supplies-and-accessories",
"painter",
"panel-beaters-and-smash-repairs",
"party-hire",
"patio-builders",
"pest-control",
"physiotherapist",
"picture-framing",
"plasterer",
"plumber",
"podiatrist",
"pool-cleaning-and-maintenance",
"pool-fencing",
"pool-shops-and-supplies",
"powder-coating",
"printing-services",
"property-management",
"pumps-sales-and-repairs",
"quarries",
"real-estate-agents",
"refrigeration",
"removalists",
"restaurants",
"retaining-and-rock-walls",
"roadworthy-and-safety-certificates",
"roof-painting",
"roof-restorations-and-repairs",
"roofer",
"rubbish-removal",
"sand-soil-and-gravel-supplies",
"scaffolding-sales-and-hire",
"scrap-metal-merchants",
"security-doors-and-screens",
"security-guards-and-patrolling-services",
"security-systems",
"self-storage",
"septic-tank-cleaning-and-servicing",
"septic-tank-sales-and-installation",
"shade-sails-and-structures",
"sheds",
"sheet-metal-fabricators",
"shock-absorbers-and-suspension",
"shower-screens",
"shutters",
"sign-shops",
"skip-bin-hire",
"slashing-contractors",
"solar-power-systems",
"steel-fabrication",
"steel-suppliers",
"swimming-pool-builders",
"takeaway-food",
"tax-accountants",
"termite-treatment",
"tile-shops",
"tiler",
"timber-supplies",
"towing-services",
"trade-supplies",
"transport-services",
"tree-and-stump-removal",
"truck-and-bus-repairs",
"tv-antenna-installations",
"tyres",
"upholsterers",
"used-car-dealers",
"vacuum-excavation",
"vet",
"wardrobes",
"water-cartage",
"welders",
"wheel-alignment-and-balancing",
"window-tinting",
"windscreen-repairs-and-replacements",
"workwear",
"jewellers",
"prestige-car-dealers",
"luxury-watch-dealers",
"yacht-and-marine-dealers",
"art-galleries",
"luxury-fashion-boutiques",
"cosmetic-surgery",
"luxury-furniture-and-interiors",
"beef-cattle-farming",
"agricultural-support-services",
"motels",
"caravan-parks",
"it-support-companies",
"web-development-agencies",
"video-production-companies",
"service-stations",
"online-retailers",
"industrial-supplies-wholesalers",
"craft-breweries",
"commercial-bakeries",
"joinery-cabinet-manufacturers",
"early-learning-centres",
"aged-care-providers",
"freight-forwarding-services",
"aquaculture-farms",
"logging-contractors",
"commercial-fishing-operators",
"clothing-manufacturers",
"boat-builders",
"liquor-wholesalers",
"fruit-vegetable-wholesalers",
"wholesale-agents-brokers",
"scenic-tour-operators",
"software-companies",
"online-media-publishers",
"web-hosting-cloud-services",
"recruitment-agencies",
"travel-agencies",
"creative-performing-arts",
"pubs-and-bars",
"landscapers",
"earthmoving-excavation-contractors",
"advertising-marketing-agencies",
"photographers",
"graphic-designers",
"management-consultants",
"consulting-engineers",
"car-rental-companies",
"dry-cleaners-laundromats",
"appliance-stores",
"swim-schools",
"music-dance-schools",
"greengrocers",
"event-management-companies",
"coal-mining-companies",
"oil-gas-companies",
"metal-ore-miners",
"mining-services-contractors",
"paper-pulp-manufacturers",
"petroleum-product-manufacturers",
"cleaning-product-manufacturers",
"plastics-manufacturers",
"metal-manufacturers",
"energy-retailers",
"gas-suppliers",
"water-treatment-supply",
"rail-operators",
"shipping-companies",
"air-charter-operators",
"radio-tv-broadcasters",
"telecommunications-providers",
"libraries-archives",
"non-bank-lenders",
"insurance-companies",
"local-government-councils",
"defence-suppliers",
"training-colleges-rtos",
"private-hospitals-day-surgeries",
"museums-galleries",
"gaming-venues"
],
"description": "Industry tag from the catalog"
},
"businessName": {
"type": "string"
},
"headline": {
"type": "string"
},
"introduction": {
"type": "string"
},
"about": {
"type": "string"
},
"services": {
"type": "array",
"items": {
"type": "string"
}
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"bookingUrl": {
"type": "string"
},
"hours": {
"type": "string"
},
"serviceArea": {
"type": "string"
},
"colour": {
"type": "string",
"enum": [
"forest",
"ocean",
"charcoal",
"terracotta"
]
},
"font": {
"type": "string",
"enum": [
"sans",
"serif"
]
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"logo": {
"anyOf": [
{
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
},
{
"type": "null"
}
]
},
"gallery": {
"type": "array",
"items": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
}
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"visible": {
"type": "boolean"
}
},
"required": [
"id",
"visible"
]
}
},
"blockLayout": {},
"layout": {},
"pages": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"blockPageId": {
"type": "string"
},
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9-]{1,64}$"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"slug": {
"type": "string",
"maxLength": 63
},
"isHome": {
"type": "boolean"
},
"showInNav": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"published",
"draft"
]
},
"seo": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 160
},
"description": {
"type": "string",
"maxLength": 320
},
"noindex": {
"type": "boolean"
},
"image": {
"anyOf": [
{
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
},
{
"type": "null"
}
]
}
},
"required": [
"title",
"description",
"noindex",
"image"
]
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"visible": {
"type": "boolean"
}
},
"required": [
"id",
"visible"
]
}
},
"content": {
"type": "object",
"properties": {
"headline": {
"type": "string"
},
"introduction": {
"type": "string"
},
"about": {
"type": "string"
},
"services": {
"type": "array",
"items": {
"type": "string"
}
},
"gallery": {
"type": "array",
"items": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
}
}
},
"required": [
"headline",
"introduction",
"about",
"services",
"gallery"
]
},
"layout": {}
},
"required": [
"id",
"title",
"slug",
"isHome",
"showInNav",
"status",
"seo",
"sections",
"content"
]
}
},
"redirects": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"version",
"template",
"industry",
"businessName",
"headline",
"introduction",
"about",
"services",
"phone",
"email",
"bookingUrl",
"hours",
"serviceArea",
"colour",
"font",
"title",
"description",
"logo",
"gallery",
"sections"
],
"additionalProperties": false
},
"idempotencyKey": {
"description": "Optional. Set a random key and reuse it exactly when retrying, so a retry is not applied twice",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$"
}
},
"required": [
"document"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π΄save_site(document, revision, idempotencyKey)
Replace the draft using the current revision. Does not change the live publication.
Input Schema
{
"type": "object",
"properties": {
"document": {
"type": "object",
"properties": {
"version": {
"type": "number",
"const": 1
},
"template": {
"type": "string",
"enum": [
"local",
"studio",
"professional",
"workshop",
"hospitality",
"care"
]
},
"industry": {
"type": "string",
"enum": [
"4x4-accessories",
"accountant",
"air-conditioning",
"air-conditioning-cleaning",
"aluminium-fabricators-and-repairers",
"aluminium-windows",
"appliance-repairs-and-parts",
"arborist",
"asbestos-removals",
"asphalt-and-bitumen",
"auto-electricians",
"auto-parts",
"auto-wreckers",
"awnings",
"balustrading",
"barber",
"bathroom-renovations",
"batteries",
"beauty-salons",
"bike-shops",
"blinds",
"blocked-drains",
"boat-sales-and-service",
"bobcat-and-dingo-hire",
"bookkeeper",
"bore-drilling",
"brake-and-clutch-repairs",
"bricklayers-and-blocklayers",
"builder",
"building-and-home-renovations",
"pest-inspector",
"building-designers",
"butchers",
"cabinet-makers",
"cafes",
"car-air-conditioning",
"car-transmissions",
"car-wash-and-detailing",
"caravan-repairs",
"caravans-sales-and-parts",
"carpenter",
"carpet-cleaning",
"carpet-stores",
"caterers",
"cctv-and-security-cameras",
"chemists-and-pharmacies",
"child-care-centres",
"chiropractor",
"civil-contractors",
"cleaner",
"coach-charters-and-bus-tours",
"commercial-air-conditioning",
"commercial-cleaners",
"computer-repairs",
"computer-sales-and-equipment",
"concrete-cutting",
"concrete-pre-mixed",
"concrete-pumping-services",
"concreter",
"conveyancing",
"cosmetic-services",
"couriers",
"crane-hire",
"cremation",
"curtains",
"data-cabling-and-communications",
"demolition-contractors",
"dentist",
"denture-clinics",
"diesel-mechanics",
"disability-care-services-and-support",
"doctors-and-medical-centres",
"dog-boarding-kennels",
"dog-grooming",
"driving-schools",
"electrician",
"equipment-hire",
"excavating-and-earthmoving-equipment",
"excavator-and-earthmoving-hire",
"family-lawyers",
"farm-machinery",
"fencer",
"fencing-supplies",
"finance-brokers-loans-and-mortgages",
"financial-planning",
"fire-protection-services",
"fitness-centres-and-gyms",
"floor-sanding-and-polishing",
"flooring-stores",
"florists",
"funeral-directors",
"garage-doors",
"gardeners",
"gas-fitter",
"gate-installation-and-repairs",
"general-engineering",
"gift-shops",
"glass-repairs-and-replacements",
"guttering-and-downpipes",
"hairdresser",
"handyman-services",
"heavy-transport",
"high-pressure-cleaners",
"hoses-and-fittings-sales-and-repairs",
"hot-water-systems",
"hydraulics",
"insurance-brokers",
"irrigation-and-sprinkler-systems",
"kitchen-renovations-and-installations",
"land-surveyors",
"landscape-supplies",
"landscaper",
"lawn-and-turf-supplies",
"lawn-mowers",
"lawn-mowing-services",
"lawyer",
"locksmith",
"massage-therapists",
"mechanic",
"mobile-mechanic",
"mortgage-brokers",
"motorcycle-dealers",
"mufflers-and-exhausts",
"nurseries-and-garden-centres",
"optometrist",
"paint-supplies-and-accessories",
"painter",
"panel-beaters-and-smash-repairs",
"party-hire",
"patio-builders",
"pest-control",
"physiotherapist",
"picture-framing",
"plasterer",
"plumber",
"podiatrist",
"pool-cleaning-and-maintenance",
"pool-fencing",
"pool-shops-and-supplies",
"powder-coating",
"printing-services",
"property-management",
"pumps-sales-and-repairs",
"quarries",
"real-estate-agents",
"refrigeration",
"removalists",
"restaurants",
"retaining-and-rock-walls",
"roadworthy-and-safety-certificates",
"roof-painting",
"roof-restorations-and-repairs",
"roofer",
"rubbish-removal",
"sand-soil-and-gravel-supplies",
"scaffolding-sales-and-hire",
"scrap-metal-merchants",
"security-doors-and-screens",
"security-guards-and-patrolling-services",
"security-systems",
"self-storage",
"septic-tank-cleaning-and-servicing",
"septic-tank-sales-and-installation",
"shade-sails-and-structures",
"sheds",
"sheet-metal-fabricators",
"shock-absorbers-and-suspension",
"shower-screens",
"shutters",
"sign-shops",
"skip-bin-hire",
"slashing-contractors",
"solar-power-systems",
"steel-fabrication",
"steel-suppliers",
"swimming-pool-builders",
"takeaway-food",
"tax-accountants",
"termite-treatment",
"tile-shops",
"tiler",
"timber-supplies",
"towing-services",
"trade-supplies",
"transport-services",
"tree-and-stump-removal",
"truck-and-bus-repairs",
"tv-antenna-installations",
"tyres",
"upholsterers",
"used-car-dealers",
"vacuum-excavation",
"vet",
"wardrobes",
"water-cartage",
"welders",
"wheel-alignment-and-balancing",
"window-tinting",
"windscreen-repairs-and-replacements",
"workwear",
"jewellers",
"prestige-car-dealers",
"luxury-watch-dealers",
"yacht-and-marine-dealers",
"art-galleries",
"luxury-fashion-boutiques",
"cosmetic-surgery",
"luxury-furniture-and-interiors",
"beef-cattle-farming",
"agricultural-support-services",
"motels",
"caravan-parks",
"it-support-companies",
"web-development-agencies",
"video-production-companies",
"service-stations",
"online-retailers",
"industrial-supplies-wholesalers",
"craft-breweries",
"commercial-bakeries",
"joinery-cabinet-manufacturers",
"early-learning-centres",
"aged-care-providers",
"freight-forwarding-services",
"aquaculture-farms",
"logging-contractors",
"commercial-fishing-operators",
"clothing-manufacturers",
"boat-builders",
"liquor-wholesalers",
"fruit-vegetable-wholesalers",
"wholesale-agents-brokers",
"scenic-tour-operators",
"software-companies",
"online-media-publishers",
"web-hosting-cloud-services",
"recruitment-agencies",
"travel-agencies",
"creative-performing-arts",
"pubs-and-bars",
"landscapers",
"earthmoving-excavation-contractors",
"advertising-marketing-agencies",
"photographers",
"graphic-designers",
"management-consultants",
"consulting-engineers",
"car-rental-companies",
"dry-cleaners-laundromats",
"appliance-stores",
"swim-schools",
"music-dance-schools",
"greengrocers",
"event-management-companies",
"coal-mining-companies",
"oil-gas-companies",
"metal-ore-miners",
"mining-services-contractors",
"paper-pulp-manufacturers",
"petroleum-product-manufacturers",
"cleaning-product-manufacturers",
"plastics-manufacturers",
"metal-manufacturers",
"energy-retailers",
"gas-suppliers",
"water-treatment-supply",
"rail-operators",
"shipping-companies",
"air-charter-operators",
"radio-tv-broadcasters",
"telecommunications-providers",
"libraries-archives",
"non-bank-lenders",
"insurance-companies",
"local-government-councils",
"defence-suppliers",
"training-colleges-rtos",
"private-hospitals-day-surgeries",
"museums-galleries",
"gaming-venues"
],
"description": "Industry tag from the catalog"
},
"businessName": {
"type": "string"
},
"headline": {
"type": "string"
},
"introduction": {
"type": "string"
},
"about": {
"type": "string"
},
"services": {
"type": "array",
"items": {
"type": "string"
}
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"bookingUrl": {
"type": "string"
},
"hours": {
"type": "string"
},
"serviceArea": {
"type": "string"
},
"colour": {
"type": "string",
"enum": [
"forest",
"ocean",
"charcoal",
"terracotta"
]
},
"font": {
"type": "string",
"enum": [
"sans",
"serif"
]
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"logo": {
"anyOf": [
{
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
},
{
"type": "null"
}
]
},
"gallery": {
"type": "array",
"items": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
}
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"visible": {
"type": "boolean"
}
},
"required": [
"id",
"visible"
]
}
},
"blockLayout": {},
"layout": {},
"pages": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"blockPageId": {
"type": "string"
},
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9-]{1,64}$"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"slug": {
"type": "string",
"maxLength": 63
},
"isHome": {
"type": "boolean"
},
"showInNav": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"published",
"draft"
]
},
"seo": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 160
},
"description": {
"type": "string",
"maxLength": 320
},
"noindex": {
"type": "boolean"
},
"image": {
"anyOf": [
{
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
},
{
"type": "null"
}
]
}
},
"required": [
"title",
"description",
"noindex",
"image"
]
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"visible": {
"type": "boolean"
}
},
"required": [
"id",
"visible"
]
}
},
"content": {
"type": "object",
"properties": {
"headline": {
"type": "string"
},
"introduction": {
"type": "string"
},
"about": {
"type": "string"
},
"services": {
"type": "array",
"items": {
"type": "string"
}
},
"gallery": {
"type": "array",
"items": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"assetId",
"alt"
]
}
}
},
"required": [
"headline",
"introduction",
"about",
"services",
"gallery"
]
},
"layout": {}
},
"required": [
"id",
"title",
"slug",
"isHome",
"showInNav",
"status",
"seo",
"sections",
"content"
]
}
},
"redirects": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"version",
"template",
"industry",
"businessName",
"headline",
"introduction",
"about",
"services",
"phone",
"email",
"bookingUrl",
"hours",
"serviceArea",
"colour",
"font",
"title",
"description",
"logo",
"gallery",
"sections"
],
"additionalProperties": false
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"idempotencyKey": {
"description": "Optional. Set a random key and reuse it exactly when retrying, so a retry is not applied twice",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$"
}
},
"required": [
"document",
"revision"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π΄update_site(revision, changes, idempotencyKey)
Change only some fields of the draft, using the current revision. `changes` is a JSON Merge Patch over the SiteDocument: objects merge, null removes a field, and arrays (services, gallery, pages, sections) are replaced whole. Does not change the live publication.
Input Schema
{
"type": "object",
"properties": {
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"changes": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Only the fields to change, e.g. {\"phone\":\"0400 000 000\",\"hours\":\"MonβFri 8β5\"}"
},
"idempotencyKey": {
"description": "Optional. Set a random key and reuse it exactly when retrying, so a retry is not applied twice",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$"
}
},
"required": [
"revision",
"changes"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’list_images
List retained uploaded images owned by this site.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π‘upload_image(base64, mime, idempotencyKey)
Upload a JPEG, PNG or WebP image (5 MiB maximum). Returns an assetId for the document.
Input Schema
{
"type": "object",
"properties": {
"base64": {
"type": "string",
"maxLength": 6990508
},
"mime": {
"type": "string",
"enum": [
"image/jpeg",
"image/png",
"image/webp"
]
},
"idempotencyKey": {
"description": "Optional. Set a random key and reuse it exactly when retrying, so a retry is not applied twice",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$"
}
},
"required": [
"base64",
"mime"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π‘upload_image_from_url(url, idempotencyKey)
Upload a JPEG, PNG or WebP image (5 MiB maximum) from a public https URL. Prefer this to upload_image. Returns an assetId for the document.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"format": "uri"
},
"idempotencyKey": {
"description": "Optional. Set a random key and reuse it exactly when retrying, so a retry is not applied twice",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$"
}
},
"required": [
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’preview_site
Return a private link to the saved draft, valid for 15 minutes. Open it, or give it to the owner to review before publishing. Images are not shown and enquiries are disabled.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’publication_status
Read publication state and published revision.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π΄publish_site(revision, slug, idempotencyKey)
Publish the saved revision to a public hosted address. Requires sites:publish.
Input Schema
{
"type": "object",
"properties": {
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"slug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{2,62}$"
},
"idempotencyKey": {
"description": "Optional. Set a random key and reuse it exactly when retrying, so a retry is not applied twice",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$"
}
},
"required": [
"revision"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π΄unpublish_site(revision, idempotencyKey)
Remove the current public publication. Draft and enquiries are retained.
Input Schema
{
"type": "object",
"properties": {
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"idempotencyKey": {
"description": "Optional. Set a random key and reuse it exactly when retrying, so a retry is not applied twice",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$"
}
},
"required": [
"revision"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’site_analytics
Visits, page views, enquiry submissions, button clicks, top pages and traffic sources for the published site over the last 30 days.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’list_domains
Custom domains connected to the site, their status (pending_dns, verifying, ssl_provisioning, active, error) and the DNS records the owner must set. The owner adds domains in Cockatoo.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’list_enquiries(before, cursorId)
Read enquiries sent through the owner's website, newest first, 100 at a time. Requires leads:read. Pass before and cursorId from the last enquiry to read older ones.
Input Schema
{
"type": "object",
"properties": {
"before": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"cursorId": {
"type": "string",
"maxLength": 64
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’list_contacts(search, status, due, newOnly, page)
Read the owner's customer contacts for this website, most recent enquiry first. Requires leads:read. Set due to see contacts whose follow-up date has arrived, or newOnly for unread enquiries.
Input Schema
{
"type": "object",
"properties": {
"search": {
"type": "string",
"maxLength": 200
},
"status": {
"type": "string",
"enum": [
"all",
"prospect",
"customer",
"archived"
]
},
"due": {
"type": "boolean"
},
"newOnly": {
"type": "boolean"
},
"page": {
"type": "integer",
"minimum": 0,
"maximum": 9999
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’leads_summary
Counts of contacts, customers, follow-ups due today and unread enquiries. Requires leads:read. Use this to answer 'any new leads?'
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence