fly-io · JSON Structure

Fly Io Structure

Structural overview of the Fly-Io API surface; extracted from openapi/.

Type: Properties: 0

Fly Io Structure is a JSON Structure definition published by fly-io.

Meta-schema:

JSON Structure

Raw ↑
{
  "provider": "Fly-Io",
  "providerId": "fly-io",
  "kind": "json-structure",
  "description": "Structural overview of the Fly-Io API surface; extracted from openapi/.",
  "schemaCount": 18,
  "operationCount": 27,
  "schemas": [
    {
      "name": "ErrorResponse",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "App",
      "type": "object",
      "propertyCount": 7,
      "required": []
    },
    {
      "name": "Organization",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "CreateAppRequest",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "app_name",
        "org_slug"
      ]
    },
    {
      "name": "Machine",
      "type": "object",
      "propertyCount": 9,
      "required": []
    },
    {
      "name": "MachineConfig",
      "type": "object",
      "propertyCount": 11,
      "required": [
        "image"
      ]
    },
    {
      "name": "MachineGuest",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "MachineService",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "MachinePort",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "MachineServiceConcurrency",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "MachineCheck",
      "type": "object",
      "propertyCount": 7,
      "required": []
    },
    {
      "name": "MachineMount",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "MachineInit",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "MachineRestart",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "CreateMachineRequest",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "config"
      ]
    },
    {
      "name": "Volume",
      "type": "object",
      "propertyCount": 12,
      "required": []
    },
    {
      "name": "CreateVolumeRequest",
      "type": "object",
      "propertyCount": 7,
      "required": [
        "name",
        "size_gb",
        "region"
      ]
    },
    {
      "name": "VolumeSnapshot",
      "type": "object",
      "propertyCount": 5,
      "required": []
    }
  ],
  "operations": [
    {
      "method": "GET",
      "path": "/v1/apps",
      "operationId": "listApps",
      "summary": "List apps in an organization",
      "tags": [
        "Apps"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps",
      "operationId": "createApp",
      "summary": "Create a Fly App",
      "tags": [
        "Apps"
      ]
    },
    {
      "method": "GET",
      "path": "/v1/apps/{app_name}",
      "operationId": "getApp",
      "summary": "Get a Fly App",
      "tags": [
        "Apps"
      ]
    },
    {
      "method": "DELETE",
      "path": "/v1/apps/{app_name}",
      "operationId": "deleteApp",
      "summary": "Delete a Fly App",
      "tags": [
        "Apps"
      ]
    },
    {
      "method": "GET",
      "path": "/v1/apps/{app_name}/machines",
      "operationId": "listMachines",
      "summary": "List machines in an app",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps/{app_name}/machines",
      "operationId": "createMachine",
      "summary": "Create a Fly Machine",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "GET",
      "path": "/v1/apps/{app_name}/machines/{machine_id}",
      "operationId": "getMachine",
      "summary": "Get a Fly Machine",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps/{app_name}/machines/{machine_id}",
      "operationId": "updateMachine",
      "summary": "Update a Fly Machine",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "DELETE",
      "path": "/v1/apps/{app_name}/machines/{machine_id}",
      "operationId": "deleteMachine",
      "summary": "Delete a Fly Machine",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps/{app_name}/machines/{machine_id}/start",
      "operationId": "startMachine",
      "summary": "Start a Fly Machine",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps/{app_name}/machines/{machine_id}/stop",
      "operationId": "stopMachine",
      "summary": "Stop a Fly Machine",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps/{app_name}/machines/{machine_id}/suspend",
      "operationId": "suspendMachine",
      "summary": "Suspend a Fly Machine",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "GET",
      "path": "/v1/apps/{app_name}/machines/{machine_id}/wait",
      "operationId": "waitForMachineState",
      "summary": "Wait for a Machine to reach a state",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps/{app_name}/machines/{machine_id}/cordon",
      "operationId": "cordonMachine",
      "summary": "Cordon a Fly Machine",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps/{app_name}/machines/{machine_id}/uncordon",
      "operationId": "uncordonMachine",
      "summary": "Uncordon a Fly Machine",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "GET",
      "path": "/v1/apps/{app_name}/machines/{machine_id}/metadata/{key}",
      "operationId": "getMachineMetadata",
      "summary": "Get a Machine metadata value",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps/{app_name}/machines/{machine_id}/metadata/{key}",
      "operationId": "setMachineMetadata",
      "summary": "Set a Machine metadata value",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "DELETE",
      "path": "/v1/apps/{app_name}/machines/{machine_id}/metadata/{key}",
      "operationId": "deleteMachineMetadata",
      "summary": "Delete a Machine metadata value",
      "tags": [
        "Machines"
      ]
    },
    {
      "method": "GET",
      "path": "/v1/apps/{app_name}/volumes",
      "operationId": "listVolumes",
      "summary": "List volumes in an app",
      "tags": [
        "Volumes"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps/{app_name}/volumes",
      "operationId": "createVolume",
      "summary": "Create a volume",
      "tags": [
        "Volumes"
      ]
    },
    {
      "method": "GET",
      "path": "/v1/apps/{app_name}/volumes/{volume_id}",
      "operationId": "getVolume",
      "summary": "Get a volume",
      "tags": [
        "Volumes"
      ]
    },
    {
      "method": "PUT",
      "path": "/v1/apps/{app_name}/volumes/{volume_id}",
      "operationId": "updateVolume",
      "summary": "Update a volume",
      "tags": [
        "Volumes"
      ]
    },
    {
      "method": "DELETE",
      "path": "/v1/apps/{app_name}/volumes/{volume_id}",
      "operationId": "deleteVolume",
      "summary": "Delete a volume",
      "tags": [
        "Volumes"
      ]
    },
    {
      "method": "PUT",
      "path": "/v1/apps/{app_name}/volumes/{volume_id}/extend",
      "operationId": "extendVolume",
      "summary": "Extend a volume",
      "tags": [
        "Volumes"
      ]
    },
    {
      "method": "GET",
      "path": "/v1/apps/{app_name}/volumes/{volume_id}/snapshots",
      "operationId": "listVolumeSnapshots",
      "summary": "List volume snapshots",
      "tags": [
        "Volumes"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/apps/{app_name}/volumes/{volume_id}/snapshots",
      "operationId": "createVolumeSnapshot",
      "summary": "Create a volume snapshot",
      "tags": [
        "Volumes"
      ]
    },
    {
      "method": "POST",
      "path": "/v1/tokens/oidc",
      "operationId": "getOidcToken",
      "summary": "Get an OIDC token",
      "tags": [
        "Tokens"
      ]
    }
  ]
}