{
  "service": "jsonbin",
  "displayName": "JSONBin.io",
  "categories": [
    "Storage",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Master Key",
      "placeholder": "JSONBIN_MASTER_KEY",
      "description": "JSONBin.io master key sent with the X-Master-Key header. Open your JSONBin API Keys page to view or create keys: https://jsonbin.io/app/api-keys."
    }
  ],
  "homepageUrl": "https://jsonbin.io/",
  "actions": [
    {
      "id": "jsonbin.create_bin",
      "service": "jsonbin",
      "name": "create_bin",
      "description": "Create a JSONBin bin from a JSON object and return the stored record plus bin metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object stored in the bin. JSONBin bins store object records."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Optional bin name sent with the X-Bin-Name header."
          },
          "collectionId": {
            "type": "string",
            "minLength": 1,
            "description": "Optional collection id sent with the X-Collection-Id header."
          },
          "private": {
            "type": "boolean",
            "description": "Whether the bin should be private."
          }
        },
        "additionalProperties": false,
        "required": [
          "record"
        ],
        "description": "Input parameters for creating a JSONBin bin."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object stored in the bin. JSONBin bins store object records."
          },
          "metadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Metadata returned by JSONBin for the bin, such as id, name, private flag, timestamps, version, or collection id."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSONBin API response."
          }
        },
        "additionalProperties": false,
        "description": "The normalized JSONBin bin response."
      }
    },
    {
      "id": "jsonbin.delete_bin",
      "service": "jsonbin",
      "name": "delete_bin",
      "description": "Delete a JSONBin bin and return the deletion metadata returned by JSONBin.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "binId": {
            "type": "string",
            "minLength": 1,
            "description": "The JSONBin bin identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for deleting a JSONBin bin."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Metadata returned by JSONBin for the bin, such as id, name, private flag, timestamps, version, or collection id."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSONBin API response."
          }
        },
        "additionalProperties": false,
        "description": "The normalized JSONBin delete response."
      }
    },
    {
      "id": "jsonbin.read_bin",
      "service": "jsonbin",
      "name": "read_bin",
      "description": "Read the latest or a specific version of a JSONBin bin.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "binId": {
            "type": "string",
            "minLength": 1,
            "description": "The JSONBin bin identifier."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "description": "Optional JSONBin version identifier to read."
          }
        },
        "additionalProperties": false,
        "required": [
          "binId"
        ],
        "description": "Input parameters for reading a JSONBin bin."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object stored in the bin. JSONBin bins store object records."
          },
          "metadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Metadata returned by JSONBin for the bin, such as id, name, private flag, timestamps, version, or collection id."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSONBin API response."
          }
        },
        "additionalProperties": false,
        "description": "The normalized JSONBin bin response."
      }
    },
    {
      "id": "jsonbin.update_bin",
      "service": "jsonbin",
      "name": "update_bin",
      "description": "Replace the JSON object stored in a JSONBin bin and return the updated record plus bin metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "binId": {
            "type": "string",
            "minLength": 1,
            "description": "The JSONBin bin identifier."
          },
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object stored in the bin. JSONBin bins store object records."
          },
          "versioning": {
            "type": "boolean",
            "description": "Whether JSONBin should create a new version for this update."
          }
        },
        "additionalProperties": false,
        "required": [
          "binId",
          "record"
        ],
        "description": "Input parameters for updating a JSONBin bin."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object stored in the bin. JSONBin bins store object records."
          },
          "metadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Metadata returned by JSONBin for the bin, such as id, name, private flag, timestamps, version, or collection id."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSONBin API response."
          }
        },
        "additionalProperties": false,
        "description": "The normalized JSONBin bin response."
      }
    }
  ]
}
