Contact us
Four addresses, each going somewhere different. Pick the one that matches and you will get a faster answer than a general enquiry would have found.
Support
Account questions, billing, API errors, anything that is not working the way the docs say it should.
affiliate@xark.ioWithin one business day
Sales and enterprise
Volume pricing, committed-use discounts, DPAs, procurement paperwork, and regional processing requirements. Worth starting here if you expect to spend over $1000 a month.
affiliate@xark.ioWithin 24 hours
Enterprise enquiry form →Security
Vulnerability reports and security questions. Good-faith research is welcome and will not be met with legal threats — the terms of that are on the compliance page.
affiliate@xark.ioAcknowledged within two business days
Disclosure policy →Legal and privacy
Data subject requests, DPA requests, and questions about the terms or privacy policy.
affiliate@xark.ioWithin 30 days, usually far sooner
One mailbox, for now
The four addresses above are the same mailbox today. The role aliases that would split them are not created yet, and publishing an address that bounces is worse than publishing one that is shared — so until they are, start your subject line with Support, Sales, Security or Legal. That one word is what sorts your message into the right queue and the response time printed on its card.
What to include so the first reply is useful
Every round trip costs a day. These are the details that make the first answer the last one.
A failing request
- The model id you sent, in full — ids are namespaced provider/model-name, and half of the 404s we see are a bare name.
- The complete error body, including error.code. On a 429 that field is the only thing separating an exhausted balance from a rate limit.
- A UTC timestamp, and whether it reproduces from curl as well as from your SDK.
- Whether the model shows as unavailable in the catalogue — a model no upstream serves fails for a reason no amount of debugging will fix.
Billing and credit
- The email on the account, which is the one the invoice was addressed to.
- The amount and the approximate time of the charge or top-up in question.
- Whether the balance in the dashboard disagrees with what you expect, and by how much.
Sales and volume pricing
- Rough monthly spend, even as a range — $1,000 a month is where volume rates begin, and below it the public pricing already is our answer.
- The models you actually use, and the shape of the traffic: mostly input, mostly output, or a repeated prefix that will be served from cache.
- Any procurement constraints — DPA, invoicing terms, regional processing — since those, not the rate, are usually what sets the timeline.
A security report
- The endpoint and the request that demonstrates it, with enough detail to reproduce.
- What an attacker gets — the impact matters more to triage than the severity label.
- Whether the finding is already public or on a disclosure clock, so the acknowledgement is not the first thing that surprises anyone.
Never send us an API key, in any channel. We do not need one to investigate anything, a key is shown in full exactly once and stored masked afterwards, and a key that has travelled through email should be revoked rather than debugged.
What we cannot do by email
- Recover a lost API key. A key exists in plaintext for one moment, at creation, and is masked from then on — including to us. The fix is a new key and a revocation of the old one, which takes a few seconds in the dashboard.
- Show you what you sent. Prompts and completions from ordinary chat and completion requests are relayed and not stored by us at all, so a request you want investigated has to arrive with its own error body attached.
- Change a published rate on request. Rates are per-model and public; a rate that differs from the pricing page only exists inside a negotiated enterprise agreement, which is what the sales route is for.