Create Your First Application
Applications represent the products or services that consume PUGUH infrastructure. Each application gets its own API keys, member access, and usage tracking within an organization.
Understanding Applications
Applications provide an additional layer of organization:
Organization (Acme Corp)
├── Application: Production API
│ ├── API keys for live environment
│ ├── Production member access
│ └── Usage & billing tracking
├── Application: Staging API
│ ├── Test API keys
│ └── Development member access
└── Application: Mobile App
├── App-specific API keys
└── Mobile team access Creating an Application
Via the Dashboard
- Navigate to your organization's dashboard
- Click "Applications" in the sidebar or header
- Click "New App"
- Fill in the application details:
| Field | Description | Example |
|---|---|---|
| Name | Descriptive application name | "Production API" |
| Slug | URL identifier | "production-api" |
| Environment | Type of environment | Production/Staging/Development |
| Description | Optional details | "Main production service" |
- Click "Create Application"
Via API
curl -X POST https://api-puguh.arsaka.io/api/v1/applications \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Organization-ID: YOUR_ORGANIZATION_ID" \
-H "Content-Type: application/json" \
-d '{
"name": "Production API",
"slug": "production-api",
"environment": "production",
"description": "Main production service"
}' Application Environments
We recommend using environments to separate concerns:
| Environment | Purpose | Characteristics |
|---|---|---|
| Production | Live traffic | Strict change control, monitoring |
| Staging | Pre-production testing | Mirrors production, safe to test |
| Development | Active development | Frequent changes, experimentation |
Warning
Be careful when modifying production applications. Always test in staging first.
Application Scoping
Resources can be scoped at two levels:
Organization-Level Resources
- Shared across all applications in the organization
- Useful for company-wide settings
- "Organization-wide billing plan"
Application-Level Resources
- Isolated to a specific application
- Environment-specific configurations
- "Staging API keys for testing"
Application Limits by Plan
| Plan | Max Applications |
|---|---|
| Free | 1 |
| Pro | 5 |
| Business | Unlimited |
| Enterprise | Unlimited |
Switching Between Applications
If your organization has multiple applications:
- Use the application selector in the header (next to organization)
- Or navigate via Applications in the sidebar
- The URL updates to reflect the application:
/app/{organization}/{application}/...
Application Settings
Access application settings via the gear icon or settings page:
- General: Name, description, environment type
- Access: Who can access this application
- API Keys: Application-specific API credentials
- Danger Zone: Delete application
Caution
Deleting an application removes all its API keys, member access, and usage history. This cannot be undone.
Best Practices
1. Separate by Environment
Create distinct applications for production, staging, and development.
2. Use Meaningful Names
Name applications clearly: "Backend API - Production" is better than "App 1".
3. Limit Production Access
Restrict who can modify production application settings and API keys.
4. Rotate API Keys
Regularly rotate API keys, especially for production applications.
Next Steps
With your application created: