Glossary
This page defines key terms used throughout the Application Kit documentation.
Authentication
- Public Key
- An API key intended for client-side use (browsers, mobile apps). Public keys are restricted by domain/origin and have limited permissions.
- Private Key
- An API key intended for server-side use. Private keys have full access and should never be exposed to clients.
- User Token
- Authentication via user credentials (JWT). Used for user-specific operations like accessing the Woosmap console.
- Project Token
- The token object attached to a request after successful authentication. Contains information about the organization, project, and permissions. Accessed via
request.project_tokenorget_project_token(request). - Readable Token
- The raw string representation of a token as received from the client (before validation).
Organization Structure
- Organization
- A top-level account in Woosmap. Contains one or more projects.
- Project
- An individual project within an organization. Each project has its own API keys and configuration.
- Project Reference
- A lightweight object containing just
organization_idandproject_id, used for identification without full token data.
Modules
- Shinobi
- The internal name for the Django Ninja integration module (
application_kit.shinobi). ProvidesWoosmapApiclass and authentication schemes for Django Ninja. Note: Django Ninja is not recommended for new projects; use FastAPI instead.
Infrastructure
- Bender
- Woosmap's internal configuration management system. Services declare their dependencies (databases, other services) in an
application.jsonmanifest file. - Manifest
- The
application.jsonfile that declares a service's dependencies and configuration. Used by Bender to provision infrastructure. - Redis
- In this documentation, "Redis" refers to Redis or any API-compatible alternative such as Valkey. Application Kit uses the standard Redis protocol and works with both.
Rate Limiting
- Rate Limit Key
- Redis key used to track request counts. Format:
ratelimit:{endpoint}:{org_id}:{project_id} - Rate Limit Override
- Per-project, per-endpoint configuration that overrides default rate limits. Stored in Redis as a hash.