List Apps
Retrieve a paginated list of all apps in your organization.
Endpoint
text
GET /v1/apps
Authentication
text
X-API-Key: apps_your_api_key
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit |
number | 20 | Number of apps per page (max 100) |
offset |
number | 0 | Number of apps to skip for pagination |
Response
Success (200 OK)
json
{
"success": true,
"apps": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "cf2701f8-fc4d-4002-8d52-92dd0d1e82a7",
"name": "My App",
"description": "My awesome app",
"app_store_url": null,
"play_store_url": null,
"website_url": null,
"engagement_platform": "none",
"engagement_credentials": null,
"api_key": "ak_abc123...",
"api_secret": "as_...",
"created_at": "2026-05-16T20:14:48.939Z",
"updated_at": "2026-05-16T20:14:48.939Z",
"platform": "web",
"bundle_id": null,
"environment": "production",
"data_retention_days": 365,
"timezone": "UTC",
"features": {
"push": true,
"analytics": true,
"audiences": true,
"ai_insights": true
},
"status": "active",
"context_info": null,
"url_context": null,
"email_platform": "none",
"email_credentials": null,
"cached_user_count": 0,
"cached_event_count": 0,
"cached_last_event": null,
"stats_last_updated": "2026-05-16T20:14:50.519Z",
"webhook_url": null,
"webhook_enabled": false,
"webhook_use_query_params": false,
"authorized_domains": []
}
],
"pagination": {
"limit": 20,
"offset": 0,
"total": 1,
"has_more": false
}
}
Error (401 Unauthorized)
json
{
"error": "Invalid or revoked API key"
}
Examples
List All Apps (cURL)
bash
curl -X GET https://api.appizer.com/v1/apps \
-H "X-API-Key: apps_your_api_key"
List with Pagination (cURL)
bash
curl -X GET "https://api.appizer.com/v1/apps?limit=10&offset=0" \
-H "X-API-Key: apps_your_api_key"
List Apps with JavaScript/Node.js
javascript
const apiKey = 'apps_your_api_key';
const response = await fetch('https://api.appizer.com/v1/apps', {
method: 'GET',
headers: {
'X-API-Key': apiKey
}
});
const result = await response.json();
if (result.success) {
console.log(`Total apps: ${result.pagination.total}`);
result.apps.forEach(app => {
console.log(`- ${app.name} (${app.id})`);
});
if (result.pagination.has_more) {
console.log(`More apps available. Use offset=${result.pagination.offset + result.pagination.limit}`);
}
} else {
console.error(`Error: ${result.error}`);
}
List Apps with Python
python
api_key = 'apps_your_api_key'
headers = {
'X-API-Key': api_key
}
# Get first page
response = requests.get(
'https://api.appizer.com/v1/apps?limit=10&offset=0',
headers=headers
)
result = response.json()
if result.get('success'):
print(f"Total apps: {result['pagination']['total']}")
for app in result['apps']:
print(f" - {app['name']}: {app['id']}")
else:
print(f"Error: {result.get('error')}")
Iterate Through All Apps (Node.js)
javascript
const apiKey = 'apps_your_api_key';
async function listAllApps() {
const allApps = [];
let offset = 0;
const limit = 50;
let hasMore = true;
while (hasMore) {
const response = await fetch(
`https://api.appizer.com/v1/apps?limit=${limit}&offset=${offset}`,
{
headers: {
'X-API-Key': apiKey
}
}
);
const result = await response.json();
if (result.success) {
allApps.push(...result.apps);
hasMore = result.pagination.has_more;
offset += limit;
} else {
throw new Error(result.error);
}
}
return allApps;
}
// Usage
listAllApps().then(apps => {
console.log(`Retrieved ${apps.length} apps`);
apps.forEach(app => {
console.log(` ${app.name}: ${app.api_key}`);
});
});
Pagination
The response includes pagination information:
total: Total number of apps in your organizationlimit: Number of apps returned in this requestoffset: Starting position for this pagehas_more: Whether there are more apps to fetch
To fetch the next page, increment offset by the limit value.