SDK Reference
@proveanything/smartlinks
Namespaces
interactions
Log and analyze interactions/outcomes; aggregates and actor lists; interaction definition CRUD.
query
POST /admin/collection/:collectionId/interactions/query Flexible query for interaction events with optional includes.
query(collectionId: string,
body: ) → Promise<[]>countsByOutcome
POST /admin/collection/:collectionId/interactions/counts-by-outcome Returns array of { outcome, count }.
countsByOutcome(collectionId: string,
query: = {}) → Promise<[]>aggregate
POST /admin/collection/:collectionId/interactions/aggregate Returns grouped numeric aggregates (sum, avg, min, max, count).
aggregate(collectionId: string,
body: ) → Promise<>aggregateByOutcome
Legacy-friendly alias for aggregate().
aggregateByOutcome(collectionId: string,
body: ) → Promise<>appendEvent
POST /admin/collection/:collectionId/interactions/append Appends one interaction event.
appendEvent(collectionId: string,
body: AppendInteractionBody) → Promise<updateEvent
POST /admin/collection/:collectionId/interactions/append Appends one interaction event.
updateEvent(collectionId: string,
body: UpdateInteractionBody) → Promise<submitPublicEvent
POST /api/v1/public/collection/:collectionId/interactions/submit Submits an interaction event from a public/client-side context. When the interaction has allowAnonymousSubmit: true, neither userId nor contactId is required. Pass anonId inside metadata to enable device-level deduplication via uniquePerAnonId.
submitPublicEvent(collectionId: string,
body: AppendInteractionBody) → Promise< | >create
POST /api/v1/public/collection/:collectionId/interactions/submit Submits an interaction event from a public/client-side context. When the interaction has allowAnonymousSubmit: true, neither userId nor contactId is required. Pass anonId inside metadata to enable device-level deduplication via uniquePerAnonId.
create(collectionId: string,
body: ) → Promise<>list
POST /api/v1/public/collection/:collectionId/interactions/submit Submits an interaction event from a public/client-side context. When the interaction has allowAnonymousSubmit: true, neither userId nor contactId is required. Pass anonId inside metadata to enable device-level deduplication via uniquePerAnonId.
list(collectionId: string,
query: = {}) → Promise<>get
POST /api/v1/public/collection/:collectionId/interactions/submit Submits an interaction event from a public/client-side context. When the interaction has allowAnonymousSubmit: true, neither userId nor contactId is required. Pass anonId inside metadata to enable device-level deduplication via uniquePerAnonId.
get(collectionId: string,
id: string) → Promise<>update
POST /api/v1/public/collection/:collectionId/interactions/submit Submits an interaction event from a public/client-side context. When the interaction has allowAnonymousSubmit: true, neither userId nor contactId is required. Pass anonId inside metadata to enable device-level deduplication via uniquePerAnonId.
update(collectionId: string,
id: string,
patchBody: ) → Promise<>remove
POST /api/v1/public/collection/:collectionId/interactions/submit Submits an interaction event from a public/client-side context. When the interaction has allowAnonymousSubmit: true, neither userId nor contactId is required. Pass anonId inside metadata to enable device-level deduplication via uniquePerAnonId.
remove(collectionId: string,
id: string) → Promise<void>publicCountsByOutcome
POST /api/v1/public/collection/:collectionId/interactions/submit Submits an interaction event from a public/client-side context. When the interaction has allowAnonymousSubmit: true, neither userId nor contactId is required. Pass anonId inside metadata to enable device-level deduplication via uniquePerAnonId.
publicCountsByOutcome(collectionId: string,
body: ,
authToken?: string) → Promise<[]>publicMyInteractions
POST /api/v1/public/collection/:collectionId/interactions/submit Submits an interaction event from a public/client-side context. When the interaction has allowAnonymousSubmit: true, neither userId nor contactId is required. Pass anonId inside metadata to enable device-level deduplication via uniquePerAnonId.
publicMyInteractions(collectionId: string,
body: ,
authToken?: string) → Promise<[]>publicList
POST /api/v1/public/collection/:collectionId/interactions/submit Submits an interaction event from a public/client-side context. When the interaction has allowAnonymousSubmit: true, neither userId nor contactId is required. Pass anonId inside metadata to enable device-level deduplication via uniquePerAnonId.
publicList(collectionId: string,
query: = {}) → Promise<>publicGet
POST /api/v1/public/collection/:collectionId/interactions/submit Submits an interaction event from a public/client-side context. When the interaction has allowAnonymousSubmit: true, neither userId nor contactId is required. Pass anonId inside metadata to enable device-level deduplication via uniquePerAnonId.
publicGet(collectionId: string,
id: string) → Promise<>