All URIs are relative to https://up.go-adserver.com
| Method | HTTP request | Description |
|---|---|---|
| apiV1EventLogExportsGet | GET /api/v1/event-log/exports | Your event log exports, newest first. |
| apiV1EventLogExportsIdDownloadGet | GET /api/v1/event-log/exports/{id}/download | Download a finished export (.csv.gz). |
| apiV1EventLogExportsPost | POST /api/v1/event-log/exports | Queue a CSV export of your events. |
| apiV1EventLogGet | GET /api/v1/event-log | Your raw events — impressions and clicks with IP and user agent (90 days). |
apiV1EventLogExportsGet()
Your event log exports, newest first.
import {
Configuration,
EventLogApi,
} from 'goadserver-sdk';
import type { ApiV1EventLogExportsGetRequest } from 'goadserver-sdk';
async function example() {
console.log("🚀 Testing goadserver-sdk SDK...");
const config = new Configuration({
// Configure HTTP bearer authorization: apiKey
accessToken: "YOUR BEARER TOKEN",
});
const api = new EventLogApi(config);
try {
const data = await api.apiV1EventLogExportsGet();
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);This endpoint does not need any parameter.
void (Empty response body)
- Content-Type: Not defined
- Accept:
application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 403 | The event log is not enabled for this account. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
apiV1EventLogExportsIdDownloadGet(id)
Download a finished export (.csv.gz).
import {
Configuration,
EventLogApi,
} from 'goadserver-sdk';
import type { ApiV1EventLogExportsIdDownloadGetRequest } from 'goadserver-sdk';
async function example() {
console.log("🚀 Testing goadserver-sdk SDK...");
const config = new Configuration({
// Configure HTTP bearer authorization: apiKey
accessToken: "YOUR BEARER TOKEN",
});
const api = new EventLogApi(config);
const body = {
// number
id: 56,
} satisfies ApiV1EventLogExportsIdDownloadGetRequest;
try {
const data = await api.apiV1EventLogExportsIdDownloadGet(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);| Name | Type | Description | Notes |
|---|---|---|---|
| id | number |
[Defaults to undefined] |
void (Empty response body)
- Content-Type: Not defined
- Accept:
application/gzip
| Status code | Description | Response headers |
|---|---|---|
| 200 | The gzip-compressed CSV. | - |
| 404 | Not your export. | - |
| 409 | Not finished yet (queued, running, failed). | - |
| 410 | Expired — files are kept 7 days. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
apiV1EventLogExportsPost(apiV1EventLogExportsPostRequest)
Queue a CSV export of your events.
Queues a CSV export; it is built in the background, one export at a time, and the 202 answer is the export row (`status: queued`). Follow it on the exports list; the file is a gzip-compressed CSV with the same columns as the preview, at most 31 days and 20,000,000 rows (`truncated: true` when the cap was hit), kept 7 days. At most 3 exports may wait per requester (429 `too_many_exports`). You are notified (in-app / email, per your notification settings) when it is ready.
import {
Configuration,
EventLogApi,
} from 'goadserver-sdk';
import type { ApiV1EventLogExportsPostOperationRequest } from 'goadserver-sdk';
async function example() {
console.log("🚀 Testing goadserver-sdk SDK...");
const config = new Configuration({
// Configure HTTP bearer authorization: apiKey
accessToken: "YOUR BEARER TOKEN",
});
const api = new EventLogApi(config);
const body = {
// ApiV1EventLogExportsPostRequest
apiV1EventLogExportsPostRequest: {"date_from":"2026-10-22","date_to":"2026-10-28","ad_id":3891355,"event":"click"},
} satisfies ApiV1EventLogExportsPostOperationRequest;
try {
const data = await api.apiV1EventLogExportsPost(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);| Name | Type | Description | Notes |
|---|---|---|---|
| apiV1EventLogExportsPostRequest | ApiV1EventLogExportsPostRequest |
void (Empty response body)
- Content-Type:
application/json - Accept:
application/json
| Status code | Description | Response headers |
|---|---|---|
| 202 | Queued | - |
| 403 | The event log is not enabled for this account. | - |
| 422 | Invalid filter. | - |
| 429 | Three exports already waiting. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
apiV1EventLogGet(dateFrom, dateTo, side, campaignId, adId, siteId, zoneId, event, country, ip, page, perPage)
Your raw events — impressions and clicks with IP and user agent (90 days).
Only for accounts the network enabled the event log for (user right `raw_event_log`, off by default; 403 otherwise). Not available on ad networks, where the event log is for the network's administrators only (403). Every event where you are the advertiser or the publisher, kept 90 days from the day the right was switched on: `time` (network timezone), `time_utc`, `event`, the campaign / ad / publisher / site / zone ids, `ip`, `user_agent`, `country` and device / os / browser / isp ids. No money columns. Newest first, 100 rows a page at most; `total` is the full match count. For more than a screenful, queue an export. Same handler as the panel's Event Log page.
import {
Configuration,
EventLogApi,
} from 'goadserver-sdk';
import type { ApiV1EventLogGetRequest } from 'goadserver-sdk';
async function example() {
console.log("🚀 Testing goadserver-sdk SDK...");
const config = new Configuration({
// Configure HTTP bearer authorization: apiKey
accessToken: "YOUR BEARER TOKEN",
});
const api = new EventLogApi(config);
const body = {
// Date | First day (YYYY-MM-DD, network timezone). Default date_to. Events are kept 90 days; older dates are a 422. (optional)
dateFrom: 2013-10-20,
// Date | Last day. Default today. (optional)
dateTo: 2013-10-20,
// 'advertiser' | 'publisher' | Only events where the account is the advertiser, or the publisher. Omit for both. (optional)
side: side_example,
// number (optional)
campaignId: 56,
// number (optional)
adId: 56,
// number (optional)
siteId: 56,
// number (optional)
zoneId: 56,
// 'impression' | 'click' | 'conversion' | 'no_ad' (optional)
event: event_example,
// string | Two-letter country code. (optional)
country: NL,
// string | Exact visitor IP. (optional)
ip: ip_example,
// number (optional)
page: 56,
// number (optional)
perPage: 56,
} satisfies ApiV1EventLogGetRequest;
try {
const data = await api.apiV1EventLogGet(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);| Name | Type | Description | Notes |
|---|---|---|---|
| dateFrom | Date |
First day (YYYY-MM-DD, network timezone). Default date_to. Events are kept 90 days; older dates are a 422. | [Optional] [Defaults to undefined] |
| dateTo | Date |
Last day. Default today. | [Optional] [Defaults to undefined] |
| side | advertiser, publisher |
Only events where the account is the advertiser, or the publisher. Omit for both. | [Optional] [Defaults to undefined] [Enum: advertiser, publisher] |
| campaignId | number |
[Optional] [Defaults to undefined] |
|
| adId | number |
[Optional] [Defaults to undefined] |
|
| siteId | number |
[Optional] [Defaults to undefined] |
|
| zoneId | number |
[Optional] [Defaults to undefined] |
|
| event | impression, click, conversion, no_ad |
[Optional] [Defaults to undefined] [Enum: impression, click, conversion, no_ad] |
|
| country | string |
Two-letter country code. | [Optional] [Defaults to undefined] |
| ip | string |
Exact visitor IP. | [Optional] [Defaults to undefined] |
| page | number |
[Optional] [Defaults to 1] |
|
| perPage | number |
[Optional] [Defaults to 50] |
void (Empty response body)
- Content-Type: Not defined
- Accept:
application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 401 | Missing or invalid API key. | - |
| 403 | The event log is not enabled for this account. | - |
| 422 | Invalid filter (e.g. a date older than 90 days). | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]