Skip to main content
This page covers the data format conventions used across all Everflow API endpoints.

Base URL

All API requests are made over HTTPS to:
https://api.eflow.team/v1/
The path prefix determines which portal you are accessing:
PortalPrefixExample
Network/v1/networks/https://api.eflow.team/v1/networks/offers
Affiliate/v1/affiliates/https://api.eflow.team/v1/affiliates/offers
Advertiser/v1/advertisers/https://api.eflow.team/v1/advertisers/offers
Marketplace/v1/partners/https://api.eflow.team/v1/partners/connections

Content type

All request and response bodies use JSON (application/json). When sending data via POST, PUT, or PATCH, set the request body as JSON. Export and streaming endpoints may return CSV data when format: "csv" is specified in the request.

Versioning

The API is currently on v1. The version is included in the URL path (/v1/). Breaking changes are communicated in advance — existing integrations on v1 will continue to work.

Date and time formats

The API uses two date/time conventions depending on context:

Request parameters

Date filters in request bodies use the YYYY-MM-DD string format:
{
  "from": "2024-01-01",
  "to": "2024-01-31"
}
Some reporting endpoints accept datetime strings in YYYY-MM-DD HH:MM:SS format for more precise filtering.

Response timestamps

All timestamps in response bodies are Unix epoch integers (seconds since January 1, 1970):
{
  "time_created": 1709500000,
  "time_saved": 1709510000
}
Common timestamp fields include time_created, time_saved, and time_updated.

IDs

All resource IDs are integers:
{
  "network_offer_id": 12345,
  "network_advertiser_id": 789,
  "network_affiliate_id": 456
}
The one exception is currency identifiers, which use ISO 4217 strings:
{
  "currency_id": "USD",
  "default_currency_id": "EUR"
}

Monetary values

All monetary values are represented as decimals in full currency units — not cents:
{
  "payout": 25.00,
  "revenue": 100.00,
  "sale_amount": 149.99
}
25.00 means 25.00,not25.00, not 0.25.

Booleans

Booleans use standard JSON true / false:
{
  "is_default": true,
  "allow_duplicate_conversion": false
}

Enums

Enum values are lowercase strings with underscores:
{
  "offer_status": "active",
  "visibility": "require_approval",
  "account_status": "pending"
}
Common enum values by field:
FieldPossible values
offer_statusactive, paused, pending, deleted
account_statusactive, inactive, pending, suspended
visibilitypublic, require_approval, private

Null handling

The API follows proto3 conventions. Fields that have no value are set to their default zero value rather than null:
TypeDefault value
Integer0
String"" (empty string)
Booleanfalse
Array[] (empty array)
Fields may also be omitted entirely from the response when they carry the default value.

Response structure

Single resource

A single resource is returned directly as a JSON object:
{
  "network_offer_id": 1,
  "name": "Example Offer",
  "offer_status": "active"
}

Single resource with relationships

When you request related data using the relationship query parameter, the response includes a nested relationship object:
{
  "network_offer_id": 1,
  "name": "Example Offer",
  "relationship": {
    "payout_revenue": {
      "total": 1,
      "payout_revenue_entities": [...]
    }
  }
}
See Relationships for details.

List / search responses

Listing endpoints return an array of items alongside a paging object:
{
  "offers": [
    { "network_offer_id": 1, "name": "Offer A" },
    { "network_offer_id": 2, "name": "Offer B" }
  ],
  "paging": {
    "page": 1,
    "page_size": 50,
    "total_count": 128
  }
}
The items key varies by resource type (e.g., offers, affiliates, advertisers). See Paging for pagination details.

Reporting responses

Reporting endpoints return a table array with columns and reporting metrics per row, plus an optional summary:
{
  "table": [
    {
      "columns": [
        {
          "column_type": "offer",
          "id": "1",
          "label": "Example Offer"
        }
      ],
      "reporting": {
        "imp": 0,
        "total_click": 1500,
        "unique_click": 1200,
        "cv": 45,
        "cvr": 3.75,
        "revenue": 4500.00,
        "payout": 1125.00
      }
    }
  ],
  "summary": {
    "imp": 0,
    "total_click": 1500,
    "unique_click": 1200,
    "cv": 45,
    "revenue": 4500.00,
    "payout": 1125.00
  },
  "incomplete_results": false
}
Results are limited to 10,000 rows. If the limit is reached, incomplete_results is set to true.