Sources

Sources feed data INTO tables. Webhook sources provide a URL to POST data, API pull sources fetch on a schedule, connected table sources flow records from another table.

Source Types

TypeWhat It Does
webhookProvides a URL to POST data into the table
csv_importUpload CSV files to create records
api_pullFetch data from an external API on a schedule
connected_tableFlow records from another hypertab table via filter
manualManually managed — no automatic ingestion

Create Source

POST/v1/tables/:tableId/sourceshypertab_create_source

Create a data source for a table.

ParameterTypeDescription
tablerequiredstringTable name or ID
typerequiredstringwebhook, csv_import, api_pull, manual, or connected_table
namestringHuman-readable source name (max 128 chars)
configobjectType-specific config (see examples below)
Webhook Source

Creates a webhook source for a table. Wrap the source with an endpoint route to publish the current/e/:endpointId URL that external services POST to.

{
  "tool": "hypertab_create_source",
  "arguments": {
    "table": "leads",
    "type": "webhook",
    "name": "Typeform submissions",
    "config": {
      "field_mapping": {
        "form_fields.email": "email",
        "form_fields.name": "full_name"
      }
    }
  }
}
API Pull Source (scheduled)
{
  "tool": "hypertab_create_source",
  "arguments": {
    "table": "deals",
    "type": "api_pull",
    "name": "CRM sync",
    "config": {
      "url": "https://api.crm.com/deals",
      "method": "GET",
      "headers": { "Authorization": "Bearer <crm-token>" },
      "schedule": "0 */6 * * *"
    }
  }
}
!
Source credentials
API-pull header values are encrypted before storage and redacted on reads. Supply secrets only in the header fields of the authenticated create or update request; never put them in a URL query parameter.
Connected Table Source
{
  "tool": "hypertab_create_source",
  "arguments": {
    "table": "qualified_leads",
    "type": "connected_table",
    "name": "From leads (score >= 80)",
    "config": {
      "source_table": "leads",
      "filter": { "score": { "gte": 80 } }
    }
  }
}

List Sources

GET/v1/tables/:tableId/sourceshypertab_list_sources

List sources for a table (or all tables). Shows source type, status, record count, and last run time.

ParameterTypeDescription
tablestringTable name or ID (omit to list all sources)
{ "tool": "hypertab_list_sources", "arguments": { "table": "leads" } }

Update Source

PATCH(MCP only)hypertab_update_source

Rename a source, change type-specific config (e.g. an api_pull schedule), or pause/resume ingestion — in place, so the source ID, linked endpoint route, and retained log metadata are preserved. Source logs do not store payload values or previews and are normally retained for up to 30 days. Config keys are merged into the existing config; set a key to null to remove it.

ParameterTypeDescription
source_idrequiredstringSource ID to update
namestringNew source name
configobjectConfig keys to merge (null deletes a key)
statusstring'paused' stops ingestion, 'active' resumes
{
  "tool": "hypertab_update_source",
  "arguments": { "source_id": "src_abc123", "config": { "schedule": "0 * * * *" } }
}

Delete Source

DELETE/v1/sources/:sourceIdhypertab_delete_source

Delete a source permanently. Requires confirm: true.

ParameterTypeDescription
source_idrequiredstringSource ID to delete
confirmrequiredbooleanMust be true to confirm deletion
{
  "tool": "hypertab_delete_source",
  "arguments": { "source_id": "src_abc123", "confirm": true }
}