Source: https://www.revvly.ai/docs/api

API Reference

# Every public *endpoint*, in one place.

Browse the full public API surface documented here. Each row links to its reference section — share a deep link with the # hash on any endpoint.

## Reference pages

Full request and response docs live on dedicated pages. Jump there for signing, field tables, and examples — or pick an endpoint below to land on the exact section.

- [Event Ingestion API ›](https://www.revvly.ai/docs/api/events)
- [Product Events API ›](https://www.revvly.ai/docs/api/product-events)
- [Invoice Payment Webhook ›](https://www.revvly.ai/docs/api/invoice-payments)
- [Public GraphQL API ›](https://www.revvly.ai/docs/api/graphql-public)
- [External references & discovery ›](https://www.revvly.ai/docs/api/external-references)
- [Usage reporting guide ›](https://www.revvly.ai/docs/guides/usage-reporting)

## Ingestion

High-volume signed event streams

POST/api/v1/eventsSubmit a signed batch of metered usage or commission events.

POST/api/v1/product-eventsReport what your users do so Revvly can show how clients use your product.

POST/api/v1/product-events/tokensGive a page a short-lived token to send events for one signed-in person.

POST/api/v1/product-events/browserSend product events from a page with a token minted for that person.

DELETE/api/v1/product-events/users/:userIdRemove every stored product event of one user.

## Usage

Direct usage mutations with idempotency

POST/api/v1/usageAdd or remove usage with a positive or negative delta.

POST/api/v1/usage/setReplace the current quantity with an absolute count.

POST/api/v1/usage/commissionPost a sale amount and transaction id for commission billing.

POST/api/v1/usage/batchApply up to 100 independent deltas with per-item results.

GET/api/v1/usage/:subscriptionId/:variableIdCurrent, peak, and cumulative counts for one subscription meter.

GET/api/v1/usage/:subscriptionId/:variableId/historyPaginated usage history with the idempotency key behind each entry.

## Discovery

Read subscriptions, meters, and regions

GET/api/v1/subscriptionsKeyset-paginated subscription summaries in the key’s scope.

GET/api/v1/subscriptions/:idFetch one subscription summary by its Revvly id.

GET/api/v1/subscriptions/by-external/:externalIdResolve a subscription summary by your own externalId.

GET/api/v1/variablesDiscover meter ids and slugs for usage reporting.

GET/api/v1/regionsList billing regions and their supported currencies.

## Webhooks

Push payment status into Revvly

POST/api/v1/webhooks/invoice-paymentRecord a full or partial payment from your payment system.

## GraphQL

Curated public schema for clients, subscriptions and prospects

POST/api/v1/graphqlSend queries and mutations against the curated public schema.

QUERYclientRead a client with region, subscriptions, invoices, and receivables.

MUTATIONcreateProspectSubmit a form prospect — organization, contact, and lead.

MUTATIONcreateClientProvision a billing client in your tenant.

MUTATIONupdateClientCorrect a client’s name, externalId, address, tax id or payment terms.

MUTATIONcreateSubscriptionProvision a subscription for a client, with a starting quantity per component and its own externalId.

MUTATIONchangeSubscriptionPlanChange its plan or seat count, cancel it, set auto-renew or end its trial.

## Forms

Submit answers to a published form from your backend

GET/api/v1/forms/:publicIdThe live questions and settings of a form, to build your own front end.

POST/api/v1/forms/:publicId/submissionsSubmit a form from the browser, no key needed. Runs the form steps.

POST/api/v1/forms/:publicId/uploadsGet a signed upload address for one file of a file-upload question.

MUTATIONsubmitFormSubmit with an API key, with idempotency keys and a higher daily limit.

## Support

Sign users in and build your own support chat

MUTATIONcreateEndUserTokenSign one of your users in to the support chat, from your backend.

POST/api/v1/support/graphqlThe chat API a widget calls with an end-user token.

QUERYmyTicketsThe signed-in user's support requests, most recent first.

QUERYticketMessagesMessages on one of the user’s requests, paged.

MUTATIONcreateTicketOpen a support request with its first message.

MUTATIONsendMessageReply on one of the user’s requests; reopens a closed one.

MUTATIONmarkReadClear the unread count and cancel the reply email.

MUTATIONupdateMyNotificationPreferencesLet the user turn the email about unread replies, and progress updates, off or back on.

MUTATIONcloseTicketLet the user close their own request.

POST/api/v1/support/chat/attachmentsA file for the user to send on a request: images, PDF or text, up to 20 MB.

GET/api/v1/support/chat/streamServer-sent events for the signed-in user's requests: replies, status, typing.

MUTATIONupsertSupportUsersCreate or update up to 500 of your users, with attributes, from your backend.

MUTATIONupsertKnowledgeArticlesPush up to 50 of your help articles, each with the roles and plans that may read it.

MUTATIONdeleteKnowledgeArticlesRemove up to 200 articles by your own id.

MUTATIONfinishKnowledgeSyncRemove what a full refresh did not send, once every article has been pushed.

MUTATIONrequestHumanLet the user hand a request from the AI assistant to your support team.

MUTATIONrateAnswerRESOLVED closes the request as solved; NOT_HELPFUL hands it to a person.

