Retrieve the project schema
Reads the project's products, perks, paywall locations and enabled providers, behind a sha256:<hex> ETag.
Answers 304 without a body when If-None-Match names the current version.
Guide: Types, API and config
A project secret key: vh_sk_... for production, vh_sk_test_... for test. Keep it on your servers.
In: header
Path parameters
The project's id, proj_.... A secret key works only in the project it belongs to.
Header parameters
The ETag of a previous response; when the schema has not changed since, the answer is 304 without a body.
Examples
curl -X GET "https://api.voidhash.com/api/v1/projects/proj_tz4a98xxat96iws9zmbrgj3a/schema" \ -H "Authorization: Bearer vh_sk_..."{ "enabledProviders": [ "appleAppStore" ], "locations": [ { "description": "After the last onboarding screen.", "name": "Onboarding upsell", "slug": "onboarding-end" }, { "description": null, "name": "Settings upgrade", "slug": "settings-upgrade" } ], "perks": [ { "name": "Premium", "slug": "premium" } ], "products": [ { "duration": "annual", "name": "Pro annual", "perks": [ "premium" ], "providers": [ { "configuration": { "productId": "com.example.pro_annual", "offers": [] }, "providerId": "appleAppStore" } ], "slug": "pro_annual", "type": "subscription" }, { "duration": "monthly", "name": "Pro monthly", "perks": [ "premium" ], "providers": [ { "configuration": { "productId": "com.example.pro_monthly", "offers": [ { "id": "winback-50", "offerId": "com.example.winback_50" } ] }, "providerId": "appleAppStore" } ], "slug": "pro_monthly", "type": "subscription" } ], "version": "sha256:3b7e1f9a0c4d8e2b6f5a1c9d7e3b0a4f8c2e6d1b5a9f3c7e0d4b8a2f6c1e5d9b"}{ "error": { "type": "invalid_request", "code": "string", "message": "string", "param": "string" }}{ "error": { "type": "unauthenticated", "code": "invalid_api_key", "message": "This secret key is not valid." }}{ "error": { "type": "permission_denied", "code": "permission_denied", "message": "Insufficient permissions." }}{ "error": { "type": "not_found", "code": "project_not_found", "message": "There is no project proj_tz4a98xxat96iws9zmbrgj3a, or this credential cannot use it.", "param": "projectId" }}{ "error": { "type": "internal", "code": "internal_error", "message": "Something went wrong on our side. Try again, and contact support with the Request-Id header if it keeps failing." }}Response body
application/json
application/json
application/json
application/json
application/json
application/json
Errors
This operation adds no error codes of its own. It can fail with the errors every operation shares, such as unauthenticated; see Errors.
More in Schema
Something wrong or missing on this page? Tell us by email or on Discord.