curl --request PATCH \
--url https://api.apostra.com/api/v2/buyer/readiness/operator \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"operatorDomain": "northstar.media"
}
'import requests
url = "https://api.apostra.com/api/v2/buyer/readiness/operator"
payload = { "operatorDomain": "northstar.media" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({operatorDomain: 'northstar.media'})
};
fetch('https://api.apostra.com/api/v2/buyer/readiness/operator', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": 4503599627370495,
"operatorDomain": "<string>",
"operatorUnitId": "<string>",
"operatorScope": "whole_operator",
"scopeConfirmedAt": "2023-11-07T05:31:56Z",
"lockedAt": "2023-11-07T05:31:56Z",
"verified": true,
"source": "user_confirmed",
"confirmedAt": "2023-11-07T05:31:56Z",
"sellerHistoryCoop": true
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Update buyer operator domain
Confirm or change the authenticated buyer account’s commercial operator domain without changing its WorkOS organization. Requires ADMIN role on the current account.
curl --request PATCH \
--url https://api.apostra.com/api/v2/buyer/readiness/operator \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"operatorDomain": "northstar.media"
}
'import requests
url = "https://api.apostra.com/api/v2/buyer/readiness/operator"
payload = { "operatorDomain": "northstar.media" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({operatorDomain: 'northstar.media'})
};
fetch('https://api.apostra.com/api/v2/buyer/readiness/operator', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": 4503599627370495,
"operatorDomain": "<string>",
"operatorUnitId": "<string>",
"operatorScope": "whole_operator",
"scopeConfirmedAt": "2023-11-07T05:31:56Z",
"lockedAt": "2023-11-07T05:31:56Z",
"verified": true,
"source": "user_confirmed",
"confirmedAt": "2023-11-07T05:31:56Z",
"sellerHistoryCoop": true
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Authorizations
API key or access token
Body
Confirm or change the authenticated buyer account's commercial operator domain. Every buyer account is its own AdCP operating unit.
Corporate domain of the organization operating this buyer account.
255^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$"northstar.media"
Deprecated: omit it, or send "specific_unit". "whole_operator" is refused with a 400, because whole operator is retired and every buyer account is its own AdCP operating unit. The refusal is a recorded exception to the v2 additive-only rule (Brian O'Kelley, 2026-10-22).
specific_unit, whole_operator "specific_unit"
Short code for this account as an AdCP operating unit, for example "rce". Optional: when omitted, a code is generated from the account name when the identity is first saved and kept afterwards. Fixed once an advertiser exists, and never changes when the account is renamed. It is seller-visible and is not an Interchange database ID.
1 - 255^[A-Za-z0-9][A-Za-z0-9._:/-]*$"east-coast"
Join (true) or leave (false) the seller-history co-op, how an account takes part in the data co-op of Section 6.3 of the Terms of Service. A member shares the judged results of its completed buys, only as aggregates that name no buyer, campaign or media buy and never what a seller charged, and gets other members' pooled seller history once pooled reading is open for the account (a pilot). Starts false. Leaving takes effect from the day you leave: the account stops reading pooled history and sharing new buys, and what it already shared stays in the pool. Opting out does not affect access to standard Platform features. Omit to leave membership unchanged. Details: /v2/concepts/seller-history-co-op.
true
Response
Update buyer operator domain
Confirmed buyer-account operator identity. Authentication organization membership is unchanged.
0 < x <= 9007199254740991Deprecated, read-only: the stored scope. "specific_unit" when the account has an operating unit; "whole_operator" only for an older identity not yet converted to its own unit; otherwise null. Read operatorUnit instead.
whole_operator, specific_unit Deprecated: the time the unit was saved. Read operatorUnitId and confirmedAt.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$user_confirmed ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Whether the account is now a member of the seller-history co-op (the data co-op of Terms of Service section 6.3).