Skip to main content

Create or update a table event stream

Create or update and activate an event-stream definition for a research table. Saving reconciles the table event contract, may provision columns and layout, and does not itself ingest a webhook event.

POST/api/table-event-streams
HTTP referenceScope tables:writeUpdated September 27, 2026

This page documents the canonical HTTP contract for this endpoint.

Developer API keys need the listed scope. A valid authenticated user session may also call this route.

Identity objects use kind (company_id, company_domain, company_linkedin_url, lead_id, email, or person_linkedin_url), non-empty column_key, and optional payload path; subject_type determines which identity kinds and paired company/person mappings are meaningful. Successful upsert saves an active definition and claims the table’s single active event controller; a competing active claim returns 409. It reconciles the event-table contract, may create projection/metadata columns and update layout, and returns auto_columns, fit_analysis, and layout. fit-analysis columns are created only when provision_fit_analysis=true. This is a mutating configuration endpoint, not an event ingest call.

Body parameters

  • table_idrequired

    string

    Research table identifier; caller must have table access.

  • namerequired

    string

    Non-empty display name.

  • signal_type · optional

    string

    Supported normalized signal type; when routed output is supplied, its signal type is authoritative.

  • subject_type · optional

    string

    company, lead, or person_company.

  • identityrequired

    object

    Identity kind, non-empty table column_key, and optional payload path.

  • match · optional

    object

    Optional matching object with mode all|any and a non-empty conditions array. Each condition has a non-empty column_key, optional payload path, operator equals|not_equals|in|exists|not_exists, and value (required except for exists/not_exists).

  • output · optional

    object

    Optional output with canonical signal_type, optional signal_subtype, and attributes object; can be synthesized when match or normalization is supplied.

  • normalization · optional

    object

    Optional {version:1,family:website_event|content_engagement|news,mode:auto|fixed,source?:{column_key,path?}}; family must match a supported output, and fixed mode requires output.signal_subtype.

  • dedupe · optional

    object

    {mode:row_id|column|fingerprint, column_key?, column_keys?, path?}; column requires column_key, fingerprint requires at least one column_keys entry.

  • payload · optional

    object

    {include_all_columns:boolean=true, property_column_keys:string[], property_mappings:[{column_key,path?,property_key?}], additional_properties:[{property_key,value_template}]}.

  • readiness · optional

    object

    {mode:any_resolved|person_resolved|both_resolved}.

  • other_label · optional

    string

    Optional label for a supported other signal.

  • company_identity · optional

    object

    Optional company identity mapping for person_company subjects; same identity shape as identity.

  • person_identity · optional

    object

    Optional person identity mapping for person_company subjects; same identity shape as identity.

  • timestamp_column_key · optional

    string

    Optional table column containing event timestamp.

  • timestamp_path · optional

    string

    Optional payload path containing timestamp.

  • title_template · optional

    string

    Optional event title template.

  • summary_template · optional

    string

    Optional event summary template.

  • source_url_column_key · optional

    string

    Optional table column containing event source URL.

  • source_url_path · optional

    string

    Optional payload path containing source URL.

  • topic_column_key · optional

    string

    Optional table column containing topic.

  • topic_path · optional

    string

    Optional payload path containing topic.

  • funding_round_column_key · optional

    string

    Optional table column containing funding round.

  • funding_round_path · optional

    string

    Optional payload path containing funding round.

  • company_attribute_mappings · optional

    object

    Optional {mappings:{field_key:{column_key,path?,property_key?}}} target-attribute container; the mappings object may also be supplied directly.

  • person_attribute_mappings · optional

    object

    Optional {mappings:{field_key:{column_key,path?,property_key?}}} target-attribute container; the mappings object may also be supplied directly.

  • sample_payload · optional

    any

    Optional representative event payload.

  • fields · optional

    array<object>

    Optional fields with key, label?, data_type?, sample_values?, schema?.

  • provision_fit_analysis · optional

    boolean

    When true, also provision fit-analysis columns for active stream subject types.

Errors

StatusMeaning
401Authentication is missing or invalid.
403The credential is invalid or lacks the required scope, or the caller cannot access the resource.
422The request model or normalization/output combination is invalid.
403The caller cannot access the requested table.
404The table does not exist.
410The table is being deleted.
409Another active definition owns the table’s single active event controller; active-controller claim failed.

Docs