/api/openverb/checkCheck if a user has access to perform a specific verb action.
{
"verbId": "export_data",
"userId": "user_123",
"appId": "app_456"
}{
"allowed": true,
"userTier": "pro",
"message": "Access granted",
"usageLimit": {
"limit": 100,
"used": 45,
"remaining": 55,
"resetAt": "2024-01-01T00:00:00Z"
}
}/api/openverb/libraryRetrieve the complete OpenVerb library for your app.
?appId=app_456
{
"namespace": "myapp.core",
"version": "1.0.0",
"verbs": [
{
"id": "verb_789",
"name": "export_data",
"category": "file_system",
"description": "Export user data to CSV"
}
]
}/api/openverb/entitlementsGet all verbs a user is entitled to access based on their tier.
?userId=user_123&appId=app_456
{
"userId": "user_123",
"tier": "pro",
"entitlements": [
{
"verbId": "export_data",
"verbName": "export_data",
"usageLimit": {
"limit": 100,
"used": 45,
"period": "monthly"
}
}
]
}All API requests require authentication using your API key in the Authorization header:
Authorization: Bearer pk_live_...
The React SDK provides components and hooks for easy integration:
import {
PaywallOSProvider,
usePaywallOS
} from '@paywallos/sdk'
// In your component
const { checkVerb, userTier } = usePaywallOS()
const canExport = await checkVerb('export_data')