Skip to content

FAQ and support

The questions that come up after the first integration.

Freshness

How current is the data? The datasets track the operational system closely, but this is a batch analytics surface rather than a live transactional one. Treat it as current to within minutes, not seconds, and do not build anything that needs to-the-second accuracy on it.

What does LastRefreshedAt mean? It is the marker used to detect changed rows for incremental loading, on the two datasets that carry it. Use it as an opaque watermark — compare it against the last value you saw. It carries no time-zone offset, so do not present it to users as a local time.

Will a row I already loaded change later? Yes. Tickets get cancelled, personalised, upgraded and rescanned. That is why full reloads matter, and why a watermark-only pipeline drifts.

Values and types

Why are the status columns strings rather than enums? Because the hub stores them as text on purpose. They were numeric enums in the operational system, and were converted to UPPER_SNAKE_CASE tokens so that consumers see a readable label instead of an integer whose meaning lives in someone else's source code. Keeping them as Edm.String also means a token we add later flows through your pipeline as data rather than breaking your reads.

Can a new token appear? Yes, if the business gains a new state. That is why Column values tells you to seed the sets as lookup tables and join against them — an unmatched key is visible; a silently dropped row is not.

I see UNKNOWN in a status column. What does it mean? The source held a value the hub could not map. It is rare, and it is worth telling us about — it usually means a mapping needs extending.

Changes to the data

Can columns be added or removed? Yes. The datasets evolve with the product; columns are added, occasionally a type is corrected, and occasionally one is withdrawn. $metadata always describes the instance you are querying, which is why a loader that reads it keeps working and one with a hard-coded column list does not.

How will I hear about a change? Through the usual release channels. If a change would break a documented behaviour rather than just add to it, we tell you before it ships.

Is the API versioned? The path carries /v1, and responses carry an api-supported-versions header. A breaking change would arrive as a new version rather than by altering v1 underneath you.

I need something that is not in the documentation. What now? Ask us rather than guessing from a column name. If it is not documented, either it means something other than its name suggests or we have not yet written it up — and both are worth a short conversation before you build a report on it.

Access and scope

Why does the path contain api/ticketinghub? Because the feed is published through the same API gateway as your other ADITUS APIs, under its own product prefix. It means one base URL, one certificate and one firewall rule for everything you integrate with us.

Can I read another mandator's data? No. Scoping is applied server-side before any query runs, and there is no parameter that widens it.

Can I get data for several customer systems from one endpoint? No — one instance serves one customer system. If you operate several, you extract from each and union them in your warehouse.

Can I call this from a browser? No. There is no CORS policy, and a client_credentials secret does not belong in browser code.

Does this contain personal data? Yes — ticket holders and buyers are identifiable people, and the custom registration fields can hold anything your forms collect. Treat the extract as personal data end to end: restrict warehouse access, apply your retention policy, and involve whoever owns data protection in your organisation before the first load.

Limits

Is there a rate limit? Not today. Keep parallelism modest anyway — you are reading a live production system.

Why is $top capped at 1000? Because page size is what keeps the keyset walk cheap. Use the next links; a larger page would not make a full extract faster.

Why can I not aggregate server-side? By design. Aggregation belongs where your business definitions live, which is your warehouse. If you want ad-hoc answers rather than data, ask about the MCP surface.

Getting help

When something is wrong, the fastest route to an answer includes:

  • the exact request URL, with query options, minus your token
  • the status code and the error.message from the response body
  • the timestamp and roughly how many pages in you were
  • the output of GET /health at the time

Contact us through your usual ADITUS support channel.