B2BB2B LLM

Partner API lõpp-punkti

Täitke Partner API päringu ja vastuse näited võtmete, rühmade, päringute ja tehingute jaoks.

Partner API lõpp-punkti

Baas-URL:

https://p-api.model-gate.com

Kõik taotlused nõuavad:

Authorization: Bearer mg_partner_...
Accept: application/json

Kõik rahalised ja piirväärtused on JSON-i kümnendstringid. Ärge sõeluge neid binaarsete ujukomaarvudena.

Pangade integreerimise ühised eeskirjad

Kõik välised ajatemplid on UTC RFC3339. Kogu lõpp-punktide kasutamine limit (1–100) pluss läbipaistmatu cursor; kunagi ei sõelu ega tooda kursori sisu. POST, PATCHja DELETE nõuded nõuavad Idempotency-Key; pärast ajalõppude möödumist proovige sama toimingut sama võtmega uuesti. Idempotentsuse andmeid säilitatakse 7 päeva. Vastused hõlmavad X-Request-ID, on Cache-Control: no-storeja kõik vead on JSON. Kiirusepiirangu vastused on HTTP 429 koos Retry-After ja X-RateLimit-* päised. Tundmatud sisu-/päringuväljad lükatakse tagasi.

Masinloetavat OpenAPI 3.1 lepingut levitatakse kui resources/contracts/partner-api.openapi.yaml.

Looge API võti

Taotlus

curl -X POST https://p-api.model-gate.com/api/v1/partner/keys \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Telegram user 123",
    "group_id": "GROUP_PUBLIC_ID",
    "rpm_limit": 30,
    "concurrency_limit": 2,
    "spend_limit": "20.0000000000",
    "usage_price_basis": "official_price",
    "usage_price_multiplier": "0.900000"
  }'

Vastus - 201

{
  "data": {
    "public_id": "KEY_PUBLIC_ID",
    "group_id": "GROUP_PUBLIC_ID",
    "name": "Telegram user 123",
    "key_prefix": "mg_live_ab12",
    "key": "mg_live_ab12...",
    "status": "active",
    "rpm_limit": 30,
    "concurrency_limit": 2,
    "spend_limit": "20.0000000000",
    "usage": "0.0000000000",
    "total_spent": "0.0000000000",
    "usage_price_basis": "official_price",
    "usage_price_multiplier": "0.900000",
    "effective_usage_price_basis": "official_price",
    "effective_usage_price_multiplier": "0.900000"
  }
}

Täielik key väärtus tagastatakse alles pärast loomist või pööramist.

Loetlege API võtmed

Taotlus

curl https://p-api.model-gate.com/api/v1/partner/keys \
  -H "Authorization: Bearer mg_partner_..."

Vastus - 200

{
  "data": [
    {
      "public_id": "KEY_PUBLIC_ID",
      "group_id": "GROUP_PUBLIC_ID",
      "name": "Telegram user 123",
      "status": "active",
      "spend_limit": "20.0000000000",
      "usage": "3.2500000000",
      "total_spent": "1.1400000000"
    }
  ]
}

Loend on järjestatud uusimad esimesena ja kasutab läbipaistmatut kursori lehekülge. Läbida limit=1..100; millal meta.has_more vastab tõele, saatke meta.next_cursor järgmisena cursor.

Hankige üks API võti

Taotlus

curl https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..."

Vastus - 200

{
  "data": {
    "public_id": "KEY_PUBLIC_ID",
    "group_id": "GROUP_PUBLIC_ID",
    "name": "Telegram user 123",
    "status": "active",
    "rpm_limit": 30,
    "concurrency_limit": 2,
    "spend_limit": "20.0000000000",
    "usage": "3.2500000000",
    "total_spent": "1.1400000000",
    "effective_usage_price_basis": "official_price",
    "effective_usage_price_multiplier": "0.900000"
  }
}

Värskendage API-võtit

