Migration Pipeline
Three-step pipeline: export Cloudflare config, assess migration complexity, convert to Akamai PAPI format.
export
CF Config
assess
Analysis
convert
PAPI JSON
https://ftsmcp.dev/CfApi/
Returns available actions and their parameters.
{ "name": "Cloudflare Migration API", "version": "1.0.0", "endpoints": [...] }
Export Cloudflare zone configuration. Supports live API, file import, or demo mode.
| Parameter | Type | Description |
|---|---|---|
| action | string | "export" (required) |
| source | string | "api" | "file" | "demo" (required) |
| domain | string | Domain name (required for api/demo) |
| bearerToken | string | CF API token (required for api mode) |
| filePath | string | Path to exported JSON dir (file mode) |
curl -X POST /CfApi/ -H "Content-Type: application/json" \
-d '{"action":"export","source":"demo","domain":"acmecorp.com"}'
Returns zone, zones, zoneInventory, dnsRecords, hostnames, pagesProjects, workersScripts, rawZones.
Analyze a CF config and produce migration assessment with Akamai product recommendations.
| Parameter | Type | Description |
|---|---|---|
| action | string | "assess" (required) |
| cloudflareConfig | object | Output from export action (required) |
Returns complexityScore, recommendedProducts, featureMappings, dnsStrategy, certificateStrategy, wafStrategy, discoveryFindings.
Convert CF config to Akamai formats. Two modes: demo (simplified TS converter) or real (production Python tool with full behavior/criteria catalogs).
| Parameter | Type | Description |
|---|---|---|
| action | string | "convert" (required) |
| cloudflareConfig | object | Output from export action (required) |
| assessment | object | Output from assess action (required for demo mode) |
| mode | string | "demo" (default) | "real" |
| excludeIvm | boolean | Skip Image & Video Manager rules (real mode) |
| product | string | Akamai product: Fresca, Site_Accel, etc. (real mode) |
papiRuleTree, wafPolicy, dnsRecords, certEnrollment, pagesProjects, metadata
properties[] (full PAPI rule trees), clientLists (IP/ASN allow/block), csv (hostname mappings)
The Python converter runs as a separate service. FastAPI Swagger UI available at /docs.
http://localhost:8100
{ "status": "ok" }
Accepts CF zone configs and returns production-grade PAPI property JSON using the full behavior/criteria catalogs (40K+ mapping rules).
| Parameter | Type | Description |
|---|---|---|
| zones | array | Array of CF zone config objects (required) |
| exclude_ivm | boolean | Skip Image & Video Manager rules (default: false) |
| product | string | Akamai product name (default: "Fresca") |
curl -X POST http://localhost:8100/convert \
-H "Content-Type: application/json" \
-d '{"zones": [{"name":"acmecorp.com", "zones_dns_records":[...], "zones_settings":[...]}]}'
{
"properties": [
{
"name": "acmecorp.com",
"hostnames": ["acmecorp.com", "www.acmecorp.com", ...],
"ruleTree": { "rules": { "name": "default", "children": [...] } },
"comments": ["..."]
}
],
"clientLists": {
"allowed_asn": [...],
"allowed_ips": [...],
"blocked_ips": [...]
},
"csv": [
{ "hostname": "acmecorp.com", "propertyName": "acmecorp.com", "product": "Fresca" }
]
}
Interactive API documentation with try-it-out functionality. Auto-generated by FastAPI from Pydantic models.