Skip to main content

Project Concept

Organization

Logical grouping of API Proxies

Access Control

Project-based user and role management

Collaboration

Team members working together

Isolation

Data and setting isolation between projects

Project Structure

The following diagram shows what a project contains at a high level:

Project and Environment Relationship

The following diagram shows the relationship between project and environment concepts:

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

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.
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

Team-Based Organization

Different teams working in their own projects. For example:
  • E-Commerce Team → E-Commerce Project
  • Payment Team → Payment Project
  • Reporting Team → Reporting Project

Customer-Based Organization

Separate projects for different customers. For example:
  • Customer A → Customer A Project
  • Customer B → Customer B Project

Product-Based Organization

Separate projects for different products. For example:
  • Mobile Application → Mobile API Project
  • Web Application → Web API Project

Version-Based Organization

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.

Next Steps