PATCH asendab ainult toetatud muutuvaid väärtusi. Võtme rühmast eemaldamiseks saatke tühi group_id. Hindamisseadete pärimiseks saatke null võtmetaseme aluse ja kordaja jaoks.

Taotlus

curl -X PATCH https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated user name",
    "group_id": "GROUP_PUBLIC_ID",
    "rpm_limit": 60,
    "concurrency_limit": 4,
    "spend_limit": "40.0000000000",
    "usage_price_basis": null,
    "usage_price_multiplier": null
  }'

Vastus - 200

{
  "data": {
    "public_id": "KEY_PUBLIC_ID",
    "spend_limit": "40.0000000000",
    "usage": "3.2500000000",
    "effective_usage_price_basis": "user_price",
    "effective_usage_price_multiplier": "1.000000"
  }
}

Kustutage API võti

Taotlus

curl -X DELETE https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \

Vastus - 200

{"data":{"deleted":true}}

Võtme külmutamine ja külmutamine lahti

Külmutamistaotlus

curl -X POST https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID/freeze \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \

Reaktsiooni külmutamine

{"data":{"public_id":"KEY_PUBLIC_ID","status":"frozen"}}

Vabastamise taotlus

curl -X POST https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID/unfreeze \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \

Vabasta vastus

{"data":{"public_id":"KEY_PUBLIC_ID","status":"active"}}

Külmutamise tühistamiseks on vaja kinnitatud omaniku e-posti aadressi.

Pöörake võtit

Taotlus

curl -X POST https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID/rotate \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \

Vastus - 200

{
  "data": {
    "public_id": "KEY_PUBLIC_ID",
    "status": "active",
    "key_prefix": "mg_live_cd34",
    "key": "mg_live_cd34..."
  }
}

Lähtestage võtmekasutus

Taotlus

curl -X POST https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID/reset-usage \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \

Vastus - 200

{
  "data": {
    "public_id": "KEY_PUBLIC_ID",
    "usage": "0.0000000000",
    "total_spent": "1.1400000000"
  }
}

Kasutuse lähtestamine ei muuda eluaegseid kulutusi ega konto saldot.

Hankige võtmekasutust

Taotlus

curl https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID/usage \
  -H "Authorization: Bearer mg_partner_..."

Vastus - 200

{
  "data": {
    "key_id": "KEY_PUBLIC_ID",
    "usage": "3.2500000000",
    "total_spent": "1.1400000000"
  }
}

Hankige kululimiit ja järelejäänud kasutus

Taotlus

curl https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID/spent-limit \
  -H "Authorization: Bearer mg_partner_..."

Vastus - 200

{
  "data": {
    "key_id": "KEY_PUBLIC_ID",
    "spend_limit": "20.0000000000",
    "usage": "3.2500000000",
    "remaining": "16.7500000000"
  }
}

Millal spend_limit on null, see on piiramatu ja remaining on null.

Hankige uusimad võtmetaotlused

Üksikasjalik taotluste ajalugu on kuumsäilitamise andmestik, mida juhib API_REQUESTS_HOT_RETENTION_DAYS (vaikimisi 7 päeva). Vastuse metaandmed kajastavad aktiivset säilitusakent. Kasutage saldotehinguid pikemaajaliseks finantslevitamiseks.

limit on valikuline, vaikeväärtus on 10 ja peab olema täisarv vahemikus 1 kuni 100. Lõpetatud päringud järjestatakse finished_at kõige uuemad enne. Millal meta.has_more on true, pass meta.next_cursor kui läbipaistmatu before päringu parameeter järgmise vanema lehe toomiseks. Ärge sõeluge ega konstrueerige kursoreid ise.

