API Reference
REST API endpoints, authentication, pagination, and error handling.
Authentication
EGKits uses OAuth2 with JWT bearer tokens scoped per tenant. Obtain credentials from your tenant administrator and include the token in the Authorization header for every API call.
Security
Always store client secrets securely. Never expose them in client-side code or version control.
POST https://apps.egkits.com/connect/token
Content-Type: application/x-www-form-urlencoded
client_id={clientId}&client_secret={clientSecret}&grant_type=client_credentials&scope=api
GET https://apps.egkits.com/catalog/products?page=1&pageSize=20
Authorization: Bearer {access_token}
Tenant scoping
All API calls are tenant-scoped. Include the tenant context from your OAuth token; cross-tenant access is denied.
Each API client is bound to a single tenant workspace
Tokens carry tenant_id and scope claims validated on every request
Attempting to access another tenant's resources returns 403 Forbidden
OpenAPI Endpoint Browser
Browse the live endpoint catalog generated from the platform OpenAPI specification. Filter by path, method, or tag.
API Endpoint Catalog
Generated from OpenAPI · 250 endpoints · Platform 10.0/api/admin/dashboard/activity-chart
/api/admin/dashboard/statistics
/api/admin/sessions/active
/api/apps
/api/apps/{key}/items
/api/apps/for-tenant
/api/apps/my
/api/apps-catalog
/api/apps-catalog
/api/apps-catalog/{code}
/api/apps-catalog/{code}
/api/apps-catalog/{code}
/api/apps-catalog/{code}/toggle
/api/apps-catalog/groups
/api/apps-catalog/reorder
/api/backups
/api/backups
/api/backups/{id}
/api/backups/{id}
/api/backups/{id}/cancel
/api/backups/{id}/download/{artifact}
/api/backups/{id}/restore
/api/backups/{id}/status
/api/backups/summary
/api/billing/invoices
/api/billing/invoices
/api/billing/invoices/{id}
/api/billing/invoices/{id}
/api/billing/invoices/{id}
/api/billing/invoices/{id}/status
/api/billing/payments
/api/billing/payments
/api/billing/payments/{id}
/api/billing/payments/{id}
/api/billing/payments/{id}
/api/billing/summary
/api/billing/payment-methods
/api/billing/payment-methods
/api/billing/payment-methods/{id}
/api/billing/payment-methods/{id}
/api/billing/payment-methods/{id}
/api/billing/payment-methods/{id}/status
/api/billing/payments/{id}/approve
/api/billing/payments/{id}/receipt
/api/billing/payments/{id}/reject
/api/billing/payments/submissions
/api/billing/payments/webhook/{provider}
/api/blog/admin/analytics
/api/blog/admin/authors
/api/blog/admin/authors
/api/blog/admin/authors/{id}
/api/blog/admin/authors/{id}
/api/blog/admin/categories
/api/blog/admin/categories
/api/blog/admin/categories/{id}
/api/blog/admin/categories/{id}
/api/blog/admin/comment-statuses
/api/blog/admin/comments
/api/blog/admin/comments/{id}
/api/blog/admin/comments/{id}/status
/api/blog/admin/newsletter
/api/blog/admin/newsletter/{id}
/api/blog/admin/post-statuses
/api/blog/admin/posts
/api/blog/admin/posts
/api/blog/admin/posts/{id}
/api/blog/admin/posts/{id}
/api/blog/admin/posts/{id}
/api/blog/admin/posts/{id}/status
/api/blog/admin/stats
/api/blog/admin/tags
/api/blog/admin/tags
/api/blog/admin/tags/{id}
/api/blog/admin/tags/{id}
/api/email/accounts
/api/email/accounts
/api/email/accounts/connectivity
/api/email/accounts/test
/api/email/analytics/summary
/api/email/calendar/events
/api/email/calendar/import-todos
/api/email/compose
/api/email/contact-directory
/api/email/contact-directory/by-email
/api/email/contact-directory/by-source
/api/email/contact-directory/import
/api/email/contact-directory/import/template
/api/email/contact-directory/refresh
/api/email/contact-directory/source-groups
/api/email/contact-directory/source-kinds
/api/email/contact-directory/summary
/api/email/contacts/{contactId}
/api/email/contacts/{contactId}
/api/email/contacts/{contactId}/emails
/api/email/contacts/{contactId}/emails/{emailId}
/api/email/contacts/{contactId}/merge
/api/email/contacts/{contactId}/tags
/api/email/folders
/api/email/folders
/api/email/folders/{id}
/api/email/folders/{id}
/api/email/messages/{id}
/api/email/messages/{id}
/api/email/messages/{id}/attachments
/api/email/messages/{id}/attachments
/api/email/messages/{id}/attachments/{attId}
/api/email/messages/{id}/attachments/{attId}/content
/api/email/messages/{id}/attachments/{attId}/download
/api/email/messages/{id}/move
/api/email/messages/{id}/read
/api/email/messages/{id}/restore
/api/email/messages/export
/api/email/search
/api/email/send/{id}
/api/email/sync
/api/email/templates
/api/email/templates
/api/email/templates/{id}
/api/email/templates/{id}
/api/email/templates/{id}/preview
/api/email/templates/{id}/versions
/api/email/templates/{id}/versions
/api/features
/api/features
/api/features/{featureKey}
/api/features/{featureKey}
/api/features/{featureKey}/tenants/{tenantId}/override
/api/features/{featureKey}/tenants/{tenantId}/toggle
/api/features/overrides
/api/assets/base-url
/api/collaboration/online-users
/api/company/branding
/api/features/flags
/api/health
/api/health/ping
/api/public/currencies
/api/public/platform/telemetry
/api/system/db-status
/api/system/header-summary
/api/system/health
/api/system/info
/api/system/metrics
/api/system/performance
/api/home-dashboard/preferences
/api/home-dashboard/preferences
/api/home-dashboard/snapshot
/api/identity/2fa/backup-codes
/api/identity/2fa/disable
/api/identity/2fa/enable
/api/identity/2fa/status
/api/identity/2fa/verify
/api/identity/admin/security-alerts
/api/identity/admin/security-alerts/{tenantId}/{id}/status
/api/identity/admin/users/{userId}/sessions
/api/identity/admin/users/{userId}/sessions/{sessionId}
/api/identity/admin/users/{userId}/sessions/revoke-all
/api/identity/change-password
/api/identity/dashboard/security
/api/identity/password-status
/api/identity/security-alerts
/api/identity/security-alerts/{id}/status
/api/identity/security-events
/api/identity/sessions
/api/identity/sessions
/api/identity/sessions/{sessionId}
/api/identity/sessions/revoke
/api/identity/sessions/revoke-all
/api/identity/settings
/api/identity/settings
/api/notifications/{id}
/api/notifications/{id}/mark-read
/api/notifications/device-tokens
/api/notifications/device-tokens/{token}
/api/notifications/header
/api/notifications/mark-all-read
/api/notifications/recent
/api/password-policy
/api/password-policy/requirements
/api/public/blog
/api/public/blog/{slug}
/api/public/blog/{slug}/comments
/api/public/blog/{slug}/comments
/api/public/blog/{slug}/views
/api/public/blog/featured
/api/public/blog/feed.rss
/api/public/blog/newsletter
/api/public/blog/newsletter/unsubscribe
/api/public/blog/recommendations
/api/public/blog/related/{id}
/api/public/blog/sitemap.xml
/api/public/blog/taxonomy
/api/public-leads
/api/public-leads/{id}
/api/public-leads/{id}
/api/public-leads/{id}/retry-confirmation
/api/public-leads/{id}/status
/api/public-leads/stats
/api/public-leads/statuses
/api/public/apps-catalog
/api/public/leads/contact
/api/public/leads/sales
/api/public/leads/schedule
/api/public/tenants/subdomain-availability/{subdomain}
/api/public/tenants/trial
/api/public/tenants/trial/{reference}/status
/api/public/verify-email/confirm
/api/public/verify-email/send
/api/roles
/api/roles
/api/roles/{higherRoleId}/hierarchy/{lowerRoleId}
/api/roles/{id}
/api/roles/{id}
/api/roles/{id}/permissions
/api/roles/{id}/permissions
/api/roles/{roleId}/activate
/api/roles/{roleId}/apps
/api/roles/{roleId}/apps
/api/roles/{roleId}/assignment-limit-reached
/api/roles/{roleId}/can-assign/{userId}
/api/roles/{roleId}/can-manage
/api/roles/{roleId}/deactivate
/api/roles/{roleId}/extend-expiration
/api/roles/{roleId}/user-count
/api/roles/active
/api/roles/bulk-assign-permissions
/api/roles/bulk-update
/api/roles/category/{category}
/api/roles/cleanup-expired
/api/roles/department/{department}
/api/roles/expired
/api/roles/export
/api/roles/import
/api/roles/manageable
/api/roles/over-utilized
/api/roles/paged
/api/roles/priority/{minPriority}/{maxPriority}
/api/roles/requiring-approval
/api/roles/statistics
/api/roles/template/{templateName}
/api/roles/unused
/api/roles/usage-report
/api/roles/validate-import
/api/subscription-plans
/api/subscription-plans
/api/subscription-plans/{planCode}
/api/subscription-plans/{planCode}
/api/subscription-plans/{planCode}
/api/subscription-plans/{planCode}/apps
/api/subscription-plans/{planCode}/apps
/api/subscription-plans/comparison
Webhooks
Register webhook endpoints to receive real-time events for invoices, payments, and catalog changes.
invoice.issued, invoice.paid, payment.received
product.created, product.updated, stock.adjusted
HMAC-SHA256 signatures on every payload for verification
POST /api/v1/webhooks
{
"url": "https://your-app.com/hooks/egkits",
"events": ["invoice.issued", "invoice.paid"],
"secret": "{yourSigningSecret}"
}
Rate limits
Default 1,000 requests/minute per tenant API key. Burst allowance applies; 429 responses include Retry-After.
| Tier | Limit | Notes |
|---|---|---|
| Standard | 1,000 / min | Per tenant API key |
| Enterprise | 5,000 / min | Negotiated per contract |
Conventions
Versioning
Path-based: /api/v1/...
Pagination
page, pageSize, totalCount
Filtering
q, sortBy, sortDir
Errors
Problem Details (RFC 7807)
{
"type": "https://tools.ietf.org/html/rfc7807",
"title": "Not Found",
"status": 404,
"detail": "Product with id '123' was not found.",
"instance": "/catalog/products/123"
}
SDKs
.NET SDK (coming soon)
JavaScript SDK (coming soon)
Guides
Support
Related Articles
Was this helpful?
Your feedback helps us improve EGKits documentation.Ready to put this into production?
Explore the module in a live demo, start a tenant trial, or speak with our team about a phased rollout.