Acme API - Projects
API Projects Endpoints Overview: Create and manage projects, including membership and settings.
Endpoint: GET /api/v1/projects
Description: List all projects accessible to the authenticated user. Parameters: - status (string, optional): Filter by active, archived, or all - sort (string, optional): Sort by name, created_at, or updated_at Response: - projects (array): List of project objects - total (integer): Total count
Endpoint: POST /api/v1/projects
Description: Create a new project. Parameters: - name (string, required): Project name, must be unique within org - description (string, optional): Project description - visibility (string, optional): public or private, default private Response: - id (string): New project ID - name (string): Confirmed project name - created_at (string): ISO 8601 timestamp
Endpoint: GET /api/v1/projects/{project_id}
Description: Get project details including member list and settings. Parameters: - project_id (string, required): Project identifier Response: - id (string): Project ID - name (string): Project name - description (string): Description - members (array): List of member objects with roles - settings (object): Project configuration - created_at (string): Creation timestamp
Endpoint: PUT /api/v1/projects/{project_id}
Description: Update project settings and metadata. Parameters: - project_id (string, required): Project to update - name (string, optional): New name - description (string, optional): New description - visibility (string, optional): Updated visibility Response: - id (string): Project ID - updated_fields (array): Changed fields
Endpoint: POST /api/v1/projects/{project_id}/members
Description: Add a member to the project. Parameters: - project_id (string, required): Target project - user_id (string, required): User to add - role (string, optional): Member role in project, default "contributor" Response: - project_id (string): Project ID - user_id (string): Added user - role (string): Assigned role
Endpoint: DELETE /api/v1/projects/{project_id}/members/{user_id}
Description: Remove a member from the project. Parameters: - project_id (string, required): Target project - user_id (string, required): User to remove Response: - status (string): "removed"