private void postEventToApiman(int attempt, RealmModel realm, Event event, UserModel user) {
        try {
            URI apimanEventEndpoint = calculateURI();

            NewAccountCreatedDto newAccount = buildApimanEvent(event, user);
            HttpEntity payload = EntityBuilder.create()
                                              .setContentType(ContentType.APPLICATION_JSON)
                                              .setText(JsonSerialization.writeValueAsPrettyString(newAccount))
                                              .build();

            LOGGER.debugv("Attempt {0} to POST {1} to {2}", attempt, newAccount, apimanEventEndpoint);

            HttpPost post = new HttpPost();
            post.setHeader("Authorization", "Bearer " + generateToken(realm));
            post.setURI(apimanEventEndpoint);
            post.setEntity(payload);

            HttpResponse response = httpClient.getHttpClient().execute(post);

            if (response.getStatusLine().getStatusCode() / 100 != 2) {
                String msg = MessageFormat.format(
                     "Retryable action {0}/{1}: Non-200 response code returned by {2}: {3}.",
                     attempt, ATTEMPTS_COUNT, apimanEventEndpoint, response.getStatusLine().getReasonPhrase()
                );
                IOException ex = new IOException(msg);
                LOGGER.error(msg, ex);
                throw ex; // Throwing exception here will trigger retry.
            }
        } catch (IOException ioe) {
            throw new UncheckedIOException(ioe);
        }
    }
Process a {@link org.keycloak.events.EventType#REGISTER} and send to Apiman Manager API via HTTP.
sso/keycloak/extensions/src/main/java/io/apiman/manager/sso/keycloak/event/processors/NewUserEventProcessor.java