{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/airtable/refs/heads/main/json-structure/airtable-base-structure.json",
  "name": "Airtable Base",
  "description": "An Airtable base is a database that contains one or more tables. Bases are the top-level containers for organizing related data in Airtable.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique identifier for the base. Base IDs always start with the 'app' prefix.",
      "pattern": "^app[a-zA-Z0-9]+$",
      "examples": [
        "appABC123def456"
      ]
    },
    "name": {
      "type": "string",
      "description": "The display name of the base."
    },
    "permissionLevel": {
      "type": "string",
      "description": "The permission level the authenticated user has on this base.",
      "enum": [
        "none",
        "read",
        "comment",
        "edit",
        "create"
      ]
    },
    "tables": {
      "type": "array",
      "description": "The tables contained within this base. Only included when retrieving the full base schema.",
      "items": {
        "$ref": "https://schemas.airtable.com/table.json"
      }
    }
  },
  "required": [
    "id",
    "name"
  ],
  "additionalProperties": false
}