Curious why you decided to go for GraphQL instead of something like Cloud Events spec (https://cloudevents.io)
"While cloudevents does have a promising specification, it does not provide any runtime guarantees. It's similar to OpenAPI: a specification that is hard to follow because nothing enforces runtime compliance with the specification. While this specification makes sense for public Event APIs, we believe that GraphQL Eventbus offers a lot more for building your enterprise event bus."
GraphQL eventbus does incorporate some best practices from cloudevents and event architecture in general: it creates an eventID and publish time for each event and propagates metadata like requestId.