This section contains the API operations for the OAuth 2.0 Authorization Code Flow.
- Updates the attributes for an authenticated user in the Zephr user store.
Public API Reference (2025-07-30)
The Zephr Public API provides common client-side actions tied to a session cookie. Unlike the Admin API, neither users nor other resources can be dereferenced; the only data that can be accessed is owned by the user who is currently signed-in. This design is used to protect other users from malicious attacks.
You can find the base URL for the Public API by navigating to your site domains. To do this, select Sites from the Delivery menu, select your site, and then click the Site Domains button. The base URL is the Live domain.
Zephr forms use the Public API by default, with relative URLs based on the base URL.
Request
Updates the attributes for an authenticated user in the Zephr user store. The behaviour for the POST and PATCH methods on this endpoint is identical. The provided attributes are saved for the user. Any new attributes are added. Any existing attributes with the same keys are updated. Any existing attributes with different keys remain unchanged. The request can also include an optional 'blaize-validator' property to authenticate a previously partially registered user.
An optional password that can be used to validate an outstanding partial registration.
- Mock serverhttps://developer.zuora.com/_mock/zephr-api-reference/zephr-public-api/blaize/profile
- https://demo-site/blaize/profile
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developer.zuora.com/_mock/zephr-api-reference/zephr-public-api/blaize/profile \
-H 'Content-Type: application/json' \
-H 'cookie: blaize_session=57685913-7365-4dae-a425-1c2c2f72cc0' \
-b blaize_session=57685913-7365-4dae-a425-1c2c2f72cc0Request
Updates the attributes for an authenticated user in the Zephr user store. The behaviour for the POST and PATCH methods on this endpoint is identical. The provided attributes are saved for the user. Any new attributes are added. Any existing attributes with the same keys are updated. Any existing attributes with different keys remain unchanged. The request can also include an optional 'blaize-validator' property to authenticate a previously partially registered user.
An optional password that can be used to validate an outstanding partial registration.
- Mock serverhttps://developer.zuora.com/_mock/zephr-api-reference/zephr-public-api/blaize/profile
- https://demo-site/blaize/profile
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
https://developer.zuora.com/_mock/zephr-api-reference/zephr-public-api/blaize/profile \
-H 'Content-Type: application/json' \
-H 'cookie: blaize_session=57685913-7365-4dae-a425-1c2c2f72cc0' \
-b blaize_session=57685913-7365-4dae-a425-1c2c2f72cc0Request
Extended Profile is used to store additional user information that is not part of the core profile. This endpoint is designed to be used for retrieving the user's Extended Profile. The body can be any valid JSON.
- Mock serverhttps://developer.zuora.com/_mock/zephr-api-reference/zephr-public-api/blaize/profile/{appId}
- https://demo-site/blaize/profile/{appId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.zuora.com/_mock/zephr-api-reference/zephr-public-api/blaize/profile/{appId}' \
-H 'cookie: `blaize_session=...` (string)' \
-b '`blaize_session=...` (string)'- jsonExample
- arrayExample
{ "first_name": "John", "last_name": "Doe", "user_details": { "email_address": "john.doe@zuora.com", "employment": { … }, "consent_prefs": { … }, "interests": [ … ] } }
Request
Generates a new preview of the price that Stripe will charge the customer if they create a new subscription for the specified plan. Note: This method does not create any entities in Stripe and does not result in any payments being made.
- Mock serverhttps://developer.zuora.com/_mock/zephr-api-reference/zephr-public-api/zephr/payment/stripe/subscriptions/{externalId}/change-previews
- https://demo-site/zephr/payment/stripe/subscriptions/{externalId}/change-previews
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://developer.zuora.com/_mock/zephr-api-reference/zephr-public-api/zephr/payment/stripe/subscriptions/{externalId}/change-previews' \
-H 'Content-Type: application/json' \
-b blaize_session=YOUR_API_KEY_HERE \
-d '{
"plan_id": "string"
}'{ "total": 5000, "sub_total": 4500 }