SDK Reference

    @proveanything/smartlinks

    npm install @proveanything/smartlinks
    View on npm →

    Namespaces

    Analytics & Events

    interactions

    Log and analyze interactions/outcomes; aggregates and actor lists; interaction definition CRUD.

    16 functions0 types

    query

    POST /admin/collection/:collectionId/interactions/query Flexible query for interaction events with optional includes.

    admin
    query(collectionId: string,
        body: ) → Promise<[]>

    countsByOutcome

    POST /admin/collection/:collectionId/interactions/counts-by-outcome Returns array of { outcome, count }.

    admin
    countsByOutcome(collectionId: string,
        query:  = {}) → Promise<[]>

    aggregate

    POST /admin/collection/:collectionId/interactions/aggregate Returns grouped numeric aggregates (sum, avg, min, max, count).

    admin
    aggregate(collectionId: string,
        body: ) → Promise<>

    aggregateByOutcome

    Legacy-friendly alias for aggregate().

    admin
    aggregateByOutcome(collectionId: string,
        body: ) → Promise<>

    appendEvent

    POST /admin/collection/:collectionId/interactions/append Appends one interaction event.

    public
    appendEvent(collectionId: string,
        body: AppendInteractionBody) → Promise<

    updateEvent

    POST /admin/collection/:collectionId/interactions/append Appends one interaction event.

    public
    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.

    public
    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.

    public
    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.

    public
    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.

    public
    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.

    public
    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.

    public
    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.

    public
    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.

    public
    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.

    public
    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.

    public
    publicGet(collectionId: string,
        id: string) → Promise<>