{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/ProvisionRequest", "title": "ProvisionRequest", "type": "object", "description": "Request body sent by Fly.io to the provider when provisioning or updating an extension resource.", "required": [ "name", "id", "organization_id", "organization_name", "user_email", "user_id", "user_role" ], "properties": { "name": { "type": "string", "description": "The name the user specified for this extension resource." }, "id": { "type": "string", "description": "Fly.io-generated unique identifier for this extension instance." }, "organization_id": { "type": "string", "description": "The Fly.io organization ID of the user provisioning the extension." }, "organization_name": { "type": "string", "description": "The display name of the Fly.io organization." }, "user_email": { "type": "string", "format": "email", "description": "An obfuscated email alias for the provisioning user. This is a routing address that Fly.io manages, not the user's real email." }, "user_id": { "type": "string", "description": "The Fly.io user ID of the provisioning user." }, "user_role": { "type": "string", "description": "The user's role within the organization (e.g., admin, member)." }, "primary_region": { "type": "string", "description": "The preferred deployment region for latency-sensitive resources.", "example": "iad" }, "read_regions": { "type": "array", "description": "Additional regions where read replicas should be provisioned.", "items": { "type": "string" } }, "ip_address": { "type": "string", "description": "A Fly.io private IP address allocated for Flycast routing, enabling the extension to receive traffic over the Fly.io private network." } } }