Vastus sisaldab muutumatuid kasutaja- ja ametlikke miljonilubade määrasid pärast migreerimist lõpetatud päringutele 059_request_pricing_audit_snapshot.sql. Samuti arvutab pricing_snapshot.usage_price salvestatud baasilt, kordajalt ja ajaloolistest tariifidest ilma teist määrakomplekti salvestamata. See muudab sõltumatu kasutuslimiidi hindamise auditeeritavaks pärast kataloogihindade muutumist. Enne migratsiooni 059 loodud ajaloolised päringud naasevad pricing_snapshot.available: false selle asemel, et asendada praeguste hindadega. Claude'i/OpenAI-ga ühilduvate pakett-API-de kaudu täidetavad taotlused on selgelt tähistatud request_mode: "batch" ja lisage nende protokoll, paketttöö ID, custom_idja hetketõmmise Model Gate'i partiihinna kordaja.

Latentsus kasutab stabiilseid ettevõtte/partneri nimesid: gateway_overhead_ms, upstream_first_token_msja e2e_first_token_ms. E2E esimese loa väärtust mõõdetakse mudelivärava päringu algusest kuni esimese tegeliku sisu märgini ja see ei hõlma kliendipoolse võrgu/TLS-i aega. Partner API paljastab ainult selgesõnalise e2e_first_token_ms nimi; sisemälu veerg jääb alles api_requests.first_token_ms.

Taotlus

curl "https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID/requests?limit=10" \
  -H "Authorization: Bearer mg_partner_..."

Vastus - 200

{
  "data": [
    {
      "request_id": "01KZ...",
      "key_id": "KEY_PUBLIC_ID",
      "group_id": "GROUP_PUBLIC_ID",
      "model": "claude-opus-4.7",
      "endpoint": "messages",
      "method": "POST",
      "status": "succeeded",
      "status_code": 200,
      "is_stream": false,
      "request_mode": "batch",
      "batch": {
        "protocol": "claude",
        "job_id": "msgbatch_01K...",
        "custom_id": "request-1",
        "price_multiplier": "0.5"
      },
      "tokens": {
        "input": 120,
        "output": 45,
        "cached": 0,
        "cache_write": 0,
        "reasoning": 0,
        "total": 165
      },
      "cost": "0.0000345",
      "usage_cost": "0.00345",
      "official_base_cost": "0.000345",
      "currency": "USD",
      "usage_pricing": {
        "basis": "official_price",
        "base_field": "official_base_cost",
        "base_amount": "0.000345",
        "multiplier": "10",
        "usage_cost": "0.00345",
        "formula": "round(base_amount * multiplier, 10)"
      },
      "pricing_snapshot": {
        "available": true,
        "unit": "per_1m_tokens",
        "user_price": {
          "input": "0.2",
          "output": "1",
          "cache_read": "0.02",
          "cache_write": "0.25",
          "reasoning": "1"
        },
        "official_price": {
          "input": "1",
          "output": "5",
          "cache_read": "0.1",
          "cache_write": "1.25",
          "reasoning": "5"
        },
        "usage_price": {
          "input": "10",
          "output": "50",
          "cache_read": "1",
          "cache_write": "12.5",
          "reasoning": "50"
        }
      },
      "duration_ms": 842,
      "gateway_overhead_ms": 34,
      "upstream_first_token_ms": 156,
      "e2e_first_token_ms": 190,
      "settlement_status": "settled",
      "started_at": "2026-08-05T10:00:00Z",
      "finished_at": "2026-08-05T10:00:00.842Z"
    }
  ],
  "meta": {
    "key_id": "KEY_PUBLIC_ID",
    "limit": 10,
    "returned": 1,
    "order": "finished_at_desc",
    "next_cursor": "eyJ0IjoiMjAyNi0wOC0wNSAxMDowMDowMCIsInAiOiIwMUt...",
    "has_more": true
  }
}

Järgmise vanema leheküljega jätkamiseks:

curl "https://p-api.model-gate.com/api/v1/partner/keys/KEY_PUBLIC_ID/requests?limit=10&before=NEXT_CURSOR" \
  -H "Authorization: Bearer mg_partner_..."

