{
  "service": "pilvio",
  "displayName": "Pilvio",
  "categories": [
    "Developer Tools",
    "Storage"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "PILVIO_API_TOKEN",
      "description": "Pilvio API token sent in the apikey header. Register or manage API tokens at https://app.pilvio.com/.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://pilvio.com/",
  "actions": [
    {
      "id": "pilvio.get_billing_account",
      "service": "pilvio",
      "name": "get_billing_account",
      "description": "Get one Pilvio billing account by numeric identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "billingAccountId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Pilvio billing account identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving one Pilvio billing account."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "billingAccount": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The billing account identifier when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The billing account title when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "email": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The billing account email address when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "companyName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The billing account company name when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "creditAmount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The billing account credit amount when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isActive": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the billing account is active when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isDefault": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether this is the default billing account when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Pilvio."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Pilvio billing account."
          },
          "raw": {
            "description": "The raw top-level payload returned by Pilvio."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Pilvio billing account response."
      }
    },
    {
      "id": "pilvio.get_current_user",
      "service": "pilvio",
      "name": "get_current_user",
      "description": "Get the authenticated Pilvio user profile.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for retrieving the current Pilvio user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The Pilvio user identifier when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The user name when returned, often the account email address."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "email": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The email address from the nested profile data when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "firstName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The first name from the nested profile data when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The last name from the nested profile data when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Pilvio."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Pilvio user profile."
          },
          "raw": {
            "description": "The raw top-level payload returned by Pilvio."
          }
        },
        "additionalProperties": false,
        "description": "The normalized current Pilvio user response."
      }
    },
    {
      "id": "pilvio.list_billing_accounts",
      "service": "pilvio",
      "name": "list_billing_accounts",
      "description": "List Pilvio billing accounts attached to the authenticated user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "showShadow": {
            "type": "boolean",
            "description": "Whether to request deleted billing accounts with show_shadow."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Pilvio billing accounts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "billingAccounts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The billing account identifier when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "title": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The billing account title when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "email": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The billing account email address when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "companyName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The billing account company name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "creditAmount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The billing account credit amount when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isActive": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the billing account is active when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isDefault": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether this is the default billing account when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Pilvio."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Pilvio billing account."
            },
            "description": "The billing accounts returned by Pilvio."
          },
          "raw": {
            "description": "The raw top-level payload returned by Pilvio."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Pilvio billing account list response."
      }
    },
    {
      "id": "pilvio.list_locations",
      "service": "pilvio",
      "name": "list_locations",
      "description": "List Pilvio data center locations available for resource operations.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for listing Pilvio locations."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "locations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string",
                  "description": "The location slug used in location-specific Pilvio API URLs."
                },
                "displayName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The human-readable location name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The location description when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "countryCode": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The location country code when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "orderNumber": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The location ordering number when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isDefault": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether this is the default location when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isPreferred": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether this is the preferred location when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Pilvio."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Pilvio data center location."
            },
            "description": "The Pilvio locations returned by the API."
          },
          "raw": {
            "description": "The raw top-level payload returned by Pilvio."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Pilvio locations response."
      }
    },
    {
      "id": "pilvio.list_virtual_machines",
      "service": "pilvio",
      "name": "list_virtual_machines",
      "description": "List Pilvio virtual machines, optionally scoped to a documented location slug.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "locationSlug": {
            "type": "string",
            "minLength": 1,
            "description": "The optional Pilvio location slug to use after /v1 in the API URL."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Pilvio virtual machines."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "virtualMachines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The numeric virtual machine identifier when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "uuid": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The virtual machine UUID when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The virtual machine name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "hostname": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The virtual machine hostname when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The virtual machine status when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "billingAccountId": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The billing account identifier attached to the VM."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "vcpus": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The number of vCPUs assigned to the VM when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "memoryMb": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The amount of VM memory in MiB when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "osName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The operating system name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "osVersion": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The operating system version when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "privateIpv4": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The private IPv4 address when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publicIpv4": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The public IPv4 address when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publicIpv6": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The public IPv6 address when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The VM creation timestamp when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "updatedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The VM last update timestamp when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Pilvio."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Pilvio virtual machine."
            },
            "description": "The virtual machines returned by Pilvio."
          },
          "raw": {
            "description": "The raw top-level payload returned by Pilvio."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Pilvio virtual machine list response."
      }
    }
  ]
}
