A workshop uses the tapinomahub functions through its workshop software. The software vendor has offered to cover the vehicle queries. But the workshop also has its own balance and its own terms — and does not want to find out only from the invoice who paid for which request.
In the Hub, sponsorship is an explicit relationship with two sides: the sponsor grants it and can release the choice of terms, the beneficiary sees it and decides. None of this happens silently — on partner terms not even when a request falls outside the sponsorship.
| Surface | Roles |
|---|---|
| Hub | Workshop, Vehicle recyclers, Dealership |
What this case requires
- A granted sponsorship. It originates with the sponsor; the beneficiary cannot create it.
- Release of partner terms if these are to be chosen. Without
partnerTermsAllowed, choosingpartneranswers with403. - A look at the covered endpoints.
endpointKeyssays what the sponsorship applies to — not every request is included. - A decision for requests outside the sponsorship. Under
partneran uncovered request is rejected, not paid from your own balance.
The sequence
The table names the responsible call per stage and what exists afterwards. The reasoning for why a stage cannot be skipped follows below it.
| Stage | Call | What exists afterwards |
|---|---|---|
| Review the sponsorships | GET /client/sponsorship-grants/received | endpointKeys, validity and partnerTermsAllowed per received sponsorship |
| Choose the terms | PUT /client/sponsorship-grants/received/{grantReference}/billing-mode | mode own or partner — partner only if the sponsor has allowed the choice |
| Read the balance | GET /client/credits | under billingMode partner the amounts are null — your own balance stays untouched |
| Read the usage | GET /client/usage | Plan consumption and usage per endpoint in the billing period |
Why each stage is needed
- Review the sponsorships.
GET /client/sponsorship-grants/receivedlists per sponsorshipreference,sponsor,endpointKeys,startsAt,endsAt,active,partnerTermsAllowedandpartnerTermsChosen. This shows what is covered and whether the choice is open at all. - Choose the terms.
PUT /client/sponsorship-grants/received/{grantReference}/billing-modetakesmodewithownorpartner. Underpartneryour own balance stays untouched; without the sponsor’s release the call answers with403. If the sponsor withdraws the release, the choice falls with it. - Read the balance.
GET /client/creditsreturnsbalanceCents,creditLimitCentsandavailableCents. When the business works on partner terms,billingModeispartnerand the amounts arenull— its balance is not charged and therefore not reported. - Read the usage.
GET /client/usagenames the period, per planused,includedMonthlyQuantityandremaining, and per endpointusedandchargedCents. This lets you check whether the requests went where the choice was meant to send them.
curl -X PUT \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{"mode":"partner"}' \
'https://api.tapinomahub.com/client/sponsorship-grants/received/<grantReference>/billing-mode'What you end up with
In the end the business knows for every request who pays: on partner terms, the sponsor for the covered endpoints; on its own terms, billing draws first on the business’s own plan and balance, and the sponsor steps in only as a fallback. And on partner terms a request outside the sponsorship is visibly rejected instead of quietly costing balance.
Where to find this in the documentation
The binding field lists, error codes and sample responses live in this surface’s OpenAPI contract at docs.tapinomahub.com (tapinoma-hub). All use cases arranged by surface and role: overview of the use cases.
Sources and legal references
Frequently asked
Do I have to accept the sponsorship?
No. You can stay on your own terms. Choosing partner is only possible if the sponsor has released it.
Why does my balance show null?
Because you are working on partner terms. Your balance is then not charged and therefore not reported.
What happens to a request that is not covered?
Under partner it is rejected with 402 partner_terms_not_covered. It is not paid silently from your balance.
