Fractional Teams · Schema
PaidMediaAccount
MarketingProduct ConsultingCxO LeadershipLead GenerationCloud StrategyTechnical PlatformsEvent
Properties
| Name | Type | Description |
|---|---|---|
| platform | string | |
| account_id | integer | Portal id |
| external_account_id | string | The platform's own account id |
| label | string | Connection label and account name, as shown on the portal |
| last_pulled_at | stringnull | Most recent pull across the account's campaigns (null if none) |
| campaigns | array |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/fractionalteams-com/json-schema/fractionalteams-com-paid-media-account-schema.json",
"title": "PaidMediaAccount",
"x-generated": "2026-11-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/_original/fractionalteams-com-api-openapi.json#/components/schemas/PaidMediaAccount",
"type": "object",
"required": [
"platform",
"account_id",
"external_account_id",
"label",
"last_pulled_at",
"campaigns"
],
"properties": {
"platform": {
"type": "string",
"enum": [
"reddit",
"linkedin"
]
},
"account_id": {
"type": "integer",
"description": "Portal id"
},
"external_account_id": {
"type": "string",
"description": "The platform's own account id"
},
"label": {
"type": "string",
"description": "Connection label and account name, as shown on the portal"
},
"last_pulled_at": {
"type": [
"string",
"null"
],
"description": "Most recent pull across the account's campaigns (null if none)"
},
"campaigns": {
"type": "array",
"items": {
"$ref": "#/$defs/PaidMediaCampaign"
}
}
},
"$defs": {
"PaidMediaCampaign": {
"type": "object",
"required": [
"campaign_id",
"external_campaign_id",
"name",
"latest"
],
"properties": {
"campaign_id": {
"type": "integer",
"description": "Portal id, the handle for getPaidMediaCampaignHistory"
},
"external_campaign_id": {
"type": "string",
"description": "The platform's own campaign id"
},
"name": {
"type": "string"
},
"objective": {
"type": [
"string",
"null"
]
},
"status": {
"type": [
"string",
"null"
],
"description": "The platform's status word as pulled, e.g. ACTIVE, PAUSED, COMPLETED"
},
"last_seen_at": {
"type": "string",
"description": "Last pull in which the platform still listed this campaign"
},
"latest": {
"description": "The most recent pull, or null if no pull has written metrics for this campaign",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/PaidMediaMetrics"
}
]
}
}
},
"PaidMediaMetrics": {
"type": "object",
"description": "One pull: delivery over the 30-day window ending at window_end, recorded at pulled_at.",
"required": [
"window_start",
"window_end",
"impressions",
"clicks",
"spend_minor_units",
"spend",
"currency",
"pulled_at"
],
"properties": {
"window_start": {
"type": "string",
"format": "date"
},
"window_end": {
"type": "string",
"format": "date"
},
"impressions": {
"type": "integer"
},
"clicks": {
"type": "integer"
},
"spend_minor_units": {
"type": "integer",
"description": "Spend in the currency's minor units (pence, cents, grosze)"
},
"spend": {
"type": "number",
"description": "The same spend in major units (spend_minor_units ÷ 100)"
},
"currency": {
"type": "string",
"description": "ISO 4217 code, e.g. GBP"
},
"pulled_at": {
"type": "string",
"description": "When the pull ran (UTC)"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/fractionalteams-com-paid-media-account"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.