---
title: "Invite a team member"
method: POST
path: "/api/v1/workspaces/{workspace_id}/team-members"
tags: ["👥 Team Members"]
---

# Invite a team member

`POST /api/v1/workspaces/{workspace_id}/team-members`

Invite a member to a workspace by email, with a role and permissions. Owner/admin only.

## Path parameters

- `workspace_id` string, required

## Request body

- object
  - `role` 'admin' | 'approver' | 'collaborator', required
  - `membership` 'team' | 'client'
  - `email` string, email, required
  - `permissions` object — Permission flags + per-platform account-id arrays. Booleans: addBlog, addSocial, addSource, addTopic, viewTeam, postsReview, rescheduleQueue, hasBillingAccess, accessSharedFolder, changeFBGroupPublishAs, approverCanEditPost, approverCanAddNotes, approverCanCreatePost, allow_workflow_management. Arrays: facebook[], instagram[], twitter[], linkedin[], pinterest[], youtube[], tiktok[], threads[], bluesky[], gmb[], telegram[], wordpress[], medium[], shopify[], tumblr_blogs[], tumblr_profiles[], content_categories[].

## Response `201`

Invitation(s) sent

## Other responses

- `401` — Unauthorized - Invalid or missing API key
- `403` — Forbidden / plan member limit reached
- `422` — Validation failed / member already exists
- `429` — Too Many Requests - Rate limit exceeded

---

[API](https://skmtc.dev/contentstudio/apis/contentstudio-api-v1.md) · [All operations](https://skmtc.dev/contentstudio/apis/contentstudio-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/contentstudio/contentstudio-api-v1/revisions/ec0c85521883/schema)
