What is Project?
Project Concept
Logical grouping of API Proxies
Project-based user and role management
Team members working together
Data and setting isolation between projects
Project Structure
The following diagram shows what a project contains at a high level:
flowchart TD
Project[📁 Project<br/>Logical Organizational Unit]
Project --> APIProxies[API Proxies<br/>API Configurations]
Project --> Policies[Policies<br/>Security, Traffic, Transformation]
Project --> Connections[Connections<br/>Database, Message Queue]
Project --> Connectors[Connectors<br/>Integration Components]
Project --> Variables[Variables<br/>Environment Variables]
Project --> Settings[Settings<br/>CORS, Timeout, Error Messages]
Project --> Members[Members<br/>Project Owner, Administrator,<br/>Developer, Viewer]
Project --> GatewayPath[Gateway Address<br/>Relative Path Prefix]
style Project fill:#e3f2fd,stroke:#1976d2,stroke-width:3px
style APIProxies fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style Policies fill:#fff3e0,stroke:#f57c00,stroke-width:2px
style Connections fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
style Connectors fill:#fce4ec,stroke:#c2185b,stroke-width:2px
style Variables fill:#fff9c4,stroke:#f9a825,stroke-width:2px
style Settings fill:#f5f5f5,stroke:#616161,stroke-width:2px
style Members fill:#e1f5ff,stroke:#0277bd,stroke-width:2px
style GatewayPath fill:#f1f8e9,stroke:#558b2f,stroke-width:2px
Project and Environment Relationship
The following diagram shows the relationship between project and environment concepts:
flowchart TB
Project[📁 Project<br/>Logical Organizational Unit<br/>Which APIs work together?]
Project --> API1[Product API]
Project --> API2[Order API]
Project --> API3[Payment API]
API1 -->|Deploy| DevEnv[🔵 Development Environment<br/>v1.0]
API1 -->|Deploy| TestEnv[🟡 Test Environment<br/>v1.1]
API1 -->|Deploy| ProdEnv[🟢 Production Environment<br/>v1.2]
API2 -->|Deploy| DevEnv
API2 -->|Deploy| TestEnv
API2 -->|Deploy| ProdEnv
API3 -->|Deploy| DevEnv
API3 -->|Deploy| TestEnv
API3 -->|Deploy| ProdEnv
DevEnv -.->|Physical/Resource Unit| EnvNote[🌍 Environment<br/>Where do APIs run?<br/>Kubernetes Namespace]
TestEnv -.-> EnvNote
ProdEnv -.-> EnvNote
style Project fill:#e3f2fd,stroke:#1976d2,stroke-width:3px
style API1 fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style API2 fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style API3 fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style DevEnv fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
style TestEnv fill:#fff3e0,stroke:#f57c00,stroke-width:2px
style ProdEnv fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
style EnvNote fill:#f5f5f5,stroke:#616161,stroke-width:2px,stroke-dasharray: 5 5
Project Features
Project Contents
A project can contain:
- API Proxies: All API Proxies belonging to the project
- Policies: Project-specific policy definitions
- Connections: Database, message queue, etc. connections
- Connectors: Integration connectors
- Variables: Project-level variables
- Gateway Address (Relative Path): The prefix that all API Proxy gateway addresses within the project will start with. For example, when the project gateway address is "account", the API proxy gateway address appears as
/account/proxy1. - Settings: Project-specific configurations
Apinizer provides a Default project upon initial setup. This Default project cannot be edited or deleted.
Project Management
Project Creation
When creating a new project, the following information is defined:
- Project Name: Unique name that identifies the project
- Activate Gateway Address: Activated if a common prefix is desired for all gateway addresses within the project
- Gateway Address (Relative Path): The prefix expression that all API Proxy gateway addresses to be defined within the project will start with. An automatic UUID is provided by the system
- Description: Purpose and scope of the project
- Members: Users with access to the project and their roles
- Visibility: Project visibility settings
A project can be created in two ways:
- New (Create): New project definition
- Import Project: Loading a project from an existing project configuration file
For detailed project creation and management, you can refer to the Project Management page.
Project Members and Roles
Each project can have members with different roles:
- Project Owner: Owner of the project. Has the authority to manage, edit, and delete the project. If the user with the Project Owner role is removed from the project, the Admin user automatically becomes the Project Owner.
- Project Administrator: Authority to manage the project
- Developer: Authority to create and edit API Proxy
- Viewer: View-only authority
These roles provide project-based access control.
Project and Environment Relationship
Projects and environments are different concepts:
- Project: Logical organizational unit (which APIs work together?)
- Environment: Physical/resource unit (where do APIs run?)
API Proxies in a project can be deployed to different environments:
Project: E-Commerce APIs
├─ Development Environment
│ ├─ Product API v1.0
│ └─ Order API v1.0
├─ Test Environment
│ ├─ Product API v1.1
│ └─ Order API v1.1
├─ Sandbox Environment
│ ├─ Product API v1.2
│ └─ Order API v1.2
└─ Production Environment
├─ Product API v1.2
└─ Order API v1.2
When creating an Environment, you can determine which projects the environment can be used in. If the project selection is left empty, the environment can be used in all projects. If a project is selected, it means that only API Proxies within that project can be deployed to this environment.
Project Use Cases
Different teams working in their own projects. For example:
- E-Commerce Team → E-Commerce Project
- Payment Team → Payment Project
- Reporting Team → Reporting Project
Separate projects for different customers. For example:
- Customer A → Customer A Project
- Customer B → Customer B Project
Separate projects for different products. For example:
- Mobile Application → Mobile API Project
- Web Application → Web API Project
Separate projects for different API versions. For example:
- API v1 → API v1 Project
- API v2 → API v2 Project
Project Operations
Project Export/Import
Projects can be exported and moved to other environments or systems:
- Export: Exporting all project content in JSON/YAML format
- Import: Importing the exported project to another environment or system
- Cross-Environment Migration: Moving projects between different environments
Project Templates
Frequently used project configurations can be saved as templates and used when creating new projects.
Project Deletion
Project deletion can be performed by users with the Project Owner or System Administrator role.
Important: When you delete a project, all assets belonging to that project (API Proxies, Connection Configurations, Credentials, etc.) and configuration information will be deleted. This operation cannot be undone.
The Default project cannot be deleted or edited.