This is a reference example, not a required API design or a drop-in implementation. Adapt the endpoints, fields, responses, and fulfillment steps to your product. Only the linked ZeroClick integration requirements are platform contracts.
Example choices
- ZeroClick policy: this example uses
requiredto illustrate a seller that wants a verified agent owner before accepting registrations. Useofforrequestedinstead if that verification serves no purpose for your event. - Seller input: require
attendeeEmailfor the event invitation. The verified owner can register a colleague in this example; the attendee address is a separate, unverified input. - Fulfillment: create the attendee registration in your event platform and return its confirmation. ZeroClick does not register the attendee for you.
Build the example
Describe the action and endpoints
Add a service such as
webinar-registration and describe its outcome and $0 cost. Register your endpoint schemas without meter links, following shared setup. These paths are suggestions for your API:These endpoints belong to your upstream API and are called through your pay URL. They are not built-in ZeroClick API operations.
Define the seller inputs
This reference design uses the following inputs. Adapt their names and required status to your product:
For example, the request body could be:
Validate and fulfill the request
Use the Return the response without reporting billable usage. Your application supplies the fulfillment logic and error handling; the seller SDK supplies request verification.
verifyFreeActionRequest helper from shared setup with service slug webinar-registration. Return a guard denial immediately, then parse and validate your input. Return 400 for malformed or missing fields before creating any records or sending messages.After request verification, validate the attendee fields and check that registration is open. The Require policy establishes the agent owner’s verified email; it does not verify attendeeEmail or ensure that the addresses match.Keep the verified owner and attendee address as separate values. This example permits registration for another person. If your event requires self-registration, define and enforce that rule explicitly, including how to handle an address mismatch.Deduplicate by the verified agent id and operationId, then create the registration in your event platform. Return confirmation only after the platform confirms it. If the event is full or closed, return a clear refusal, such as 409 registration_closed.If you offer cancellation, enforce ownership of the registration and make repeated cancellations safe.Return 201 Created with the registration reference and event time. Include a join URL only if your event platform permits sharing it this way. State whether joining instructions are already available or will arrive separately.Test through your pay URL
Use a staging integration. Save the example body as Run the shared integration checks, then test the cases specific to this action:
request.json, replace its values and the placeholder pay URL below, and get an agent token through your storefront’s /auth.md recipe.- Submit a valid attendee email through an unclaimed agent: ZeroClick still rejects the call under Require.
- Use an agent claimed with a verified email but omit
attendeeEmail: your API rejects the input. - Supply a different attendee address: this reference design allows it; test your own rule if you change that behavior.
- Repeat the same
operationId: one registration exists and the same reference is returned. - Try a full or closed event: no registration or invitation is created.
Describe the agent's workflow
Find an event that fits the user’s interests and schedule. Follow the storefront’s
/auth.md claim instructions when the ZeroClick policy requires verification. Separately collect the attendee details, confirm the user’s intent, register, and report the confirmed time and joining instructions.Publish these instructions with your service and add discovery signals on the relevant website page.