BYOA

Custom Brain

Custom Brain allows the client to use the BYOA API to upload a set of logistic coefficients corresponding to any of the variables currently in use by the MediaMath Brain. These coefficients will then be used by participating strategies to calculate the predicted response rate for each impression. The bidder will calculate bid price by multipling the predicted response rate by the strategy's goal value. Goal values can be modified using the MediaMath Platform campaign management API.

It is best for you to contact us early in your process by emailing developers@mediamath.com, as it may take about 48 hours before you are granted API access to begin work on your model.

BYOM

Download OpenAPI description
Languages
Servers
Mock server
https://apidocs.mediamath.com/_mock/apis/byoa-api/
https://api.byoa.mediamath.com/

Aggregate

Internal methods to create model from a group of campaigns

Operations

Bid Valuator

Internal - Bid valuator

Campaign Settings

BYOA (Bring Your Own Algorithm) allows advertisers to apply their own bidding algorithms within MediaMath. The participating campaigns and strategies are configured with the BYOA Campaign Settings

Operations

Custom Bid Router

Custom Bid Router further extends the BYOA architecture allowing advertisers to apply their own bidding algorithms in their own ecosystem. The MediaMath system will invoke an external call to the client with the bid request and await a response that MediaMath can use in our internal auction. Forwarded bid requests adhere to OpenRTB v2.4 format and may be enriched with certain information such as segment membership and pixel recency.

Operations

Custom Brain

In Customized Brain, the client uses the BYOA API to upload a set of logistic coefficients corresponding to any of the variables currently in use by the MediaMath Brain. These coefficients will then be used by participating strategies to calculate the predicted response rate for each impression. The bidder will calculate bid price by multiplying the predicted response rate by the strategy's goal value. Goal values can be modified using the T1 campaign management API.

Operations

Executors

Internal methods used to configure Log Brain and Tree Brain executors

Operations

Add Executor

Request

Create an executor

Bodyapplication/json

_

any
curl -i -X POST \
  https://apidocs.mediamath.com/_mock/apis/byoa-api/executors \
  -H 'Content-Type: application/json'

Responses

VAR_NAME is variable, the name of an executor

Bodyapplication/json
dataobject
metaobject
Response
application/json
{ "data": { "created_on": "2017-07-06T17:44:36.350672Z", "Emails": "", "id": 9, "name": "TestCreateExecutor1", "updated_on": "2017-07-06T17:44:36.350672Z", "VAR_NAME": null }, "meta": { "status": "success" } }

Get Executor

Request

Get an executor using executor ID

Path
executor_idintegerrequired

Executor ID

Headers
Adama_session_expstringrequired

Adama_session_exp

Adama_sessionstringrequired

Adama_session

Proxy-Connectionstring

Proxy-Connection

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/byoa-api/executors/{executor_id}' \
  -H 'Adama_session: string' \
  -H 'Adama_session_exp: string' \
  -H 'Proxy-Connection: string'

Responses

Bodyapplication/json
dataobject
metaobject
Response
application/json
{ "data": { "active_version": {}, "created_on": "2017-05-10T20:30:43.329118Z", "id": 2, "name": "delphi-logbrain", "updated_on": "2017-05-10T20:30:43.329118Z" }, "meta": { "status": "success" } }

Delete Executor

Request

Delete an executor using executor ID

Path
executor_idintegerrequired

Executor ID

Headers
Adama_session_expstringrequired

_

Adama_sessionstringrequired

_

Proxy-Connectionstring

_

curl -i -X DELETE \
  'https://apidocs.mediamath.com/_mock/apis/byoa-api/executors/{executor_id}' \
  -H 'Adama_session: string' \
  -H 'Adama_session_exp: string' \
  -H 'Proxy-Connection: string'

Responses

Bodyapplication/json
dataobject
metaobject
Response
application/json
{ "data": { "active_version": {}, "created_on": "2017-05-10T20:30:43.329118Z", "id": 2, "name": "delphi-logbrain", "updated_on": "2017-05-10T20:30:43.329118Z" }, "meta": { "status": "success" } }

Modify Executor

Request

Update an executor

Path
executor_idintegerrequired

Executor ID

Headers
Adama_session_expstringrequired

_

Adama_sessionstringrequired

_

Content-Typestring

_

Proxy-Connectionstring

_

curl -i -X PUT \
  'https://apidocs.mediamath.com/_mock/apis/byoa-api/executors/{executor_id}' \
  -H 'Adama_session: string' \
  -H 'Adama_session_exp: string' \
  -H 'Content-Type: string' \
  -H 'Proxy-Connection: string'

