---
title: "Service: /groups/{group}/members/invite [POST]"
source: https://dev.pageseeder.com/api/services/invite-member_post.html
description: "Invites a member to a group in PageSeeder via POST request. Creates the member if non-existent. Supports custom fields, notification settings, and role assignment. Requires manager permissions."
last_updated: 2026-09-08T13:38:13+10:00
document_type: api_endpoint
operation_id: membership-POST
resource_id: membership
path_template: /groups/{group}/members/invite
http_method: POST
api_category: membership
implementation_version: 6.2004
api_since: 4.9100
deprecated_since: null
obsolete_since: null
api_support: supported
cache_control: N/A
generated_at: 2026-09-02
tokens: ~983
---

# /groups/\{group\}/members/invite \[POST\]

## Description

Invite a member to a group.

Adds a member to a group in PageSeeder.

If the member specified (with the email address) is non existent, it is created.

The email must be less than 100 characters and be a valid Email address.

### Group membership parameters

All group membership parameters are optional and default to the group’s default values.

The notification parameter must be one of `immediate`, `essential`, `daily`, `weekly` or `none`.

The role parameter must be one of `guest`, `reviewer`, `contributor`, `manager`, `approver`, `moderator-and-approver`, `moderator`.

The group invitation behavior follows the value of the project property `acceptInvitationRequired`.

Additional information specific to the group can also be attached to the user using the details fields field1 to field15.

## Parameters

| Name | Description | Required | Type | Default |
| --- | --- | --- | --- | --- |
| email | The member’s email address (required if no `member-username`) | maybe | email |  |
| member-username | The member’s username, defaults to the member's email address (required if no `email)` | maybe | string |  |
| notify-async | Whether emails should be sent asynchronously (for slow email servers) | no | boolean | `false` |
| field1 | Custom field #1 | no | string |  |
| field10 | Custom field #10 | no | string  |  |
| field11 | Custom field #11 | no | string  |  |
| field12 | Custom field #12 | no | string  |  |
| field13 | Custom field #13 | no | string  |  |
| field14 | Custom field #14 | no | string  |  |
| field15 | Custom field #15 | no | string  |  |
| field2 | Custom field #2 | no | string  |  |
| field3 | Custom field #3 | no | string  |  |
| field4 | Custom field #4 | no | string  |  |
| field5 | Custom field #5 | no | string  |  |
| field6 | Custom field #6 | no | string  |  |
| field7 | Custom field #7 | no | string  |  |
| field8 | Custom field #8 | no | string  |  |
| field9 | Custom field #9 | no | string  |  |
| firstname | The member’s first name (used if they don't exist) | no | string | `Member` |
| invitation | Whether to create an invitation, otherwise force membership (admin only if `false`) | no | boolean | *depends on group properties* |
| listed | Whether the member’s email address is listed in the group | no | boolean | `false` |
| notification | The member’s notification option in the group | no | enum | *depends on group config* |
| role | The member’s role in the group | no | enum | *depends on group config* |
| surname | The member’s first name (used if they don’t exist) | no | string | `[4 digits]` |
| welcome-email | Whether to send a welcome email to the new member | no | boolean | `true` |

## Permission

This service requires manager or higher.

## Response

```xml

<membership-creation [member-created="true"]
                     [welcome-email-failed="true"]>
  <membership id="[membership id]"
              email-listed="[true|false]"
              notification="[notification]"
              flags="[flags]"
              status="[invited|normal]"
              role="[role]">
    <member id="[member id]"
            firstname="[first name]"
            surname="[surname]"
            username="[username]"
            email="[email]"
            status="[activated|unactivated]">
            <fullname>[full name]</fullname>
    </member>
    <group id="[group id]"
           name="[name]"
           flags="[flags]"
           visibility="[visibility]"
           template="[template]">
      <description>[description]</description>
    </group>
  </membership>
</membership-creation>
```

## Error Handling

| Code | Cause / Description |
| --- | --- |
| 0x1002 | If the email address is invalid |
| 0x1003 | If the specified group is a personal group |
| 0x1005 | If the maximum number of members on the server has been reached |
| 0x1023 | Invite to admin group not allowed |

