API Schemas — Floqer | Floqer Docs
AckdbAggregatableFieldInfo
A promoted event field the event-aggregate composer (#413) may reference.numericfields are eligible for sum/avg/min/max; every field is usable for count + where conditions.AckdbCompanyRelationship
One explicit child-to-parent episode between distinct company entities. Multiple parents, multiple children, and cycles are valid.AckdbContactRelationship
One report-contact to manager-contact episode. Both endpoints are affiliations at entityId; matrix reporting is valid.AckdbConversation
A grouped, LLM-summarized conversation thread.AckdbDashboardShare
One grant, identical in shape to a segment share (#284): the grantee is a MEMBER (internal_users).AckdbDefaultSegmentResponse
The default view for a kind. Either an explicitly-marked Segment (source 'explicit', id non-null) or the server-computed catalog fallback (source 'computed', id null). Clients seed a fresh table's columns+sort from this without hard-coding the column policy.AckdbEntity
A company/account entity in ackDB's entity store.AckdbEntityEvent
Immutable company or human activity. Sole-person events have null entityId/contactId and a non-null personId, even when the human has employers.AckdbEntityProfile
Aggregated entity profile - everything known about an entity in a single object. This is the primary response format for AI agent queries (L1 tier).AckdbEntityTrait
A computed trait value for an entity. Uses typed value columns - only one of valueString, valueNumber, valueBool, valueDate is populated based on the trait's type.AckdbEventTypeDefinition
Complete source event contract, including ownership and optional subject mappings. entity is company-only; person extracts an affiliated actor; person_only resolves one independent human without an affiliation.AckdbFieldDescriptor
A catalog field available for filtering/sorting/projection in Observe. Coverage is the count of active companies with a value for this field.groupdistinguishes system attributes, traits, and event types.AckdbFieldLabelOverride
A per-deployment override of an Observe field's DISPLAY label (#191). Presentation only - the key, compiler whitelist, filters, sort, and ingest are untouched.AckdbFileMetadata
File metadata (summary view for list endpoints).AckdbFileMetadataDetail
Full file metadata including extracted text and content chunk link.AckdbIdentityLink
Maps an external ID (Slack channel, Stripe customer, etc.) to an entity. One entity can have many identity links across many sources.AckdbIdentityLinkTypeDefinition
A universal identity link type (#310) — resolves/matches an entity from ANY source, not just the one that declared it (likedomain, but tenant-defined). Match-only by default; an entity-scoped type withcanMint: true(#451) is a secondary anchor that can also CREATE an entity at ingest, for companies that have no domain.domainitself is built-in (builtIn: true) and always mints.AckdbIngestLog
Structured log for a single ingest HTTP request.AckdbRawPayloadRecord
A raw source payload stored in Postgres. Used for L3 evidence tier - deep evidence, citations, and debugging.AckdbRecordDeletionHeader
One archive entry: what was deleted, by whom, why, and whether its identifiers are still frozen.AckdbSegment
A saved Observe Segment - config only (no data snapshot). Owned + per-user shared (#284); soft-deleted via deleted_at.AckdbSegmentFolder
A folder in ONE user's segment rail (#470). Folders are a personal filing layer: they are created, read, and written only by their owner, they are flat (a folder never contains another folder), and they span grains — one folder can hold company, contact and person segments, which is what keeps a derived segment filed next to the base it was pivoted from.AckdbSegmentFolderItem
One segment's placement inside a folder.AckdbSegmentShare
One per-member grant on a segment (#284): a member from the GTM roster (memberId) + the role they hold. name/email are joined from the member row for display.AckdbSegmentSummary
Lightweight Segment list-item (no filter/sort/columns).AckdbSourceDefinition
Defines the expected shape of data arriving from a source type. Global defaults ship with ackDB.AckdbTraitDefinition
Trait definition. Like Salesforce custom fields - defines what computed fields exist. AI agents discover fields by listing these at runtime.AckdbUnresolvedContent
Data that arrived via ingest but couldn't be linked to an entity. Stored separately, queryable, and resolvable via POST /entities/resolve.ActionGraphNode
One node in the workflow's action graph.data[0]is always the synthetic input node (action_id: "input"); subsequent elements are actions in topological execution order.ActionInstance
An action instance in a workflow sheet's chain. Returned from Add Action and Get Action; contains enough information to subsequently call Configure Action (to wire inputs) or to wire downstream actions to this one (viaoutputs[].reference).ActionNote
A note attached to an action instance.ActionOutput
A single output field produced by an action instance when it runs.referenceis the variable token downstream actions use to pull this value. Outputs of typestructured_array(a list of structured rows) additionally surface their per-column schema undercolumns, each with its own reference token for addressing individual columns. Newhttp_api_callactions expose exactly two object outputs:response(the complete target body) andmetadata({status: number, isJson: boolean, durationMs: number, sizeBytes: number}). A target 4xx/5xx remains a completed action result: its body is saved inresponseand its status inmetadata; only transport, timeout, the 25 MB response-size limit, or Floqer processing failures fail the cell. Metadata is separate from the body; durationMs measures request/body-read time in milliseconds and sizeBytes is the UTF-8 body length. Reference nested body values with a path such as{{http_api_call_1.response.data.email}}; materializing one as a column is a separate downstreamformulaaction. Rootless legacy HTTP actions may retain configured projection outputs and are not automatically migrated.AddRowsData
Outcome of an Add Rows batch.DeleteAllRowsData
Outcome of a Delete All Rows call.DeleteRowsData
Outcome of a Delete Rows batch.EnvironmentVariable
An organization environment variable. Reference it from an action field with thereferencetoken; the value is substituted per row when the workflow runs. Values are never returned by the API.GetOptionsData
Response data for Get Action Field Options.GetSourceDataResponse
Paginated rows imported into the source.total_countis the full row count in storage;rowsis the current page.GetSourceOptionsData
Response data for Get Source Field Options.ImportCsvData
Acknowledgement that the import was accepted and queued. Poll Get CSV Import Status for the outcome.ImportCsvStatusData
Progress of the sheet's most recent CSV import.Input
A single configured input field on a workflow sheet. Each input becomes a column in the sheet's data table and gets areferencetoken that downstream actions can use to pull the value.ListRowsData
Paginated list of rows with their inputs and per-cell status.PatchSourceStatusResponse
Confirmation of the source's new public lifecycle status.RunRowsData
Outcome of a Run Rows call.Sheet
A sheet in a workflow. Passsheet_idas the{sheet_id}path parameter on every sheet-scoped endpoint.SheetDeleted
Confirmation envelope for a deleted child sheet.SheetRenamed
Confirmation envelope for a renamed child sheet.Shortcut
A shortcut wraps a workflow with typed input/output schemas, providing a simplified interface for running workflows programmatically. Shortcuts can be shared across an organization.ShortcutRun
Record of a single shortcut execution. Tracks input data, output results, and execution status from creation to completion.SourceCreateResponse
Create result envelope.source_instance_idis the new source's UUID — pass it to Sync / Get Source Data / Pause-Resume.SourceListItem
A source the caller has created. Only sources whose type this API supports are listed.SourcePreviewResponse
Preview result envelope.datais capped per source (at most 100 rows — e.g. find_job_postings returns up to 25, Slack up to 10).metadata.total_resultsis the upstream count. Per-row keys depend on the source.SyncSourceResponse
Confirmation that the source is connected to the workflow.User
Caller bootstrap payload. Identity and org membership are always present. Use List Workflows for accessible workflow metadata.UserKnowledge
The caller's organization knowledge file: a free-form text/markdown blob describing the org.existsisfalseandcontentisnullwhen none has been written yet.Workflow
A workflow summary. Timestamps are ISO 8601 UTC;last_run_atisnulluntil the first run.WorkflowDeleted
Confirmation envelope for a deleted workflow.WorkflowDuplicated
Identity of the newly-created workflow copy.WorkflowOverview
Operational info for a workflow: metadata (same fields as List Workflows), sheet roster with settings and webhook URLs, and shared users.WorkflowRenamed
Confirmation envelope for a renamed workflow. This is the workflow's own name; the main sheet's tab label is stored separately and is set via Rename Sheet.AddActionBody
Body for Add Action.action_idis the template;after(optional) is anaction_instance_id;name(optional) overrides the template's default display name. Everything Configure Action accepts —inputs,run_if,continue_workflow_if_action_fails,note— can be sent here too, so an action can be created and fully configured in one request instead of two. Same shapes, same semantics, samewarnings[].AddRowsBody
Body for Add Rows. Accepts up to 1,000 rows per call.ConfigureActionBody
Body for Configure Action. Send only the fields you want to set — unset fields keep their current value.CreateSheetBody
Body for Create Sheet. Onlynameis required.CreateWorkflowBody
Body for Create Workflow. Onlynameis required.DeleteRowsBody
Body for Delete Rows. Accepts up to 200 row UUIDs per call.DuplicateWorkflowBody
Body for Duplicate Workflow.namebecomes the copied workflow's name.GetOptionsBody
Body for Get Action Field Options.contextcarries any earlier cascading selections (e.g.{ salesforce_object: "Account" }for Salesforce field lookups). Resolvers without cascades accept an empty body.GetSourceOptionsBody
Body for Get Source Field Options.contextcarries any earlier cascading selections (e.g.{ object_type: "contacts" }for HubSpot property lookups). Resolvers without cascades accept an empty body.ImportCsvBody
Body for Import CSV. The file must already be uploaded to Floqer; pass its object key.ListRowsBody
Body for List Rows. All fields optional. Filtering (browse mode only —filters/status_filters/created_atcannot combine withrow_ids; the server returns 400 if you mix them):filters[]— value filters on sheet input columns. Each entry:{ variable, operator, values }.variableis an{{input.<column>}}reference token.status_filters[]— per-action cell-status filters. Each entry:{ action_instance_id, is?, is_not? }(exactly one ofis/is_not).created_at— single time filter on the row's creation timestamp.{ operator, values }.
MoveActionBody
Body for Move Action. The moved action is placed immediately after the action identified byafter.PatchSourceStatusBody
Lifecycle control for the source.RenameActionBody
Body for Rename Action. Sets the action instance's display name.RenameSheetBody
Body for Rename Sheet.nameis the only field.RenameWorkflowBody
Body for Rename Workflow.nameis the only field.ReorderWaterfallBody
Body for Reorder Waterfall Providers. Lists every currently configured provider by display name, exactly once, in the desired execution order.RunRowsBody
Body for Run Rows. Pass eitherrow_ids(explicit list) orfirst_10: true(shortcut). Both-or-neither returns 400.SaveNoteBody
Body for Save Action Note. Overwrites any existing note on the action.SourceCreateBody
Per-source create body. Shape depends onsource_id— see the provider README undermodules/sources/(and optionally/docs/source-detail/{source_id}.txt). Validated at the handler level; the schema only enforces that the body is a JSON object.SourcePreviewBody
Per-source preview body. Shape depends onsource_id— see the provider README undermodules/sources/(and optionally/docs/source-detail/{source_id}.txt). Validated at the handler level; the schema only enforces that the body is a JSON object.One key is source-agnostic:
limit(optional, positive integer) caps how many rows come back. It is consumed by the preview endpoint and never reaches the source, so it works on every source type and does not reduce upstream fetching or changemetadata.total_results.SyncSourceBody
Body for Sync Source to Workflow. Maps workflow inputs to source fields and (by default) backfills existing rows.UserKnowledgeBody
Body for Set Org Knowledge.contentreplaces the entire knowledge file.AckdbAddContactIdentityLinkRequest
Request body for POST /contacts/{contactId}/links. Only a REGISTERED universal type is accepted (no source-declared types, no 'domain'); always stamped source:'manual'.AckdbAddIdentityLinkRequest
Request body for POST /entities/{ref}/links.AckdbAgentApiKeyStatus
Per-provider API key status. The raw key is write-only and never returned.AckdbAgentWebSearchStatus
Effective web access for the agent. Trustactive, notenabled: a deployment can have web access turned on while running a provider that cannot honor it, in which case /ask stays offline andinactiveReasonsays why. anthropic enforces maxUses + allow/block lists; openai enforces an allow-list only (no block-list, no cap); kimi/glm cannot search.AckdbAttributeCreateRequest
Create a custom attribute definition.AckdbAttributeDefinition
An attribute definition (standard or custom) — a trait_definitions row shaped for the Attributes API.AckdbAttributePatchRequest
Edit an attribute's metadata (any subset of the fields itseditableFieldslists).keyandtypeare always immutable. A custom attribute takes label/description/allowedValues; a STANDARD one takesallowedValuesalone (#487).scopeis the exclusive contact → person migration (#474) and must be the only field in the request.AckdbAttributePutValuesRequest
Set/clear attribute values on one record.nullclears a value (DELETEs the row). All-or-nothing: every key/value is validated before anything is written.AckdbBulkAssignRequest
Bulk-assign one member to many targets (#252). Supply at least one of entityIds, domains, or contactIds. isPrimary applies to every target.AckdbBulkUnassignRequest
Bulk-unassign one member from many explicit targets (#252). Supply at least one of entityIds, domains, or contactIds.AckdbContactCreateRequest
Explicit contact push.linkedinUrl/emaildouble as the person's durable keys (that is how the human is resolved).isExternalis accepted but IGNORED — ackDB is the sole authority on internal/external classification (deployment config).AckdbContactGraphContact
A contact affiliation projection used as an org-chart node.AckdbContactIdentityLink
Maps an external ID to a contact (#310). One contact can have many links across many sources. Contact writes only accept REGISTERED universal link types (never per-source-declared types) — see POST /schemas/identity-link-types.AckdbContactMappingInput
Maps event content fields to a contact (person) extracted at ingest time. A durable external ID is required; display name, email, title, and other person properties are optional.AckdbContactMoveRequest
Re-parent this edge to the company it really belongs to (a correction — its events move with it).AckdbContactRepointRequest
Re-point this edge to another human (a correction — its events are restamped with the new person).AckdbContactUpdateRequest
Any subset.titleandstatustransitions emit timeline events (see the endpoint description).AckdbDashboardArtifact
Escape-hatch HTML page plus the queries that feed it. Informational: it never defines what a panel means. HTML is capped at 5MB and scanned for credentials at save.AckdbDashboardBreakdownSpec
Group the segment's rows by one field and reduce each group to a number. AdategroupBy is bucketed to the day; a NULL label is a real group ("unset"), never dropped.AckdbDashboardFeedSpec
Recent membership changes for the pinned segment, from the S1 change log.reenteris reported (and filtered) asenter.AckdbDashboardKpiSpec
One number.countis the segment's row count and takes NO field; every other agg requires a numeric catalog FIELD KEY (numeric traits/attributes,sc__score columns,evc__per-event-type counts,emf__promoted event fields). Contact-aggregate (#214) and event-aggregate (#413) columns are inline column specs, not field keys, so they cannot be named here.AckdbDashboardPanel
One panel.segmentIdis REQUIRED for every type exceptsql, which forbids it. The pinned segment must be a BASE segment: a derived segment stores only the filter on top of its base, so a panel compiling it alone would answer for the wrong population (refused at save/preview, fails closed at read).AckdbDashboardSqlCategoryViz
Render SQL rows as horizontal bars or a pie.labelKeynames any declared column;valueKeymust name a number/currency column. topN defaults to all returned rows;othersBucketcombines the remainder.AckdbDashboardSqlLineViz
Render ordered SQL rows as a line chart.xKeynames a declared date/string/number column;yKeynames a declared number/currency column. Row order is the query order.AckdbDashboardSqlSpec
Escape hatch. A single read-only SELECT on theackdb_readonlyrole (BEGIN READ ONLY + statement timeout + row/byte caps + extended wire protocol). Segment-less by design; never cached. No bind params in this build.AckdbDashboardSqlViz
A validated visualization mapping for a SQL panel. Omitvizto retain the declared-columns table.AckdbDashboardTableSpec
The segment results rails with a columns/sort override (the pivot override contract). Omitted columns/sort inherit the segment's own; rows come back identical to GET /observe/segments/{id}/results.AckdbDashboardTimeseriesSpec
One dense point per bucket.bucketxwindowDaysmust yield at most 366 points (so adaybucket caps at 366 days), rejected at save/preview otherwise.AckdbDashboardUpdateRequest
A PATCH: an omitted key is left alone, an explicitnullCLEARS description / artifact / layout.AckdbDefaultTraitSpec
A trait that ships with a source definition as a default.AckdbDeleteEventsRequest
Request body for DELETE /data/events. IDs-only by design (no filter selectors) to keep the blast radius minimal - look up ids via the read API first.AckdbDeleteEventsResponse
Response from DELETE /data/events. A committed delete returnsdeleted(per-table counts); a dry-run returnsresolved+wouldDeletewith the identical report.retainedsays what was deliberately left standing;pendingRebuildreports, per entity+source pair, the derived content removed now and the surviving payloads queued for re-embedding.AckdbEntityLogoUpload
A base64-encoded company logo image.AckdbErrorResponse
Standard error response envelope.AckdbEventTypeFieldInput
One field within an event type's content schema.requiredWhenmakes an otherwise-optional field conditionally required based on the value of a sibling field.AckdbEventTypeInput
Event type definition payload for declaring/editing an event type. The same shape is accepted inSourceCreateRequest.events[],POST .../events, andPUT .../events/{eventType}.AckdbIdentityLinkTypeCreateRequest
Request body for POST /schemas/identity-link-types.AckdbIdentityLinkTypeUpdateRequest
Request body for PATCH /schemas/identity-link-types/{typeKey}. Provide at least one field.AckdbIngestContact
One person to create or update at the resolved entity, pushed via IngestRequest.contacts. Resolution is person-first: durable keys (LinkedIn, then email, then person-scoped ids) find the human globally, then the affiliation edge at this company is found or created.AckdbIngestFile
A file to upload during ingest. Content is base64-encoded. Max 10MB.AckdbIngestIdentityLink
Identity link in an ingest request - maps an external ID to the data.AckdbIngestRequest
Request body for data ingestion from workflow tools. Content is validated against the source's content_schema, traits against trait_definitions. Ownership comes from the event type: entity is company-only, person is a person at a company, person_only is the human alone. Personal requests omit company links (or send empty arrays), forbid non-null entityId/contactId and nonempty contacts/traits/files, and resolve a durable person key or explicit personId. Personal structured/activity events create no affiliations.AckdbIngestResponse
Response from a successful ingest operation.AckdbIngestTrait
A pre-computed trait value in an ingest request.AckdbInternalUser
A known internal team member for contact classification.AckdbKpiData
One number. An empty segment and a NULL aggregate both read null ("nothing to average", not 0).AckdbMember
A member of the tenant's internal GTM team (the full internal_users row).AckdbMemberAssignRequest
Assign or reassign a member to a company or contact. Identify the member by memberId OR email.AckdbMemberAssignment
The ownership link between a member and an owned company (entityId) or contact (contactId) — exactly one target is set. isPrimary marks the owner/DRI.AckdbMemberCreateRequest
Create a member. Supply at least one of email, name, or sourceIds.AckdbMemberUpdateRequest
Patch a member. Only provided fields change; nullable fields accept null to clear.AckdbMergeCandidate
One first-writer-wins key conflict: a write tried to attach a key that another person already owns. It is recorded, never acted on — merging is always a human decision. A repeat of the same tuple bumpsupdatedAt; a dismissed candidate stays dismissed.AckdbMergeDuplicatePersonsRequest
Batch-consume the open merge candidates. Dry-run unlessdryRun: falseis sent explicitly.AckdbMergeRequest
Request to merge two duplicate entities. Winner keeps its entity_id.AckdbMergeResponse
Response from a successful merge operation. All data is transferred - nothing is lost.AckdbObserveAttributeCondition
A condition on a fixed entity attribute (name, domain, status, timestamps, event counts, sources, last activity, or source presence).AckdbObserveEventCondition
A condition on the entity's event timeline.eventTypeis source-prefixed and whitelisted against the catalog.withinDaysbounds the lookback;countis used by count_gte/count_lte.AckdbObserveEventFieldCondition
A condition on a promoted event-metadata field's reduced scalar value (#212).columnKeyis the synthetic field-catalog key (emf__<source>__<field>for the latest value, or…__sumfor a numeric running total) and is whitelisted against the catalog; the operator must be legal for the field's valueType (same legality as a trait of that type).AckdbObserveFieldEditResponse
Result of a direct field-value edit (#238).updatedlists the field keys that were written;errorsmaps each field that was NOT written to a reason - an unknown field, a type/allowedValues violation, or a non-editable field (a computed/derived column, an append-only event/event-field column, or the internalstatuslifecycle enum).AckdbObserveFilter
Recursive Observe filter DSL. A node is either a booleangroup(withopand achildrenarray of further nodes) or a leaf condition (trait,attribute,event, orevent_field). The root node is always a group. Empty groups compile to TRUE (match all).AckdbObserveFilterGroup
A boolean group combining child nodes with AND/OR.AckdbObserveQueryRequest
Body for POST /observe/companies/query (and the /observe/contacts/query, /observe/persons/query twins). All fields optional - an empty body returns the default page of all active rows. The envelope is validated: an unknown top-level key, or agroupnode carrying an unknown key / a non-arraychildren, is a 400 rather than a silently unfiltered query.AckdbObserveQueryResponse
Response for the Observe company query.datarows always carry entityId, name, and domain plus the projected columns.pagination.totalIsLowerBoundmay be set when the count was clamped.AckdbObserveTraitCondition
A condition on a registered entity trait.traitKeyis whitelisted against the field catalog; the operator must be legal for the trait's valueType.AckdbPaginationMeta
Pagination metadata included in paginated responses.AckdbPanelEnvelope
A panel's whole answer, always HTTP 200 for a data-shaped outcome. EXACTLY one arm:data(it ran),degraded(a scrub path disarmed it, or its segment is gone: no data, no 400), orerror(timeout, read-only guard rejection, stale field - isolated to this panel).AckdbPerson
One human. The true identity is the ULID; durable keys are pointers into it (exactly asdomain→ entityId).statusis the IDENTITY lifecycle only — a person with three ended jobs is stillactive; employment state lives on each contact edge.AckdbPersonAffiliation
One STINT: a contact edge (person @ company) plus its company name.status: former+endedAtis a finished stint; a boomerang employee has several stints at the same company.AckdbPersonCreateRequest
Manual person create. All fields are optional — a person with no keys is a legal singleton.AckdbPersonIdentityLink
A durable person key. Values are stored NORMALIZED and are globally UNIQUE per (externalIdType, externalIdValue) — one human per key, which is the structural dedup guarantee. Keys accrete over a career and are never re-pointed (first-writer-wins).AckdbPersonLinkCreateRequest
Attach one durable key to a person.AckdbPersonListItem
A Person plus the cheap list-view aggregates (no N+1 needed to render a table).AckdbPersonMergeRequest
MergeloserIdinto the path person (or intowinnerOverride, which must be one of the two).AckdbPersonMergeResult
Outcome of a person merge.merged: false= both ids already resolved to the same human (a no-op).AckdbPersonProfile
The person grain's L1 read: who they are, how we know them, where they work(ed), what just happened.AckdbPersonUpdateRequest
Person-grain fact update (#372, #544). At least one field must be provided.AckdbPurgeResponse
Response from a purge operation. Includes per-table counts of deleted records so callers can verify the expected data was removed.AckdbRecordDeletionCounts
Per-table row counts a delete removed. Every field is always present (0 when untouched).AckdbResolveRequest
Request to resolve unresolved content to an entity.AckdbResolveResponse
Response from a successful resolve operation.AckdbScoreCapabilities
What this server's score validator accepts (#438): the contract a builder renders from instead of probing for support by saving throwaway definitions. Static, since it mirrors the validator's own constants, so it needs no DB round trip.AckdbScoreCriterion
One scoring rule: a field reference + exactly one scoring mode. Field refs —trait:<key>/attribute:<key>(company grain; person grain:attribute:is_internal|affiliation_count|key_count),identity_link:<type>,event:<source>.<bareType>(aggregate),contacts(company grain persona count),company:trait:<key>(person grain, best match over ANY active affiliation),convergence(both grains: the count of DISTINCTsourceswith activity — or of DISTINCT firedsignalsevent refs — insidewindowDays, scored viabands; exactly one of sources | signals).AckdbScoreDefinitionInput
Create/replace body for a score definition.AckdbScoreExplain
Per-criterion score breakdown — identical math to the compiled sc__ column.AckdbScoreHistory
A subject's score series from the sweep's change-onlyscore.changedevents.changes: one point per emission (date = full ISO timestamp).locf: one point per UTC day (date = YYYY-MM-DD), last observation carried forward, seeded from before the range; days before the first-ever observation are omitted (never fabricated as zero).AckdbScorePreview
The builder histogram: 20 five-point buckets over the 0–100 score axis.AckdbSegmentChange
One change-log row: a member's transition for a segment.AckdbSegmentColumn
One projected column: a field key, optionally frozen to the left edge, optionally a persisted pixel width. Width is per-segment layout (presentation only) - the compiler ignores it.AckdbSegmentSort
One sort directive: a field key and a direction.AckdbSetContactIdentityLinkValuesRequest
Request body for PUT /contacts/{contactId}/links/{type}. Declarative: this becomes the complete value set for the type; [] clears it. Adding requires a registered universal type; removing never does.AckdbSetIdentityLinkValuesRequest
Request body for PUT /entities/{ref}/links/{type}. Declarative: this becomes the complete value set for the type; [] clears it.AckdbSourceCreateDefaultTrait
A default trait to register when declaring a source. The key MUST be<sourceType>_*.AckdbSourceCreateRequest
Declare a custom source with eventTypeField. identityLinkTypes may be empty for a closed source containing only person_only types; otherwise include domain.AckdbSourceUpdateRequest
Partial source edit. Every field is optional; provided fields replace the existing ones. Allowed on custom sources and shipped packs (an edit marks the rowuser_modified).AckdbTableData
Rows verbatim from the grain's row compiler - byte-identical to GET /observe/segments/{id}/results.AckdbTimeseriesData
Dense: one point per bucket,tis the bucket START (ISO-8601), ascending. Event and membership values are zero-filled numbers; a score month with no scored member is null.AckdbTombstoneIdentifiers
The frozen(type, value)pairs, stored exactly as the resolvers store them (domains as ingested, emails lowercased, LinkedIn canonical) — the guard compares with plain equality.AckdbTraitValueType
Type system for trait validation and storage. Controls how trait values are validated on ingest and stored in the entity_traits table.AckdbTransferBookRequest
Transfer a member's book (companies + contacts) to another member (#252). Destination by toMemberId OR toEmail. all:true moves the whole book; otherwise list entityIds/contactIds.ActionInput
A single input field on an action instance. The caller wires this field up via the Configure Action endpoint.ConfigureActionWarning
A non-fatal issue detected while applying a Configure Action request.DeletedRowRejection
A row UUID the server couldn't delete, with a human-readable reason.InputCreate
An input field to add to a workflow sheet.referenceis server-computed fromnameand is never accepted on the request.InputField
Definition of a single input field in a shortcut's input schema. Each field maps to a column in the underlying workflow's input action.OptionItem
One value the resolver returned.valueis what to send back via Configure Action;labelis the human-readable text.extrascarries integration-specific metadata when present (Salesforce field metadata, HubSpot property type, etc.).OutputConfig
Definition of a single output field in a shortcut's output schema. Each field maps to a column produced by the workflow's OUTPUT_CUSTOM_ENRICHMENT action.RejectedRow
A row the server couldn't accept. Original content is echoed back so the caller can fix and resend without position tracking.RowCell
One cell of a row (a single action × a single row). Branch onstatusto decide which ofoutputs/outputs_ref/errorto read.RowView
A row on a sheet with its inputs and per-cell action status/outputs.RowWarning
A non-fatal issue detected while processing a rows batch.SourceOptionItem
One value the resolver returned.valueis what to send back in the source's create / preview payload;labelis the human-readable text.extrascarries integration-specific metadata when present (HubSpot property type, list color, etc.).SuccessMessage
Simple success response with a confirmation message.UserOrgMembers
Members of the caller's organization. Emails are Floqer usernames.WorkflowOverviewSheet
A sheet's operational settings within the parent workflow returned by Get Workflow Overview.sheet_idis the UUID to pass on sheet-scoped endpoints.