Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/mediamath:mediamath-concepts-api"
All apis
curl "https://apis.io/api/v1/apis?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.
openapi: 3.2.0
info:
title: Mediamath Concepts API
version: 3.0.1807
contact:
url: https://support.infillion.com/
description: 'Operations tagged Concepts across 2 of this provider''s published API definitions: campaigns-api-openapi.yaml, mediamath-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.mediamath.com/api/v3.0
description: Live Server
security:
- Auth0:
- offline_access
- manage:services
tags:
- name: Concepts
description: Concepts
paths:
/concepts:
get:
operationId: list-concepts
summary: List Concepts
description: 'Get a list of concepts. Concepts can be sorted by fields:
- `id`,
- `version`,
- `advertiser_id`,
- `name`,
- `status`,
- `archived`,
- `created_on`,
- `updated_on`,
- `advertiser_name`
and queried by fields:
- `id`,
- `version`,
- `advertiser_id`,
- `name`,
- `status`,
- `archived`,
- `created_on`,
- `updated_on`,
- `advertiser_name`,
- `organization_id`,
- `agency_id`.'
tags:
- Concepts
parameters:
- $ref: '#/components/parameters/page_limit'
- $ref: '#/components/parameters/page_offset'
- $ref: '#/components/parameters/sort_by'
- $ref: '#/components/parameters/q'
- $ref: '#/components/parameters/full'
- in: query
name: media_type
schema:
type: string
example: display,native
required: false
description: "Optional filter by media type. If provided only concepts with at least one atomic creative with requested type will be returned.\nCan be used with one or several types: 'audio', 'display', 'native', 'video'. \nIf filter have several types, they will be applied using OR logic.\n"
responses:
'200':
$ref: '#/components/responses/concepts_collection'
'400':
$ref: '#/components/responses/error'
'401':
$ref: '#/components/responses/error'
'403':
$ref: '#/components/responses/error'
'404':
$ref: '#/components/responses/error'
post:
operationId: create-concept
summary: Create a Concept
description: Create a concept
tags:
- Concepts
responses:
'201':
$ref: '#/components/responses/concept'
'400':
$ref: '#/components/responses/error'
'401':
$ref: '#/components/responses/error'
'403':
$ref: '#/components/responses/error'
'404':
$ref: '#/components/responses/error'
requestBody:
$ref: '#/components/requestBodies/concept_create'
servers:
- url: https://api.mediamath.com/api/v3.0
description: Live Server
/concepts/{concept_id}:
get:
operationId: get-concept
summary: Get a Concept
description: Get a concept by ID
tags:
- Concepts
responses:
'200':
$ref: '#/components/responses/concept'
'400':
$ref: '#/components/responses/error'
'401':
$ref: '#/components/responses/error'
'403':
$ref: '#/components/responses/error'
'404':
$ref: '#/components/responses/error'
parameters:
- schema:
type: integer
name: concept_id
in: path
required: true
description: Numeric ID of the concept to get
post:
operationId: update-concept
summary: Update a Concept
description: Update a concept by ID
tags:
- Concepts
responses:
'200':
$ref: '#/components/responses/concept'
'400':
$ref: '#/components/responses/error'
'401':
$ref: '#/components/responses/error'
'403':
$ref: '#/components/responses/error'
'404':
$ref: '#/components/responses/error'
'409':
$ref: '#/components/responses/error'
requestBody:
$ref: '#/components/requestBodies/concept_update'
parameters:
- schema:
type: integer
name: concept_id
in: path
required: true
description: Numeric ID of the concept to update
servers:
- url: https://api.mediamath.com/api/v3.0
description: Live Server
/concepts/{concept_id}/history:
get:
operationId: concepts-audit-log
summary: Concepts Audit Log
description: Get a list changes to this concept
tags:
- Concepts
parameters:
- $ref: '#/components/parameters/page_limit'
- $ref: '#/components/parameters/page_offset'
- in: path
name: concept_id
schema:
type: integer
required: true
description: Numeric ID of the concept
responses:
'200':
$ref: '#/components/responses/audit_log'
'400':
$ref: '#/components/responses/error'
'401':
$ref: '#/components/responses/error'
'403':
$ref: '#/components/responses/error'
'404':
$ref: '#/components/responses/error'
servers:
- url: https://api.mediamath.com/api/v3.0
description: Live Server
/bulk_update/concepts:
post:
operationId: bulk-update-concepts
summary: Bulk Update Concepts
description: Update multiple concepts
tags:
- Concepts
responses:
'200':
$ref: '#/components/responses/concepts_bulk'
'207':
$ref: '#/components/responses/concepts_bulk'
'400':
$ref: '#/components/responses/error'
'401':
$ref: '#/components/responses/error'
'403':
$ref: '#/components/responses/error'
requestBody:
$ref: '#/components/requestBodies/concepts_bulk'
servers:
- url: https://api.mediamath.com/api/v3.0
description: Live Server
components:
requestBodies:
concept_create:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/concept_create'
- $ref: '#/components/schemas/concept_common'
concept_update:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/concept_update'
- $ref: '#/components/schemas/concept_common'
concepts_bulk:
content:
application/json:
schema:
type: object
properties:
concepts:
type: object
properties:
update:
type: array
items:
allOf:
- type: object
properties:
id:
type: integer
format: int32
example: 32
status:
type: boolean
archived:
type: boolean
schemas:
concept_create:
type: object
properties:
advertiser_id:
type: integer
format: int32
example: 76
required:
- advertiser_id
concept_update:
type: object
properties:
version:
type: integer
format: int32
example: 3
concept_response:
type: object
title: concept_full
allOf:
- type: object
properties:
id:
type: integer
created_on:
type: string
format: date-time
readOnly: true
updated_on:
type: string
format: date-time
readOnly: true
entity_type:
type: string
atomic_creative_list:
type:
- array
- 'null'
example:
- 123
- 124
items:
type: integer
format: int32
media_type_list:
type:
- array
- 'null'
example:
- audio
- display
- native
- video
items:
type: string
enum:
- audio
- display
- native
- video
strategy_list:
type:
- array
- 'null'
example:
- 456
- 457
items:
type: integer
format: int32
advertiser_name:
type: string
- $ref: '#/components/schemas/concept_update'
- $ref: '#/components/schemas/concept_common'
- $ref: '#/components/schemas/concept_create'
concept_common:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
status:
type: boolean
default: true
archived:
type: boolean
default: false
required:
- name
single_metadata:
title: single_metadata
type: object
properties:
status:
type: string
example: success
required:
- status
list_metadata:
title: pagination metadata
type: object
properties:
status:
type: string
example: success
description: The status of the response, indicating success or failure.
count:
type: integer
example: 10
description: The number of items returned in the current response.
total_count:
type: integer
example: 100
description: The total number of items available in the dataset.
offset:
type: integer
example: 0
description: The offset from the start of the dataset, used for pagination.
next_page:
type: string
description: The URL to fetch the next page of results.
prev_page:
type: string
description: The URL to fetch the previous page of results.
required:
- status
- count
error_response:
title: error response
type: object
required:
- errors
- meta
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
field:
description: Optional when it is a schema error
type: string
message:
type: string
meta:
type: object
required:
- status
properties:
status:
type: string
concepts_collection_short:
title: concept
type: object
properties:
id:
type: integer
name:
type: string
entity_type:
type: string
error_response_2:
title: error response
type: object
required:
- errors
- meta
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
sub_code:
description: Optional identifier that refines the generic `code` category (e.g. `html5-noscript-tag`). Present on HTML5 upload/preview validation errors; absent otherwise.
type: string
field:
description: Optional when it is a schema error
type: string
message:
type: string
meta:
type: object
required:
- status
properties:
status:
type: string
parameters:
full:
in: query
name: full
schema:
type: string
example: '*'
required: false
description: 'To return all fields, set the value to `*`. For example, `full=*` will include all properties.
'
page_limit:
in: query
name: page_limit
schema:
type: integer
minimum: 1
maximum: 1000
example: 100
required: false
description: Number of elements in the collection to retrieve
page_offset:
in: query
name: page_offset
schema:
type: integer
minimum: 0
maximum: 1000
example: 0
required: false
description: Index of the first element in the collection to retrieve
sort_by:
in: query
name: sort_by
description: "The field to sort by. You can use any field name in ascending or descending order.\nFor ascending order, use the field name directly, e.g., `id`. \nFor descending order, prefix the field name with a hyphen (`-`), e.g., `-id`.\n"
schema:
type: string
example: id, -id, name, -name
required: false
q:
in: query
name: q
schema:
type: string
required: false
description: "Query search for filtering. This parameter can be used to filter results based on various fields.\nSupported operators:\n- `==` - numeric equality or case-sensitive string identity, \n- `==(1,2,3)` - IN query (only works for integers),\n- `!=` - numeric inequality or case-sensitive string non-identity,\n- `=:` - case-insensitive match, allows substring using * wildcards,\n- `<` - less than,\n- `<=` - less than or equal to,\n- `>` - greater than,\n- `>=` - greater than or equal to.\nExamples: \n- `q=name=:{search}*` to find all results with names starting with {search}.\n- `q=status==true` to find all active entities.\n- `q=id>=1000` to find all entities with id greater than or equal to 1000.\n- `q=id==(1,2,3)` to find specific entities by ID.\n- `q=created_on>1999-02-02` or `q=created_on>1999-02-02T00:00:00Z` to find entities created later than date.\n- `q=id>5&status==true` to find all active entities with id greater than 5.\n"
q_2:
in: query
name: q
schema:
type: string
required: false
description: "Query search for filtering. This parameter can be used to filter results based on various fields.\nSupported operators:\n- `==` - numeric equality or case-sensitive string identity, \n- `==(1,2,3)` - IN query (only works for integers),\n- `!=` - numeric inequality or case-sensitive string non-identity,\n- `=:` - case-insensitive match, allows substring using * wildcards,\n- `!:` - case-insensitive non-match (\"does not contain\"), allows substring using * wildcards; rows where the field is NULL are excluded,\n- `<` - less than,\n- `<=` - less than or equal to,\n- `>` - greater than,\n- `>=` - greater than or equal to.\nExamples: \n- `q=name=:{search}*` to find all results with names starting with {search}.\n- Numeric `q=id=:*123*` searches are treated as exact primary-key matches, equivalent to `q=id==123`; likewise `q=id!:*123*` is equivalent to `q=id!=123`.\n- `q=name!:*promo*` to exclude all results whose name contains \"promo\".\n- `q=status==true` to find all active entities.\n- `q=id>=1000` to find all entities with id greater than or equal to 1000.\n- `q=id==(1,2,3)` to find specific entities by ID.\n- `q=created_on>1999-02-02` or `q=created_on>1999-02-02T00:00:00Z` to find entities created later than date.\n- `q=id>5&status==true` to find all active entities with id greater than 5.\n"
responses:
audit_log:
description: Audit log response
content:
application/json:
schema:
type: object
properties:
data:
type:
- array
- 'null'
items:
type: object
properties:
action:
type: string
date:
type: string
format: date-time
fields:
type: array
items:
type: object
properties:
field_name:
type: string
old_value:
type: string
new_value:
type: string
user_name:
type: string
user_id:
type: integer
collection:
type: string
entity_id:
type: integer
tool_name:
type: string
meta:
$ref: '#/components/schemas/list_metadata'
concept:
description: Concept response
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/concept_response'
meta:
$ref: '#/components/schemas/single_metadata'
concepts_collection:
description: Concepts collection response
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
anyOf:
- $ref: '#/components/schemas/concepts_collection_short'
- $ref: '#/components/schemas/concept_response'
meta:
$ref: '#/components/schemas/list_metadata'
error:
description: Error response
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
concepts_bulk:
description: Concepts bulk response
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/concept_response'
meta:
$ref: '#/components/schemas/list_metadata'
securitySchemes:
Auth0:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://auth.mediamath.com/authorize
scopes:
offline_access: for refresh tokens
manage:services: normal access
tokenUrl: https://auth.mediamath.com/oauth/token
refreshUrl: https://auth.mediamath.com/authorize?scope=offline_access
x-refined-from:
- campaigns-api-openapi.yaml
- mediamath-openapi.json
x-tagGroups:
- name: Hierarchy
tags:
- Advertisers
- Agencies
- Campaign Plans
- Campaigns
- Campaigns Budget Flights
- New Strategy Plans
- Organizations
- Strategies
- Strategy Parameters
- Strategy Templates
- name: Targeting
tags:
- Segment Groups
- Targeting
- Targeting Attachments
- Targeting Segment Objectives
- Targeting Segments
- name: Creatives
tags:
- Atomic Creatives
- Concepts
- Creatives
- Pixel Bundles
- Pixel Providers
- name: Vendors & Contracts
tags:
- Audience Vendors
- Contracts
- Marketplaces
- Vendor Contracts
- Vendors
- name: Users & Access
tags:
- Enterprise Controls
- User Permissions
- Users
- name: Reference Data
tags:
- Ad Servers
- Currency Rates
- General
- Sidekick Usage Logs
- Site Lists
- Supply Sources
- Timezones
- Verticals