Invaliid before kursor tagastab HTTP 422. Kursor sisaldab ainult lõppaja asukohta ja välise päringu avalikku ID-d; sisemisi numbrilisi päringu ID-sid ei avaldata kunagi.

Sünkroonsete ja natiivsete asünkroonimistaotluste jaoks request_mode on sync või async ja batch objekt on välja jäetud. Salvestatud loa määra hetktõmmis võimaldab ajaloolise baasarvutuse reprodutseerida kujul sum(tokens × snapshotted_rate / 1,000,000). Arveldus ümardab valitud põhisumma 10 kümnendkohani ja arvutab seejärel round(base_amount × multiplier, 10). Salvestatud cost, official_base_costja usage_cost väljad jäävad autoriteetseks.

See lõpp-punkt ei tagasta kunagi töötlemata päringu ja vastuse kehasid.

Loetlege saldotehingud

Taotlus

curl https://p-api.model-gate.com/api/v1/partner/transactions \
  -H "Authorization: Bearer mg_partner_..."

Vastus - 200

{
  "data": [
    {
      "transaction_id": "TRANSACTION_PUBLIC_ID",
      "type": "debit",
      "source": "api_usage_minute",
      "billing_minute_num": 29769120,
      "amount": "-0.0232000000",
      "request_count": 100,
      "balance_before": null,
      "balance_after": null,
      "api_key_id": null,
      "created_at": "2026-08-05T10:00:00Z"
    }
  ]
}

Arveldatav järeldus on esitatud ühe rahakoti pearaamatu reana arveldusomaniku ja lõpuaja minuti kohta. transaction_id on püsiv avaliku pearaamatu identifikaator. request_count on selle minuti deebetisse kaasatud taotluste arv; billing_minute_num on floor(unix(finished_at)/60). Toores sisemine pearaamat id / source_id väärtusi ei tagastata. API kasutuse koondread tagastatakse tahtlikult null jaoks balance_before, balance_afterja api_key_id; Täpne võtme/grupi/päringu üksikasjad jäävad päringu ajaloost ja paneeliminutisest põhjalikkusest kättesaadavaks.

Hankige praegune saldo

curl https://p-api.model-gate.com/api/v1/partner/balance \
  -H "Authorization: Bearer mg_partner_..."
{"data":{"balance":"1234.5678900000","currency":"USD","as_of":"2026-08-28T07:00:00Z"}}

Kasutage seda lõpp-punkti pärast account.balance_low tagasihelistamised jooksva konto rahakoti ühitamiseks ilma Model API mandaati nõudmata.

Loetlege partnerite auditisündmused

curl "https://p-api.model-gate.com/api/v1/partner/audit-events?limit=100" \
  -H "Authorization: Bearer mg_partner_..."

Auditisündmused registreerivad edukad partnerihalduse mutatsioonid koos päringu ID, toimingu, sihtmärgi, allika IP, oleku, ohutute metaandmete ja UTC ajatempliga. Auditi metaandmetesse ei salvestata saladusi, kandjamärke, API-võtme lihtteksti, idempotentsusvõtmeid, päringu sõrmejälgi ja taasesituse kehasid. Kasuta cursor järgmiste lehtede jaoks ja valikuline action filtreerimine.

Looge grupp

Taotlus

curl -X POST https://p-api.model-gate.com/api/v1/partner/groups \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Telegram bot A",
    "description": "Keys created by bot A",
    "rpm_limit": 100,
    "concurrency_limit": 20,
    "spend_limit": "1000.0000000000",
    "usage_price_basis": "official_price",
    "usage_price_multiplier": "0.900000"
  }'

Vastus - 201

{
  "data": {
    "public_id": "GROUP_PUBLIC_ID",
    "name": "Telegram bot A",
    "status": "active",
    "spend_limit": "1000.0000000000",
    "usage": "0.0000000000",
    "total_spent": "0.0000000000",
    "usage_price_basis": "official_price",
    "usage_price_multiplier": "0.900000"
  }
}

