Schemas
Every schema used in the Floqer Public API, grouped by purpose: resources you retrieve, request bodies you send, and supporting types referenced inside them.
Resources
64 schemasTop-level objects returned by the API — the data you query, create, and manipulate.
- AckdbAggregatableFieldInfo
A promoted event field the event-aggregate composer (#413) may reference. `numeric` fields are eligible for sum/avg/min/max; every field is usable for count + where conditions.
- AckdbConversation
A grouped, LLM-summarized conversation thread.
- AckdbDashboard
- AckdbDashboardShare
One grant, identical in shape to a segment share (#284): the grantee is a MEMBER (internal_users).
- AckdbDashboardSummary
- 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
An activity event in an entity's timeline. Events are immutable records of things that happened (messages sent, payments received, etc.).
- 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 definition of one event type within a source. Includes field schemas with descriptions, compute hints, examples, and a complete POST /ingest template. The full event contract also carries `eventScope` (`person` vs `entity`) and, for person-scope events, a `contactMapping`/`contactMappings` describing how a contact is extracted at ingest time - see `EventTypeInput`/`ContactMappingInput` for those declaration-side fields.
- AckdbFieldDescriptor
A catalog field available for filtering/sorting/projection in Observe. Coverage is the count of active companies with a value for this field. `group` distinguishes 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 (like `domain`, but tenant-defined). Match-only by default; an entity-scoped type with `canMint: true` (#451) is a secondary anchor that can also CREATE an entity at ingest, for companies that have no domain. `domain` itself 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 (via `outputs[].reference`).
- ActionNote
A note attached to an action instance.
- ActionOutput
A single output field produced by an action instance when it runs. `reference` is the variable token downstream actions use to pull this value. Outputs of type `structured_array` (a list of structured rows) additionally surface their per-column schema under `columns`, each with its own reference token for addressing individual columns.
- AddRowsData
Outcome of an Add Rows batch.
- Campaign
A campaign runs leads through a published sequence of email and task steps. It sends only when it has a published sequence and `state` is `active`.
- CampaignLead
A lead in a campaign. `email` is the identity and dedup key — re-adding the same address updates it.
- CampaignLeadField
A field in the campaign's lead schema. Use `name` as the key when adding leads; `email` and `name` are fixed fields present on every campaign.
- CampaignMailbox
A connected mailbox in the organization, flagged with whether this campaign sends from it.
- CampaignMetrics
Aggregate campaign performance. Counts are derived on read from the per-step records.
- CampaignNodeCatalogEntry
A step type that can be added to a sequence. Pass `id` as `type` in Add Node.
- CampaignSequenceNode
A step in the sequence. Nodes form a single linear chain from the `start` node via `next_node_id`; `wait` nodes between steps are managed automatically.
- DeleteAllRowsData
Outcome of a Delete All Rows call.
- DeleteRowsData
Outcome of a Delete Rows batch.
- GetOptionsData
Response data for Get Action Field Options.
- GetSourceDataResponse
Paginated rows imported into the source. `total_count` is the full row count in storage; `rows` is the current page.
- GetSourceOptionsData
Response data for Get Source Field Options.
- Input
A single configured input field on a workflow sheet. Each input becomes a column in the sheet's data table and gets a `reference` token 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. Pass `sheet_id` as 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_id` is 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. `data` is capped per source (at most 100 rows — e.g. find_job_postings returns up to 25, Slack up to 10). `metadata.total_results` is 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. `exists` is `false` and `content` is `null` when none has been written yet.
- Workflow
A workflow summary. Timestamps are ISO 8601 UTC; `last_run_at` is `null` until the first run.
- WorkflowDeleted
Confirmation envelope for a deleted workflow.
- 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.
Request bodies
21 schemasShapes you POST or PUT to the API. Each is used by one or more endpoints.
- AddActionBody
Body for Add Action. `action_id` is the template; `after` (optional) is an `action_instance_id`; `name` (optional) overrides the template's default display name.
- 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. Only `name` is required.
- CreateWorkflowBody
Body for Create Workflow. Only `name` is required.
- DeleteRowsBody
Body for Delete Rows. Accepts up to 200 row UUIDs per call.
- GetOptionsBody
Body for Get Action Field Options. `context` carries 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. `context` carries any earlier cascading selections (e.g. `{ object_type: "contacts" }` for HubSpot property lookups). Resolvers without cascades accept an empty body.
- ListRowsBody
Body for List Rows. All fields optional. **Filtering** (browse mode only — `filters` / `status_filters` / `created_at` cannot combine with `row_ids`; the server returns 400 if you mix them): - `filters[]` — value filters on **sheet input columns**. Each entry: `{ variable, operator, values }`. `variable` is an `{{input.<column>}}` reference token. - `status_filters[]` — per-action cell-status filters. Each entry: `{ action_instance_id, is?, is_not? }` (exactly one of `is` / `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 by `after`.
- PatchSourceStatusBody
Lifecycle control for the source.
- RenameActionBody
Body for Rename Action. Sets the action instance's display name.
- RenameSheetBody
Body for Rename Sheet. `name` is the only field.
- RenameWorkflowBody
Body for Rename Workflow. `name` is 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 either `row_ids` (explicit list) or `first_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 on `source_id` — see the provider README under `modules/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 on `source_id` — see the provider README under `modules/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.
- 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. `content` replaces the entire knowledge file.
Supporting types
120 schemasSub-objects referenced inside other schemas. You rarely consume these directly — they describe the building blocks of resources and request bodies.
- 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.
- 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 its `editableFields` lists). `key` and `type` are always immutable. A custom attribute takes label/description/allowedValues; a STANDARD one takes `allowedValues` alone (#487). `scope` is the exclusive contact → person migration (#474) and must be the only field in the request.
- AckdbAttributePutValuesRequest
Set/clear attribute values on one record. `null` clears a value (DELETEs the row). All-or-nothing: every key/value is validated before anything is written.
- AckdbBreakdownData
- AckdbBulkAssignRequest
Bulk-assign one member to many targets (#252). Supply at least one of entityIds, domains, or contactIds. isPrimary applies to every target.
- AckdbBulkRecordDeletionResponse
- AckdbBulkUnassignRequest
Bulk-unassign one member from many explicit targets (#252). Supply at least one of entityIds, domains, or contactIds.
- AckdbContactCreateRequest
Explicit contact push. `linkedinUrl` / `email` double as the person's durable keys (that is how the human is resolved). `isExternal` is accepted but IGNORED — ackDB is the sole authority on internal/external classification (deployment config).
- 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. Used for person-scope events that mention an individual (name, email, title).
- 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. `title` and `status` transitions 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. A `date` groupBy is bucketed to the day; a NULL label is a real group ("unset"), never dropped.
- AckdbDashboardCreateRequest
- AckdbDashboardFeedSpec
Recent membership changes for the pinned segment, from the S1 change log. `reenter` is reported (and filtered) as `enter`.
- AckdbDashboardFreshness
- AckdbDashboardKpiSpec
One number. `count` is 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. `segmentId` is REQUIRED for every type except `sql`, 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).
- AckdbDashboardSqlSpec
Escape hatch. A single read-only SELECT on the `ackdb_readonly` role (BEGIN READ ONLY + statement timeout + row/byte caps + extended wire protocol). Segment-less by design; never cached. No bind params in this build.
- 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. `bucket` x `windowDays` must yield at most 366 points (so a `day` bucket caps at 366 days), rejected at save/preview otherwise.
- AckdbDashboardUpdateRequest
A PATCH: an omitted key is left alone, an explicit `null` CLEARS 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 returns `deleted` (per-table counts); a dry-run returns `resolved` + `wouldDelete` with the identical report. `retained` says what was deliberately left standing; `pendingRebuild` reports, 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. `requiredWhen` makes 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 in `SourceCreateRequest.events[]`, `POST .../events`, and `PUT .../events/{eventType}`.
- AckdbFeedData
- 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.
- 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.
- AckdbMemberIdsResponse
- 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 bumps `updatedAt`; a dismissed candidate stays dismissed.
- AckdbMergeDuplicatePersonsRequest
Batch-consume the open merge candidates. Dry-run unless `dryRun: false` is 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. `eventType` is source-prefixed and whitelisted against the catalog. `withinDays` bounds the lookback; `count` is used by count_gte/count_lte.
- AckdbObserveEventFieldCondition
A condition on a promoted event-metadata field's reduced scalar value (#212). `columnKey` is the synthetic field-catalog key (`emf__<source>__<field>` for the latest value, or `…__sum` for 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). `updated` lists the field keys that were written; `errors` maps 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 internal `status` lifecycle enum).
- AckdbObserveFilter
Recursive Observe filter DSL. A node is either a boolean `group` (with `op` and a `children` array of further nodes) or a leaf condition (`trait`, `attribute`, `event`, or `event_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 a `group` node carrying an unknown key / a non-array `children`, is a 400 rather than a silently unfiltered query.
- AckdbObserveQueryResponse
Response for the Observe company query. `data` rows always carry entityId, name, and domain plus the projected columns. `pagination.totalIsLowerBound` may be set when the count was clamped.
- AckdbObserveTraitCondition
A condition on a registered entity trait. `traitKey` is whitelisted against the field catalog; the operator must be legal for the trait's valueType.
- AckdbPagination
- 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), or `error` (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 as `domain` → entityId). `status` is the IDENTITY lifecycle only — a person with three ended jobs is still `active`; employment state lives on each contact edge.
- AckdbPersonAffiliation
One STINT: a contact edge (person @ company) plus its company name. `status: former` + `endedAt` is 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
Merge `loserId` into the path person (or into `winnerOverride`, 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). 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).
- AckdbRecordDeletionResponse
- 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 DISTINCT `sources` with activity — or of DISTINCT fired `signals` event refs — inside `windowDays`, scored via `bands`; exactly one of sources | signals).
- AckdbScoreDefinition
- 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-only `score.changed` events. `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.
- AckdbSegmentChangesResponse
- 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
Request body for declaring a custom source. `eventTypeField` is required and `identityLinkTypes` must 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 row `user_modified`).
- AckdbSqlData
- AckdbTableData
Rows verbatim from the grain's row compiler - byte-identical to GET /observe/segments/{id}/results.
- AckdbTimeseriesData
Dense: one point per bucket, `t` is 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. `reference` is server-computed from `name` and 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. `value` is what to send back via Configure Action; `label` is the human-readable text. `extras` carries 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 on `status` to decide which of `outputs` / `outputs_ref` / `error` to 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. `value` is what to send back in the source's create / preview payload; `label` is the human-readable text. `extras` carries 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_id` is the UUID to pass on sheet-scoped endpoints.