Skip to main content
POST
/
sandbox
/
airtable
/
{sandbox_id}
/
initialize
Initialize airtable sandbox with data
curl --request POST \
  --url https://api.klavis.ai/sandbox/airtable/{sandbox_id}/initialize \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data @- <<EOF
{
  "tables": [
    {
      "name": "Projects",
      "description": "Track all projects and their details",
      "fields": [
        {
          "name": "Name",
          "type": "singleLineText"
        },
        {
          "name": "Status",
          "type": "singleSelect",
          "options": {
            "choices": [
              {
                "name": "Planning"
              },
              {
                "name": "In Progress"
              },
              {
                "name": "On Hold"
              },
              {
                "name": "Completed"
              }
            ]
          }
        },
        {
          "name": "Description",
          "type": "multilineText"
        },
        {
          "name": "Start Date",
          "type": "date"
        },
        {
          "name": "Due Date",
          "type": "date"
        },
        {
          "name": "Budget",
          "type": "number"
        },
        {
          "name": "Priority",
          "type": "singleSelect",
          "options": {
            "choices": [
              {
                "name": "High"
              },
              {
                "name": "Medium"
              },
              {
                "name": "Low"
              }
            ]
          }
        },
        {
          "name": "Tasks",
          "type": "multipleRecordLinks"
        }
      ],
      "records": [
        {
          "fields": {
            "Name": "Website Redesign",
            "Status": "In Progress",
            "Description": "Complete overhaul of company website with modern design and improved UX",
            "Start Date": "2024-01-15",
            "Due Date": "2024-03-30",
            "Budget": 50000,
            "Priority": "High"
          }
        },
        {
          "fields": {
            "Name": "Mobile App Development",
            "Status": "Planning",
            "Description": "Develop iOS and Android mobile applications for customer engagement",
            "Start Date": "2024-02-01",
            "Due Date": "2024-06-30",
            "Budget": 120000,
            "Priority": "High"
          }
        },
        {
          "fields": {
            "Name": "Marketing Campaign Q1",
            "Status": "In Progress",
            "Description": "Launch social media and email marketing campaign for Q1",
            "Start Date": "2024-01-01",
            "Due Date": "2024-03-31",
            "Budget": 25000,
            "Priority": "Medium"
          }
        },
        {
          "fields": {
            "Name": "Infrastructure Upgrade",
            "Status": "Planning",
            "Description": "Upgrade cloud infrastructure and migrate to Kubernetes",
            "Start Date": "2024-03-01",
            "Due Date": "2024-05-31",
            "Budget": 75000,
            "Priority": "High"
          }
        },
        {
          "fields": {
            "Name": "Customer Support Portal",
            "Status": "On Hold",
            "Description": "Build self-service customer support portal with knowledge base",
            "Start Date": "2024-01-20",
            "Due Date": "2024-04-30",
            "Budget": 30000,
            "Priority": "Low"
          }
        }
      ]
    },
    {
      "name": "Tasks",
      "description": "Individual tasks and action items",
      "fields": [
        {
          "name": "Task Name",
          "type": "singleLineText"
        },
        {
          "name": "Description",
          "type": "multilineText"
        },
        {
          "name": "Status",
          "type": "singleSelect",
          "options": {
            "choices": [
              {
                "name": "To Do"
              },
              {
                "name": "In Progress"
              },
              {
                "name": "Review"
              },
              {
                "name": "Done"
              }
            ]
          }
        },
        {
          "name": "Assignee",
          "type": "singleLineText"
        },
        {
          "name": "Due Date",
          "type": "date"
        },
        {
          "name": "Priority",
          "type": "singleSelect",
          "options": {
            "choices": [
              {
                "name": "Critical"
              },
              {
                "name": "High"
              },
              {
                "name": "Medium"
              },
              {
                "name": "Low"
              }
            ]
          }
        },
        {
          "name": "Estimated Hours",
          "type": "number"
        },
        {
          "name": "Completed",
          "type": "checkbox"
        },
        {
          "name": "Project",
          "type": "multipleRecordLinks"
        }
      ],
      "records": [
        {
          "fields": {
            "Task Name": "Design homepage mockup",
            "Description": "Create high-fidelity mockups for the new homepage layout",
            "Status": "In Progress",
            "Assignee": "Sarah Johnson",
            "Due Date": "2024-02-15",
            "Priority": "High",
            "Estimated Hours": 16,
            "Completed": false
          }
        },
        {
          "fields": {
            "Task Name": "Set up development environment",
            "Description": "Configure local dev environment with all necessary tools",
            "Status": "Done",
            "Assignee": "Mike Chen",
            "Due Date": "2024-01-20",
            "Priority": "High",
            "Estimated Hours": 8,
            "Completed": true
          }
        },
        {
          "fields": {
            "Task Name": "Conduct user research",
            "Description": "Interview 20 users about their needs and pain points",
            "Status": "In Progress",
            "Assignee": "Emily Rodriguez",
            "Due Date": "2024-02-28",
            "Priority": "Medium",
            "Estimated Hours": 40,
            "Completed": false
          }
        },
        {
          "fields": {
            "Task Name": "Write API documentation",
            "Description": "Document all API endpoints with examples and parameters",
            "Status": "To Do",
            "Assignee": "David Lee",
            "Due Date": "2024-03-10",
            "Priority": "Medium",
            "Estimated Hours": 24,
            "Completed": false
          }
        },
        {
          "fields": {
            "Task Name": "Implement authentication system",
            "Description": "Build OAuth2 authentication with JWT tokens",
            "Status": "In Progress",
            "Assignee": "Mike Chen",
            "Due Date": "2024-02-25",
            "Priority": "Critical",
            "Estimated Hours": 32,
            "Completed": false
          }
        },
        {
          "fields": {
            "Task Name": "Create social media content calendar",
            "Description": "Plan content for Twitter, LinkedIn, and Instagram for Q1",
            "Status": "Review",
            "Assignee": "Amanda White",
            "Due Date": "2024-02-05",
            "Priority": "High",
            "Estimated Hours": 12,
            "Completed": false
          }
        },
        {
          "fields": {
            "Task Name": "Deploy staging environment",
            "Description": "Set up staging server for QA testing",
            "Status": "Done",
            "Assignee": "Robert Garcia",
            "Due Date": "2024-01-25",
            "Priority": "High",
            "Estimated Hours": 6,
            "Completed": true
          }
        },
        {
          "fields": {
            "Task Name": "Database schema design",
            "Description": "Design normalized database schema for new features",
            "Status": "Review",
            "Assignee": "David Lee",
            "Due Date": "2024-02-10",
            "Priority": "Critical",
            "Estimated Hours": 20,
            "Completed": false
          }
        }
      ]
    },
    {
      "name": "Team Members",
      "description": "Team directory with contact information",
      "fields": [
        {
          "name": "Full Name",
          "type": "singleLineText"
        },
        {
          "name": "Email",
          "type": "email"
        },
        {
          "name": "Phone",
          "type": "phoneNumber"
        },
        {
          "name": "Role",
          "type": "singleSelect",
          "options": {
            "choices": [
              {
                "name": "Developer"
              },
              {
                "name": "Designer"
              },
              {
                "name": "Product Manager"
              },
              {
                "name": "Marketing"
              },
              {
                "name": "DevOps"
              }
            ]
          }
        },
        {
          "name": "Department",
          "type": "singleSelect",
          "options": {
            "choices": [
              {
                "name": "Engineering"
              },
              {
                "name": "Design"
              },
              {
                "name": "Product"
              },
              {
                "name": "Marketing"
              },
              {
                "name": "Operations"
              }
            ]
          }
        },
        {
          "name": "Start Date",
          "type": "date"
        },
        {
          "name": "Active",
          "type": "checkbox"
        },
        {
          "name": "Profile Picture",
          "type": "url"
        }
      ],
      "records": [
        {
          "fields": {
            "Full Name": "Sarah Johnson",
            "Email": "sarah.johnson@example.com",
            "Phone": "+1-555-0101",
            "Role": "Designer",
            "Department": "Design",
            "Start Date": "2022-03-15",
            "Active": true,
            "Profile Picture": "https://i.pravatar.cc/150?img=1"
          }
        },
        {
          "fields": {
            "Full Name": "Mike Chen",
            "Email": "mike.chen@example.com",
            "Phone": "+1-555-0102",
            "Role": "Developer",
            "Department": "Engineering",
            "Start Date": "2021-06-01",
            "Active": true,
            "Profile Picture": "https://i.pravatar.cc/150?img=13"
          }
        },
        {
          "fields": {
            "Full Name": "Emily Rodriguez",
            "Email": "emily.rodriguez@example.com",
            "Phone": "+1-555-0103",
            "Role": "Product Manager",
            "Department": "Product",
            "Start Date": "2020-09-10",
            "Active": true,
            "Profile Picture": "https://i.pravatar.cc/150?img=5"
          }
        },
        {
          "fields": {
            "Full Name": "David Lee",
            "Email": "david.lee@example.com",
            "Phone": "+1-555-0104",
            "Role": "Developer",
            "Department": "Engineering",
            "Start Date": "2023-01-20",
            "Active": true,
            "Profile Picture": "https://i.pravatar.cc/150?img=12"
          }
        },
        {
          "fields": {
            "Full Name": "Amanda White",
            "Email": "amanda.white@example.com",
            "Phone": "+1-555-0105",
            "Role": "Marketing",
            "Department": "Marketing",
            "Start Date": "2022-11-05",
            "Active": true,
            "Profile Picture": "https://i.pravatar.cc/150?img=10"
          }
        },
        {
          "fields": {
            "Full Name": "Robert Garcia",
            "Email": "robert.garcia@example.com",
            "Phone": "+1-555-0106",
            "Role": "DevOps",
            "Department": "Operations",
            "Start Date": "2021-02-28",
            "Active": true,
            "Profile Picture": "https://i.pravatar.cc/150?img=15"
          }
        }
      ]
    },
    {
      "name": "Meetings",
      "description": "Schedule and track team meetings",
      "fields": [
        {
          "name": "Meeting Title",
          "type": "singleLineText"
        },
        {
          "name": "Date",
          "type": "date"
        },
        {
          "name": "Duration (minutes)",
          "type": "number"
        },
        {
          "name": "Type",
          "type": "singleSelect",
          "options": {
            "choices": [
              {
                "name": "Stand-up"
              },
              {
                "name": "Planning"
              },
              {
                "name": "Review"
              },
              {
                "name": "Retrospective"
              },
              {
                "name": "One-on-One"
              }
            ]
          }
        },
        {
          "name": "Attendees",
          "type": "multilineText"
        },
        {
          "name": "Notes",
          "type": "multilineText"
        },
        {
          "name": "Action Items",
          "type": "multilineText"
        },
        {
          "name": "Recording URL",
          "type": "url"
        }
      ],
      "records": [
        {
          "fields": {
            "Meeting Title": "Weekly Team Stand-up",
            "Date": "2024-02-05",
            "Duration (minutes)": 30,
            "Type": "Stand-up",
            "Attendees": "Sarah, Mike, Emily, David, Amanda, Robert",
            "Notes": "Discussed progress on current sprint. Team velocity is good. No major blockers.",
            "Action Items": "- Mike to review David's PR\n- Sarah to finalize designs by EOD\n- Emily to schedule client demo"
          }
        },
        {
          "fields": {
            "Meeting Title": "Sprint Planning - Sprint 5",
            "Date": "2024-02-01",
            "Duration (minutes)": 120,
            "Type": "Planning",
            "Attendees": "All team members",
            "Notes": "Planned 25 story points for the upcoming sprint. Focus on authentication and API development.",
            "Action Items": "- Break down epic into smaller tasks\n- Update story estimates\n- Assign tasks to team members",
            "Recording URL": "https://zoom.us/rec/example123"
          }
        },
        {
          "fields": {
            "Meeting Title": "Design Review - Homepage",
            "Date": "2024-02-03",
            "Duration (minutes)": 60,
            "Type": "Review",
            "Attendees": "Sarah, Emily, Mike",
            "Notes": "Reviewed new homepage designs. Overall positive feedback. Some minor adjustments needed.",
            "Action Items": "- Sarah to update color palette\n- Increase font size for headings\n- Add more whitespace in hero section"
          }
        },
        {
          "fields": {
            "Meeting Title": "1:1 - Emily & Mike",
            "Date": "2024-02-02",
            "Duration (minutes)": 30,
            "Type": "One-on-One",
            "Attendees": "Emily, Mike",
            "Notes": "Discussed career growth and upcoming projects. Mike interested in learning more about system architecture.",
            "Action Items": "- Emily to share architecture resources\n- Mike to shadow senior architect next month"
          }
        }
      ]
    }
  ]
}
EOF
{
  "sandbox_id": "<string>",
  "status": "idle",
  "message": "<string>",
  "records_created": {}
}

Authorizations

Authorization
string
header
required

Your Klavis AI API key.

Path Parameters

sandbox_id
string
required

The unique sandbox identifier

Query Parameters

init_default_data
boolean
default:false

If true, use default test data for initialization

Body

application/json

Complete Airtable sandbox data structure.

Hierarchy:

  • Bases contain Tables
  • Tables contain Fields (schema) and Records (data)
  • Records contain field values

Note: For sandbox purposes, we typically work with a single base and multiple tables within it.

tables
AirtableTable · object[] | null

List of tables (simplified, assumes single base)

Response

Successful Response

Response model for sandbox initialization

sandbox_id
string
required

Sandbox identifier

status
enum<string>
required

Current status

Available options:
idle,
occupied,
error
message
string
required

Initialization result message

records_created
Records Created · object

Count of records created per object type