---
title: "POST /api/spaces/{space}/invitations"
method: POST
path: "/api/spaces/{space}/invitations"
tags: ["SpaceService"]
---

# POST /api/spaces/{space}/invitations

`POST /api/spaces/{space}/invitations`

## Request

- The document declares no server URL.
- Auth: none declared

CreateSpaceInvitation invites an existing active user to a space. Only a
 space administrator can invite. The invitee gets no space access until
 they accept.

## Path parameters

- `space` string, required

## Request body

- SpaceInvitation: SpaceInvitation is a pending invitation for an existing user to join a space.
  - `name` string: Identifier. The resource name of the invitation. The invitation segment is the invitee's username. Format: spaces/{space}/invitations/{invitation}
  - `invitee` string, required: Required. The invited user. Format: users/{user}
  - `role` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum, required: Required. The role the user receives after accepting the invitation.
  - `space` Space: Space is a collaboration boundary for placed memos.
    - `name` string: Identifier. The resource name of the space. Format: spaces/{space}
    - `title` string, required: Required. The human-readable title.
    - `description` string: Optional. A description of the space.
    - `icon` SpaceIcon: Icon is the display icon of a space.
      - `emoji` string: A Unicode emoji sequence.
      - `lucide` string: A canonical Lucide icon name, such as "leaf".
    - `currentUserRole` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum: Output only. The authenticated user's membership role in this space. ROLE_UNSPECIFIED when this space is exposed as metadata only.
    - `memberCount` integer: Output only. The number of accepted members in this space. Pending invitations are excluded. Zero when this space is exposed as metadata only.

## Response `200`

OK

- SpaceInvitation: SpaceInvitation is a pending invitation for an existing user to join a space.
  - `name` string: Identifier. The resource name of the invitation. The invitation segment is the invitee's username. Format: spaces/{space}/invitations/{invitation}
  - `invitee` string, required: Required. The invited user. Format: users/{user}
  - `role` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum, required: Required. The role the user receives after accepting the invitation.
  - `space` Space: Space is a collaboration boundary for placed memos.
    - `name` string: Identifier. The resource name of the space. Format: spaces/{space}
    - `title` string, required: Required. The human-readable title.
    - `description` string: Optional. A description of the space.
    - `icon` SpaceIcon: Icon is the display icon of a space.
      - `emoji` string: A Unicode emoji sequence.
      - `lucide` string: A canonical Lucide icon name, such as "leaf".
    - `currentUserRole` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum: Output only. The authenticated user's membership role in this space. ROLE_UNSPECIFIED when this space is exposed as metadata only.
    - `memberCount` integer: Output only. The number of accepted members in this space. Pending invitations are excluded. Zero when this space is exposed as metadata only.

## Other responses

- `default`: Default error response

## Changes

- **2026-10-08** `1846a777b0ef`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/spaces/:space/invitations/post.md)

---

[API](https://skmtc.dev/usememos/apis/untitled-api.md) - [All operations](https://skmtc.dev/usememos/apis/untitled-api/llms.txt) - [OpenAPI document](https://skmtc.dev/usememos/apis/untitled-api/revisions/f587355e35b4?raw)
