Applications
Represent your end-customers with applications for webhook isolation
Applications are the core unit of customer isolation in Nahook. Each application represents one of your end-customers and provides them with their own set of webhook endpoints.
Applications require the Developer Portal feature, available on the Pro plan and above.
When to Use Applications
If you're building a B2B platform and your customers need webhooks, applications give you:
- Customer isolation — each customer's endpoints are scoped to their application
- Developer Portal access — create portal sessions per application so customers self-manage their endpoints
- Filtering — view and manage endpoints per customer in the dashboard
Creating Applications
Via the Dashboard
Navigate to Developer Portal in your workspace sidebar. Click Create Application and provide:
- Name — a human-readable name for the customer (e.g., "Acme Corp")
- External ID (optional) — your internal identifier for this customer (e.g.,
cust_123,org_abc). Must be unique per workspace when provided.
Via the Management API
curl -X POST https://api.nahook.com/management/v1/workspaces/{workspaceId}/applications \
-H "Authorization: Bearer nhm_..." \
-H "Content-Type: application/json" \
-d '{
"externalId": "cust_123",
"name": "Acme Corp",
"metadata": {
"plan": "enterprise"
}
}'{
"id": "app_abc123",
"externalId": "cust_123",
"name": "Acme Corp",
"metadata": { "plan": "enterprise" },
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-15T10:30:00.000Z"
}Via the Dashboard API
The same CRUD operations are available through the session-authenticated dashboard API:
curl -X POST https://api.nahook.com/api/workspaces/{workspaceId}/applications \
-H "Authorization: Bearer <session-token>" \
-H "Content-Type: application/json" \
-d '{
"externalId": "cust_123",
"name": "Acme Corp"
}'Creating Endpoints for an Application
Once an application exists, you can create endpoints scoped to it:
curl -X POST https://api.nahook.com/management/v1/workspaces/{workspaceId}/applications/{appId}/endpoints \
-H "Authorization: Bearer nhm_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://acme.com/webhooks",
"description": "Production webhook"
}'Alternatively, your customer can create their own endpoints through the Developer Portal.
Listing Application Endpoints
View all endpoints belonging to an application:
curl https://api.nahook.com/api/workspaces/{workspaceId}/applications/{appId}/endpoints \
-H "Authorization: Bearer <session-token>"Metadata
Applications support up to 5 key-value metadata pairs for your own tracking:
{
"metadata": {
"plan": "enterprise",
"region": "us-east",
"accountManager": "[email protected]"
}
}Application Lifecycle
When you delete an application, all endpoints belonging to that application are also deleted (cascade delete). This is useful for customer offboarding.
Integration with Developer Portal
The typical flow is:
- Create an application for each of your customers
- Create a portal session referencing the application's ID
- Redirect your customer to the portal URL
- The customer manages their own endpoints within their application's scope
See the Developer Portal overview and embedding guide for details.