Skip to main content
POST /api/v2/buyer/advertisers/{advertiserId}/log-event Sends up to 10,000 outcome or marketing events in a single call, scoped to an event_source_id previously registered via Sync event sources. Apostra checks the request and forwards it to the tracking service. A call that repeats an event_type + event_id pair is rejected. The tracking service, not Apostra, deduplicates resends across calls by event_id + event_type + event_source_id.
Never send raw PII. Use only pre-hashed identifiers (SHA-256, lowercase, 64-char hex) or pre-resolved identity tokens. Apostra rejects a uids value or click_id that looks like a plaintext email or phone number, but it cannot spot every kind of raw PII, so hashing is still your job. See the Conversion API guide for hashing rules.

Request

Parameters

Response

The counts, match_quality, and partial_failures come from the tracking service. A 200 with partial_failures is normal — bad events are rejected individually while the rest succeed. Each failure carries event_id, code, and message. Treat a failure as something to fix at source, not a transient error.

Errors

  • 400 VALIDATION_ERROR — empty events, more than 10,000 events, missing custom_event_name on a custom event, an event_type the source doesn’t accept, or (when the source has declared valueCurrencies) a monetary event with a missing or unlisted currency. Also returned when:
    • a hashed_email or hashed_phone is not a 64-character lowercase hex SHA-256;
    • a uids[].value or click_id looks like a plaintext email, or a phone number written with a leading +, spaces, hyphens, or parentheses (for example uids[0].value looks like a raw email; send hashed_email instead). A bare digit string is accepted as a numeric ID;
    • two events in the call share an event_type and event_id.
    These fail the whole request: nothing is forwarded to the tracking service. Each issue in error.details.issues names the event and field.
  • 404 NOT_FOUND — advertiserId does not exist, or event_source_id is not registered on the advertiser.
See Errors for the full error contract.

Event source tasks

All event source operations

Log Events guide

Event types, identity fields, and best practices

Conversion API

Identity-hashing rules and attribution methods

Sync event sources

Register a source before logging