openapi: 3.1.0
info:
title: AppSamurai Campaign Spend API
version: 1.0.0
description: The AppSamurai Campaign Spend API lets customers retrieve their campaign spend data with a single authenticated GET request. Results can be filtered by date range, campaign, application bundle, platform, campaign name, and country. Faithfully modeled by API Evangelist from AppSamurai's published Help Center documentation; not an AppSamurai-published specification.
contact:
name: AppSamurai Support
url: https://help.appsamurai.com/en/
x-apievangelist-source: https://help.appsamurai.com/en/articles/11105087-appsamurai-campaign-spend-api
x-apievangelist-method: generated
servers:
- url: http://api.appsamurai.com
description: Production (documented base host; served over HTTP per docs)
tags:
- name: Campaign Spend
paths:
/api/customer-pull/spent/{api_key}:
get:
operationId: getCampaignSpend
summary: Retrieve campaign spend data
description: Returns campaign spend data for the account identified by the API key supplied in the path. If end_date is omitted the API returns data for the last 30 days. The API key is the unique token provided by your AppSamurai account manager.
tags:
- Campaign Spend
parameters:
- name: api_key
in: path
required: true
description: Unique API key provided by your AppSamurai account manager. Acts as the credential.
schema:
type: string
- name: start_date
in: query
required: false
description: Beginning date of the retrieval period (YYYY-MM-DD).
schema:
type: string
format: date
- name: end_date
in: query
required: false
description: End date of the retrieval period (YYYY-MM-DD). Defaults to the last 30 days when omitted.
schema:
type: string
format: date
- name: campaign_id
in: query
required: false
description: Filter to a specific campaign ID.
schema:
type: string
- name: bundle_id
in: query
required: false
description: Filter results by a specific application bundle ID.
schema:
type: string
- name: platform
in: query
required: false
description: Limit data to a particular platform.
schema:
type: string
enum:
- ios
- play
- name: campaign_name
in: query
required: false
description: Filter data by campaign name.
schema:
type: string
- name: country
in: query
required: false
description: Filter results by country using ISO 3166-1 alpha-2 codes (e.g. US, GB).
schema:
type: string
responses:
'200':
description: Campaign spend data.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignSpend'
'400':
description: Bad Request — invalid date format.
'401':
description: Unauthorized — invalid or missing API key.
'404':
description: Not Found — no matching data.
'500':
description: Internal Server Error.
security:
- PathApiKey: []
components:
schemas:
CampaignSpend:
type: object
description: Per-campaign spend record keyed and filtered by the supplied query parameters.
properties:
campaign_id:
type: string
bundle_id:
type: string
app_title:
type: string
platform:
type: string
cpi_bid:
type: number
status:
type: string
campaign_name:
type: string
event_goals:
type: array
items:
$ref: '#/components/schemas/EventGoal'
campaign_names:
type: object
description: Campaign names indexed by update date.
additionalProperties:
type: string
countries:
type: array
description: Targeted countries (ISO 3166-1 alpha-2).
items:
type: string
daily_spend:
type: object
description: Daily spend as date-to-amount key/value pairs.
additionalProperties:
type: number
EventGoal:
type: object
properties:
event_name:
type: string
cpi_bid:
type: number
event_token:
type: string
securitySchemes:
PathApiKey:
type: apiKey
in: query
name: api_key
description: API key credential. Documented as a path segment (/api/customer-pull/spent/{api_key}); represented here as apiKey because OpenAPI does not model path-embedded API keys directly.