Loetlege rühmad

Taotlus

curl https://p-api.model-gate.com/api/v1/partner/groups \
  -H "Authorization: Bearer mg_partner_..."

Vastus

{"data":[{"public_id":"GROUP_PUBLIC_ID","name":"Telegram bot A","status":"active","usage":"0.0000000000"}]}

Hankige või värskendage gruppi

Hankige taotlus

curl https://p-api.model-gate.com/api/v1/partner/groups/GROUP_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..."

Hankige vastus

{"data":{"public_id":"GROUP_PUBLIC_ID","name":"Telegram bot A","spend_limit":"1000.0000000000","usage":"12.0000000000"}}

Värskendamise taotlus

curl -X PATCH https://p-api.model-gate.com/api/v1/partner/groups/GROUP_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \
  -H "Content-Type: application/json" \
  -d '{"name":"Telegram bot A production","status":"active","spend_limit":"2000.0000000000","usage_price_basis":"user_price","usage_price_multiplier":"1.200000"}'

Uuenda vastust

{"data":{"public_id":"GROUP_PUBLIC_ID","name":"Telegram bot A production","spend_limit":"2000.0000000000","usage_price_basis":"user_price","usage_price_multiplier":"1.200000"}}

Grupi kustutamine

Mittetühja rühma ei kustutata. Esmalt teisaldage või kustutage kõik liikmete API võtmed; vastasel juhul tagastab API HTTP 409 koos group_not_empty.

Taotlus

curl -X DELETE https://p-api.model-gate.com/api/v1/partner/groups/GROUP_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \

Vastus

{"data":{"deleted":true}}

Võtmed eraldatakse vastavalt andmebaasi võõrvõtme käitumisele. Enne kustutamist kinnitage liikmelisus.

Grupi kasutuse lähtestamine

Taotlus

curl -X POST https://p-api.model-gate.com/api/v1/partner/groups/GROUP_PUBLIC_ID/reset-usage \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \

Vastus

{"data":{"public_id":"GROUP_PUBLIC_ID","usage":"0.0000000000","total_spent":"8.5000000000"}}

Loetlege rühma liikmed

Taotlus

curl https://p-api.model-gate.com/api/v1/partner/groups/GROUP_PUBLIC_ID/members \
  -H "Authorization: Bearer mg_partner_..."

Vastus

{"data":[{"public_id":"KEY_PUBLIC_ID","name":"Telegram user 123","status":"active","usage":"3.2500000000","total_spent":"1.1400000000"}]}

Lisage gruppi võti

Taotlus

curl -X POST https://p-api.model-gate.com/api/v1/partner/groups/GROUP_PUBLIC_ID/members \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \
  -H "Content-Type: application/json" \
  -d '{"key_id":"KEY_PUBLIC_ID"}'

Vastus

Vastuseks on värskendatud rühmaliikmete loend:

{"data":[{"public_id":"KEY_PUBLIC_ID","name":"Telegram user 123","status":"active"}]}

Eemaldage grupist võti

Taotlus

curl -X DELETE https://p-api.model-gate.com/api/v1/partner/groups/GROUP_PUBLIC_ID/members/KEY_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: operation-unique-001" \

Vastus

{"data":{"removed":true}}

Hankige rühmakasutus

Taotlus

curl https://p-api.model-gate.com/api/v1/partner/groups/GROUP_PUBLIC_ID/usage \
  -H "Authorization: Bearer mg_partner_..."

Vastus

{"data":{"group_id":"GROUP_PUBLIC_ID","usage":"12.0000000000","total_spent":"8.5000000000","usage_reset_at":"2026-08-01T00:00:00Z"}}

Hangi rühma statistika

