{
  "service": "statamic",
  "displayName": "Statamic",
  "categories": [
    "Developer Tools",
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "STATAMIC_API_TOKEN",
      "description": "Statamic API token used as a Bearer token for the statamic.com Sites API. Create a token in your statamic.com account.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://statamic.com",
  "actions": [
    {
      "id": "statamic.create_site",
      "service": "statamic",
      "name": "create_site",
      "description": "Create a Statamic site license with an optional domain or domains.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The display name of the Statamic site."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "A domain to license for the Statamic site."
          },
          "domains": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A domain to license for the Statamic site."
            },
            "description": "The domains to license for the Statamic site. The first domain is treated as production.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "description": "The input payload for creating a Statamic site. Provide either domain or domains, not both."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "site": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The site name returned by Statamic."
              },
              "key": {
                "type": "string",
                "description": "The site key returned by Statamic."
              },
              "domains": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One licensed domain."
                },
                "description": "The licensed domains returned by Statamic."
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The site creation timestamp returned by Statamic."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw site object returned by Statamic."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Statamic site."
          }
        },
        "additionalProperties": false,
        "description": "The response returned with a Statamic site."
      }
    },
    {
      "id": "statamic.delete_site",
      "service": "statamic",
      "name": "delete_site",
      "description": "Delete a Statamic site by site key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "description": "The Statamic site key."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for deleting a Statamic site."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The deletion message returned by Statamic."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when deleting a Statamic site."
      }
    },
    {
      "id": "statamic.list_sites",
      "service": "statamic",
      "name": "list_sites",
      "description": "List Statamic sites available in the authenticated statamic.com account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for listing Statamic sites."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The site name returned by Statamic."
                },
                "key": {
                  "type": "string",
                  "description": "The site key returned by Statamic."
                },
                "domains": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One licensed domain."
                  },
                  "description": "The licensed domains returned by Statamic."
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The site creation timestamp returned by Statamic."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw site object returned by Statamic."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Statamic site."
            },
            "description": "The Statamic sites returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Statamic sites."
      }
    },
    {
      "id": "statamic.update_site",
      "service": "statamic",
      "name": "update_site",
      "description": "Update a Statamic site name or replace its licensed domain list.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "description": "The Statamic site key."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The display name of the Statamic site."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "A domain to license for the Statamic site."
          },
          "domains": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A domain to license for the Statamic site."
            },
            "description": "The domains to license for the Statamic site. The first domain is treated as production.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "key"
        ],
        "description": "The input payload for updating a Statamic site. Provide at least one of name, domain, or domains; provide either domain or domains, not both."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "site": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The site name returned by Statamic."
              },
              "key": {
                "type": "string",
                "description": "The site key returned by Statamic."
              },
              "domains": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One licensed domain."
                },
                "description": "The licensed domains returned by Statamic."
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The site creation timestamp returned by Statamic."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw site object returned by Statamic."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Statamic site."
          }
        },
        "additionalProperties": false,
        "description": "The response returned with a Statamic site."
      }
    }
  ]
}
