---
title: "Service: /members/{member}/projects [POST]"
source: https://dev.pageseeder.com/api/services/create-project-POST.html
description: "Creates a new project in PageSeeder for a specified member. Requires administrator permissions and mandatory parameters: description and shortname. Optional parameters include project title, visibility, access level, and template customization."
last_updated: 2026-09-02T11:36:09+10:00
document_type: api_endpoint
operation_id: group-POST
resource_id: group
path_template: /members/{member}/projects
http_method: POST
api_category: group
implementation_version: 6.3000
api_since: 5.4101
deprecated_since: null
obsolete_since: null
api_support: supported
cache_control: N/A
generated_at: 2026-09-02
tokens: ~644
---

# /members/\{member\}/projects \[POST\]

## Description

Creates a new [project](../../reference/glossary/project.md) in PageSeeder.

## Parameters

| Name | Description | Required | Type | Default |
| --- | --- | --- | --- | --- |
| description | Description of project | yes | string |  |
| shortname | Shortname of project | yes | string |  |
| host | The hostname for the default group folder (required if projectname not specified) | maybe | string |  |
| hosturl | The host URL for the default group folder (required if projectname not specified) –**DEPRECATED** use `host` | maybe | string |  |
| owner | Owner of project/group (required if projectname not specified) | maybe | string |  |
| access | Access to group and comments `[public\|member]` | no | enum | `member` |
| addmember | Whether to add the current member as a manager | no | boolean | `true` |
| detailstype | The name of the member details config file | no | string |  |
| message | Subscription message | no | string |  |
| projectname | Parent project name | no | string |  |
| relatedurl | URL of a related website | no | string |  |
| template | The template folder for customizations | no | string |  |
| title | The user friendly title of project | no | string |  |
| visibility | The group name this is visible to or `public` | no | string | \[projectname-shortname\] |

> **Note:** In PageSeeder 6.1 and higher the project defaults are `defaultrole="contributor"` and `defaultnotify="immediate"` (`defaultnotify` is currently not used by projects).

## Permission

This service requires administrator.

## Response

```xml

<project-creation>
  <project id="123"
           name="myproject-mygroup"
           [title="My group"]
           description="My own group"
           owner="My Organisation"
           access="[public|member]"
           common="[true|false]"
           [relatedurl="http://mycompany/mypage.html"]
           [visibility="myproject-mygroup"]
           [template="myproject"]
           [detailstype="mydetails"]
           editurls="[true|false]"
           commenting="[public|reviewer|contributor]"
           moderation="[reviewer|email|all]"
           registration="[normal|moderated|confirmed]"
           defaultrole="[reviewer|contributor]"
           defaultnotify="[immediate|daily|none]" >
    <message>Welcome to the group!</message>
  </project>
</project-creation>
```

## Error Handling

| Code | Cause / Description |
| --- | --- |
| 0x110C | Missing required hosturl if projectname is not |
| 0x0201 | Missing required shortname or description  |