Responses

Bodyapplication/json
dataobject
metaobject
Response
application/json
{ "data": { "active_version": {}, "created_on": "2017-05-10T20:30:43.329118Z", "id": 2, "name": "delphi-logbrain", "updated_on": "2017-05-10T20:30:43.329118Z" }, "meta": { "status": "success" } }

Add Version

Request

Create an executor version

Path
executor_idintegerrequired

_

Headers
Adama_session_expstringrequired

_

Adama_sessionstringrequired

_

curl -i -X POST \
  'https://apidocs.mediamath.com/_mock/apis/byoa-api/executors/{executor_id}/versions' \
  -H 'Adama_session: string' \
  -H 'Adama_session_exp: string'

Responses

Bodyapplication/json
dataobject
metaobject
Response
application/json
{ "data": { "created_on": "2017-07-03T11:12:59.256864Z", "file_id": "File size: 1439, File name README.md, Content type: application/octet-stream", "id": 2, "status": "uploaded", "url": null }, "meta": { "status": "success" } }

Get all Versions of an Executor

Request

Get all versions of an executor

Path
executor_idintegerrequired

Executor ID

Headers
Adama_sessionstringrequired

Adama_session

Adama_session_expstringrequired

Adama_session_exp

Proxy-Connectionstring

Proxy-Connection

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/byoa-api/executors/{executor_id}/versions' \
  -H 'Adama_session: string' \
  -H 'Adama_session_exp: string' \
  -H 'Proxy-Connection: string'

Responses

Bodyapplication/json
dataobject
metaobject
Response
application/json
{ "data": { "executor": {}, "versions": [] }, "meta": { "status": "success" } }

Add Version

Request

Add an executor version

Path
version_idstringrequired

_

executor_idintegerrequired

_

Headers
Content-Typestring

_

Adama_session_expstringrequired

_

Adama_sessionstringrequired

_

Proxy-Connectionstring

_

curl -i -X PUT \
  'https://apidocs.mediamath.com/_mock/apis/byoa-api/executors/{executor_id}/versions/{version_id}' \
  -H 'Adama_session: string' \
  -H 'Adama_session_exp: string' \
  -H 'Content-Type: string' \
  -H 'Proxy-Connection: string'

Responses

Bodyapplication/json
dataobject
metaobject
Response
application/json
{ "data": { "created_on": "2019-05-10T21:54:08.868984Z", "file_id": "https://mm-byoa-api.s3.amazonaws.com/script_versions/default_1494453248", "id": 4, "status": "uploaded", "updated_on": "2019-08-08T16:07:08.565389Z", "url": [] }, "meta": { "status": "success" } }

Get Version

Request

Get an executor version

Path
version_idstringrequired

Version ID

executor_idstringrequired

Executor ID

Headers
Adama_session_expstring

_

Adama_sessionstring

_

Proxy-Connectionstring

_

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/byoa-api/executors/{executor_id}/versions/{version_id}' \
  -H 'Adama_session: string' \
  -H 'Adama_session_exp: string' \
  -H 'Proxy-Connection: string'

Responses

Bodyapplication/json
dataobject
metaobject
Response
application/json
{ "data": { "created_on": "2017-05-10T21:54:08.868984Z", "file_id": "https://mm-byoa-api.s3.amazonaws.com/script_versions/default_1494453248", "id": 4, "status": "uploaded", "updated_on": "2017-08-08T16:07:08.565389Z", "url": [] }, "meta": { "status": "success" } }

Delete a Version

Request

Delete an executor version

Path
version_idstringrequired

Version ID

executor_idstringrequired

Executor ID

Headers
Adama_session_expstringrequired

Adama_session_exp

Adama_sessionstringrequired

Adama_session

Proxy-Connectionstring

Proxy-Connection

curl -i -X DELETE \
  'https://apidocs.mediamath.com/_mock/apis/byoa-api/executors/{executor_id}/versions/{version_id}' \
  -H 'Adama_session: string' \
  -H 'Adama_session_exp: string' \
  -H 'Proxy-Connection: string'

Responses

Bodyapplication/json
dataobject
metaobject
Response
application/json
{ "data": { "executor": {}, "versions": [] }, "meta": { "status": "success" } }

Jumpstart

Internal - Jumpstart campaigns

Operations

Serialize

Internal methods to update the BYOA execution engines with current campaigns and settings

Operations