OpenAPI

OpenAPI overview

Control plane and adserver share one contract: api/openapi.yaml in the Meridian Ads GitLab repo. Humans use Logto JWT. SDKs authenticate to serve with HMAC.

Hosts

RoleProductionLocal
Control plane https://api.meridianads.tech http://localhost:8080
Adserver https://serve.meridianads.tech http://localhost:8090
Console and docs https://meridianads.tech Nuxt dev server

Production only. There is no staging hostname. Local compose is the development environment. The OpenAPI file is api/openapi.yaml in the Meridian Ads GitLab repo.

Serve

adserver

Decision, events, and clicks live on the adserver, not the control plane. Live serve uses Redis plus this request only. No SQL and no xAI on the hot path.

MethodPathAuthNotes
POST/v1/decisionHMAC200 fill (paid or house), 204 no fill, 429 over 100 decisions/s per app_key
POST/v1/eventsHMACFire on render with the impression token. Not IAB viewability. 204 recorded.
GET/v1/click/{token}Token302 to landing. 400 if the token is invalid, expired, or unbound to an impression.