ackDB

Find cross-source temporal event sequences

Find ordered event types within windowDays for the same non-null company or person selected by grain. Person grain joins personal and company-associated history for one human; company graph is incompatible. Ownership/personId filters apply to both sides. One earliest sequence per owner.

get/api/v1/ackdb/entities/events/sequence

Request

  • Base URL
    http://localhost:3009
  • Auth
    HTTP bearer

Query parameters

firstEventTypestring required

The event type that happens first (e.g., 'stripe_charge.refunded').

secondEventTypestring required

The event type that happens after (e.g., 'slack_message').

windowDaysinteger

Maximum days between events (default 7).

firstSourcestring

Filter first event by source.

secondSourcestring

Filter second event by source.

sincestring date-time

Only consider first events on or after this date.

untilstring date-time

Only consider second events on or before this date.

limitinteger

Maximum results to return.

offsetinteger

Number of results to skip for pagination.

graphRootstring

Root entity id or domain.

graphScope'parents' | 'children' | 'connected'

Required when graphRoot is supplied.

graphMaxDepthinteger
graphAsOfstring date-time
graphRelationshipTypestring[]
personIdstring

Filter events stamped with this human; merged IDs resolve to their survivor.

ownership'person' | 'company'

person selects sole-person events; company selects company-associated events; omit for both. Filters before pagination/counts. Personal ownership conflicts with entityId/company graph.

grain'company' | 'person'

Join events within one company or human, retaining each event's actual owner IDs.

Response

Event sequences matching the criteria

Example response

{
  "data": [
    {
      "firstEvent": {
        "id": "01HXYZ123456789ABCDEFGH",
        "source": "slack",
        "eventType": "message",
        "summary": "Customer asked about pricing in #acme-corp"
      },
      "secondEvent": {
        "id": "01HXYZ123456789ABCDEFGH",
        "source": "slack",
        "eventType": "message",
        "summary": "Customer asked about pricing in #acme-corp"
      }
    }
  ],
  "pagination": {
    "total": 150,
    "limit": 50,
    "totalIsLowerBound": true
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.