openapi: 3.0.3
info:
  title: Everflow API - Metadata
  description: >
    Lookup endpoints for targeting and reporting metadata. Use these endpoints
    to retrieve valid IDs and values for countries, regions, cities, browsers,
    platforms, device types, and other dimensions used across the Everflow API.


    These values are referenced by offer targeting, rulesets, reporting filters,
    and other API endpoints that accept dimension IDs.
  version: 1.0.0
servers:
  - url: https://api.eflow.team/v1
tags:
  - name: Geolocation
    description: Country, region, city, DMA, and timezone lookups.
  - name: Device & Browser
    description: Browser, platform, device type, brand, OS version, and connection type lookups.
  - name: Other
    description: Currency, mobile carrier, and browser language lookups.
paths:
  /meta/countries:
    get:
      summary: List Countries
      tags:
        - Geolocation
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  countries:
                    type: array
                    items:
                      type: object
                      properties:
                        country_id:
                          type: integer
                          description: Unique country identifier used in targeting.
                        country_code:
                          type: string
                          description: Two-letter ISO country code.
                        country_name:
                          type: string
                          description: Full country name.
      security:
        - API Key: []
  /meta/regions:
    get:
      summary: List Regions
      tags:
        - Geolocation
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  regions:
                    type: array
                    items:
                      type: object
                      properties:
                        region_id:
                          type: integer
                          description: Unique region identifier.
                        region_code:
                          type: string
                          description: Region code (e.g. "CA", "FL").
                        country_id:
                          type: integer
                          description: Parent country ID.
                        country_code:
                          type: string
                          description: Parent country code.
                        region_name:
                          type: string
                          description: Full region name.
      security:
        - API Key: []
  /meta/cities:
    get:
      summary: List Cities
      tags:
        - Geolocation
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  cities:
                    type: array
                    items:
                      type: object
                      properties:
                        city_id:
                          type: integer
                          description: Unique city identifier.
                        city_name:
                          type: string
                          description: City name.
                        region_id:
                          type: integer
                          description: Parent region ID.
                        region_code:
                          type: string
                          description: Parent region code.
                        country_id:
                          type: integer
                          description: Parent country ID.
                        country_code:
                          type: string
                          description: Parent country code.
      security:
        - API Key: []
  /meta/dmas:
    get:
      summary: List DMAs
      tags:
        - Geolocation
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  dmas:
                    type: array
                    items:
                      type: object
                      properties:
                        dma_code:
                          type: integer
                          description: DMA code identifier.
                        dma_name:
                          type: string
                          description: DMA name (e.g. "New York").
      security:
        - API Key: []
  /meta/timezones:
    get:
      summary: List Timezones
      tags:
        - Geolocation
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  timezones:
                    type: array
                    items:
                      type: object
                      properties:
                        timezone_id:
                          type: integer
                          description: Unique timezone identifier used in API requests.
                        timezone_name:
                          type: string
                          description: Full timezone display name.
                        timezone:
                          type: string
                          description: IANA timezone identifier (e.g. "America/New_York").
                        utc_offset:
                          type: string
                          description: 'UTC offset (e.g. "+05:00", "-04:00").'
      security:
        - API Key: []
  /meta/browsers:
    get:
      summary: List Browsers
      tags:
        - Device & Browser
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  browsers:
                    type: array
                    items:
                      type: object
                      properties:
                        browser_id:
                          type: integer
                          description: Unique browser identifier.
                        name:
                          type: string
                          description: Browser name.
      security:
        - API Key: []
  /meta/browserlanguages:
    get:
      summary: List Browser Languages
      tags:
        - Device & Browser
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  browser_languages:
                    type: array
                    items:
                      type: object
                      properties:
                        browser_language_id:
                          type: integer
                          description: Unique language identifier.
                        language_code:
                          type: string
                          description: Language code (e.g. "en", "fr").
                        language:
                          type: string
                          description: Full language name.
      security:
        - API Key: []
  /meta/platforms:
    get:
      summary: List Platforms
      tags:
        - Device & Browser
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  platforms:
                    type: array
                    items:
                      type: object
                      properties:
                        platform_id:
                          type: integer
                          description: Unique platform identifier.
                        name:
                          type: string
                          description: Platform name (e.g. "iOS", "Android", "Windows").
      security:
        - API Key: []
  /meta/devicetypes:
    get:
      summary: List Device Types
      tags:
        - Device & Browser
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  device_types:
                    type: array
                    items:
                      type: object
                      properties:
                        device_type_id:
                          type: integer
                          description: Unique device type identifier.
                        name:
                          type: string
                          description: Device type name (e.g. "Phone", "Tablet", "PC").
      security:
        - API Key: []
  /meta/brands:
    get:
      summary: List Device Brands
      tags:
        - Device & Browser
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  brands:
                    type: array
                    items:
                      type: object
                      properties:
                        brand_id:
                          type: integer
                          description: Unique brand identifier.
                        name:
                          type: string
                          description: Brand name (e.g. "Apple", "Samsung").
      security:
        - API Key: []
  /meta/osversions:
    get:
      summary: List OS Versions
      tags:
        - Device & Browser
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  os_versions:
                    type: array
                    items:
                      type: object
                      properties:
                        os_version_id:
                          type: integer
                          description: Unique OS version identifier.
                        name:
                          type: string
                          description: Version string (e.g. "14.0", "12.0").
                        platform_id:
                          type: integer
                          description: Parent platform ID.
                        platform_name:
                          type: string
                          description: Parent platform name (e.g. "Android", "iOS").
      security:
        - API Key: []
  /meta/connectiontypes:
    get:
      summary: List Connection Types
      tags:
        - Device & Browser
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  connection_types:
                    type: array
                    items:
                      type: object
                      properties:
                        connection_type_id:
                          type: integer
                          description: Unique connection type identifier.
                        name:
                          type: string
                          description: Connection type name ("wifi" or "mobile").
      security:
        - API Key: []
  /meta/mobilecarriers:
    get:
      summary: List Mobile Carriers
      tags:
        - Other
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  mobile_carriers:
                    type: array
                    items:
                      type: object
                      properties:
                        mobile_carrier_id:
                          type: integer
                          description: Unique carrier identifier.
                        carrier_name:
                          type: string
                          description: Carrier name.
                        carrier_code:
                          type: integer
                          description: Carrier code used in targeting.
                        country_id:
                          type: integer
                          description: Country this carrier belongs to.
      security:
        - API Key: []
  /meta/currencies:
    get:
      summary: List Currencies
      tags:
        - Other
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  currencies:
                    type: array
                    items:
                      type: object
                      properties:
                        currency_id:
                          type: string
                          description: ISO 4217 currency code (e.g. "USD", "EUR").
                        symbol:
                          type: string
                          description: Currency symbol (e.g. "$", "€").
                        name:
                          type: string
                          description: Full currency name.
      security:
        - API Key: []
components:
  securitySchemes:
    API Key:
      description: The Everflow API key generated from the Control Center > Security.
      in: header
      name: X-Eflow-Api-Key
      type: apiKey
