Create an RTB group
POST
/api/v1/rtb-groups
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://external-api.moja-ai.com/api/v1/rtb-groups"), Headers = { { "X-API-Key", "<X-API-Key>" }, }, Content = new StringContent("{ \"name\": \"example\", \"minimum_bid\": 0, \"ping_timeout\": 5000, \"predictive_routing_enabled\": false, \"predictive_routing_plan_id\": \"example\", \"minimum_call_count\": 1, \"desired_hours\": 1, \"underperforming_percentage\": 1, \"rtb_formulas\": [ { \"rtb_formula_id\": \"example\", \"maximum_bid_per_target\": 0, \"minimum_bid_per_target\": 1, \"ping_timeout_per_target\": 1, \"routing_modifier\": 0, \"routing_modifier_type\": \"percentage\", \"routing_modifier_value\": 0 } ], \"external_id\": \"example\" }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://external-api.moja-ai.com/api/v1/rtb-groups"
payload := strings.NewReader("{ \"name\": \"example\", \"minimum_bid\": 0, \"ping_timeout\": 5000, \"predictive_routing_enabled\": false, \"predictive_routing_plan_id\": \"example\", \"minimum_call_count\": 1, \"desired_hours\": 1, \"underperforming_percentage\": 1, \"rtb_formulas\": [ { \"rtb_formula_id\": \"example\", \"maximum_bid_per_target\": 0, \"minimum_bid_per_target\": 1, \"ping_timeout_per_target\": 1, \"routing_modifier\": 0, \"routing_modifier_type\": \"percentage\", \"routing_modifier_value\": 0 } ], \"external_id\": \"example\" }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<X-API-Key>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}const url = 'https://external-api.moja-ai.com/api/v1/rtb-groups';const options = { method: 'POST', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"name":"example","minimum_bid":0,"ping_timeout":5000,"predictive_routing_enabled":false,"predictive_routing_plan_id":"example","minimum_call_count":1,"desired_hours":1,"underperforming_percentage":1,"rtb_formulas":[{"rtb_formula_id":"example","maximum_bid_per_target":0,"minimum_bid_per_target":1,"ping_timeout_per_target":1,"routing_modifier":0,"routing_modifier_type":"percentage","routing_modifier_value":0}],"external_id":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://external-api.moja-ai.com/api/v1/rtb-groups \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "name": "example", "minimum_bid": 0, "ping_timeout": 5000, "predictive_routing_enabled": false, "predictive_routing_plan_id": "example", "minimum_call_count": 1, "desired_hours": 1, "underperforming_percentage": 1, "rtb_formulas": [ { "rtb_formula_id": "example", "maximum_bid_per_target": 0, "minimum_bid_per_target": 1, "ping_timeout_per_target": 1, "routing_modifier": 0, "routing_modifier_type": "percentage", "routing_modifier_value": 0 } ], "external_id": "example" }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
RTBGroupCreate
object
name
required
Name
string
minimum_bid
Minimum Bid
number
ping_timeout
Ping Timeout
Ping timeout in milliseconds
integer
predictive_routing_enabled
Predictive Routing Enabled
boolean
rtb_formulas
required
Rtb Formulas
Array<object>
RTBGroupFormulaInputInput schema for RTB formula relationship when creating/updating an RTB group.
object
rtb_formula_id
required
Rtb Formula Id
string
maximum_bid_per_target
Maximum Bid Per Target
number
routing_modifier
Routing Modifier
Legacy strategic routing modifier (-10..+10). Prefer routing_modifier_type/value for new clients.
integer
routing_modifier_type
Routing Modifier Type
How routing_modifier_value affects the predictive routing score. Routing-only; does not change payout.
string
routing_modifier_value
Routing Modifier Value
Thumb-on-scale value. percentage = relative percent points, amount = fixed dollar value added to score.
number
Responses
Section titled “Responses”Successful Response
Media typeapplication/json
RTBGroupResponse
object
id
required
Id
string
org_id
required
Org Id
string
name
required
Name
string
minimum_bid
required
Minimum Bid
number
ping_timeout
required
Ping Timeout
integer
predictive_routing_enabled
Predictive Routing Enabled
boolean
rtb_formulas
Rtb Formulas
Array<object>
RTBGroupFormulaResponseResponse schema for RTB formula relationship.
object
id
required
Id
string
rtb_formula_id
required
Rtb Formula Id
string
rtb_formula
Any of:
null
maximum_bid_per_target
required
Maximum Bid Per Target
number
routing_modifier
Routing Modifier
integer
routing_modifier_type
Routing Modifier Type
string
routing_modifier_value
Routing Modifier Value
number
Example
{ "predictive_routing_enabled": false, "rtb_formulas": [ { "routing_modifier": 0, "routing_modifier_type": "percentage", "routing_modifier_value": 0 } ]}Bad Request
Media typeapplication/json
ErrorResponse
object
detail
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
Examplegenerated
{ "detail": { "code": "example", "message": "example" }}Unauthorized
Media typeapplication/json
ErrorResponse
object
detail
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
Examplegenerated
{ "detail": { "code": "example", "message": "example" }}Not Found
Media typeapplication/json
ErrorResponse
object
detail
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
Examplegenerated
{ "detail": { "code": "example", "message": "example" }}Conflict
Media typeapplication/json
ErrorResponse
object
detail
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
Examplegenerated
{ "detail": { "code": "example", "message": "example" }}Validation Error
Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}Too Many Requests
Media typeapplication/json
ErrorResponse
object
detail
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
Examplegenerated
{ "detail": { "code": "example", "message": "example" }}
