{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Beachfront Adapter Params",
  "description": "A schema which validates params accepted by the Beachfront adapter",
  "type": "object",
  "properties": {
    "appId": {
      "type": "string",
      "description": "The id of an inventory target. This can only be used in requests that contain one media type. It will be applied to all imps in the request."
    },
    "appIds": {
      "type": "object",
      "description": "An object that specifies appIds for specific media types. This can be used for either single media type requests or multiple.",
      "properties": {
        "video": {
          "type": "string",
          "title": "Video appId",
          "description": "An appId string that will be applied to video requests in this imp."
        },
        "banner": {
          "type": "string",
          "title": "Banner appId",
          "description": "An appId string that will be applied to banner requests in this imp."
        }
      },
      "anyOf":[
        {"required":["video"]},
        {"required":["banner"]}
      ]
    },
    "bidfloor": {
      "type": "number",
      "description": "The price floor for the bid. Will override the bidfloor set for the impression."    },
    "videoResponseType": {
      "type": "string",
      "description": "By default the video response will be an AdM element containing VAST 3.0 markup including tracking, click through, and mediafile elements pointing to mp4, webm or other playable media files or Vpaid media as configured for the exchange at beachfront.io. Optionally, set this to 'nurl' to receive a URI pointing to VAST 3.0 markup which will contain a mediafile pointing to a beachfront neptune javascript video player which will load your video and take care of tracking, etc. Regardless of which format is selected, the id of the returned impression will be the provided impression id (imp[{'id'...},...] in the request) with the format appended. The impression id will be returned unchanged as 'impid'. So if you indicate 'nurl', and an impression id 'someImp', the returned impression will have an 'impid' value of 'someImp', and the 'id' value 'someImpNurlVideo'. This is to differentiate the object in the case that a request includes both video and banner elements. Setting videoResponseType to any other string will have no effect and the default format (AdM) will be returned."
    }
  },
  "oneOf": [
    {"required": ["appId"] },
    {"required": ["appIds"]}
  ]
}