from ja to aktsepteerida ainult UTC RFC3339 ajatempleid, mis lõpevad numbritega Z (lubatud on murdosa sekundid kuni 6 numbrit). Statistika arvutatakse ainult lõpetatud päringu koondandmete põhjal finished_at; hetkel avatud minut on tahtlikult välja jäetud, seega võivad tulemused hilineda kuni minutilise koondsageduse võrra.

average_duration_ms on mudelivärava päringu keskmine täielik täielik kestus (duration_ms) valitud perioodi täidetud taotluste vahel. See ei ole E2E esimese loa latentsus, ülesvoolu esimese loa latentsus ega lüüsi üleminek. Partner API näitab ainult selle selgesõnalise mõõdiku nime.

Taotlus

curl "https://p-api.model-gate.com/api/v1/partner/groups/GROUP_PUBLIC_ID/stats?from=2026-08-01T00:00:00Z&to=2026-08-05T23:59:59Z" \
  -H "Authorization: Bearer mg_partner_..."

Vastus

{
  "data": {
    "group_id": "GROUP_PUBLIC_ID",
    "requests": 120,
    "errors": 3,
    "input_tokens": 50000,
    "output_tokens": 12000,
    "cached_tokens": 8000,
    "cache_write_tokens": 1200,
    "reasoning_tokens": 2000,
    "cost": "8.5000000000",
    "average_duration_ms": "842.50",
    "from": "2026-08-01T00:00:00Z",
    "to": "2026-08-05T23:59:59Z"
  }
}

Saate asünkroonse tulemuse

Taotlus

curl https://p-api.model-gate.com/api/v1/requests/01KZ... \
  -H "Authorization: Bearer mg_partner_..."

Vastuse töötlemine

{
  "data": {
    "request_id": "01KZ...",
    "status": "processing",
    "created_at": "2026-08-05T10:00:00Z",
    "started_at": "2026-08-05T10:00:00Z",
    "completed_at": null,
    "expires_at": "2026-08-06T10:00:00Z"
  }
}

Lõpetatud vastus

{
  "data": {
    "request_id": "01KZ...",
    "status": "completed",
    "response_status": 200,
    "response_headers": {"Content-Type":"application/json"},
    "response": {"id":"resp_example","status":"completed"},
    "completed_at": "2026-08-05T10:00:05Z",
    "expires_at": "2026-08-06T10:00:00Z"
  }
}

Levinud vead

Kehtetu võti Partner API – 401

{"error":{"type":"invalid_token","message":"Invalid Partner API key"}}

Ressursi ei leitud — 404

{"error":{"type":"not_found","message":"API key not found"}}

Kehtetu taotlus — 422

{"error":{"type":"invalid_request","message":"limit must be an integer from 1 to 100"}}

Muteerunud Partner API JSON-kehad on piiratud 1 MiB-ga.

Idempotentsuse konflikt — 409

Sama Idempotency-Key kasutati uuesti teise taotluse jaoks. Looge uue loogilise toimingu jaoks uus võti.

Hindade piirang - 429

Vastus sisaldab error.code = partner_rate_limit_exceeded ja Retry-After. Proovige uuesti alles pärast näidatud viivitust.

Meetod pole lubatud — 405

Partneri host tagastab JSON-vea ja HTTP Allow päis; see ei lange kunagi tagasi HTML-i vealehele.

Ettevõtte mandaadi põhireeglid

Ettevõtte nr {0} märgi puhul aktsepteeritakse ainult kinnitatud organisatsiooni omanikku. Võtmed, mis on loodud läbi Partner API, kasutavad seda omanikku nii arveldusomanikuna kui ka mandaadi pealinnana. Töötaja-direktori määramine toimub veebipaneelis. group_id, kui see on esitatud, peab tuvastama ettevõttekontole kuuluva aktiivse rühma; vigased väärtused tagastavad HTTP 422 ja ei lange kunagi tagasi grupeerimata võtme juurde. Päringu ajaloo vastused võivad sisaldada principal_user_id mandaadi identifitseerimiseks sõltumatult arveldamise omandiõigusest.