> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mightynetworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a new member in the Network

<Note>
  Use the `member_type` parameter to create either a **full Network member** or a **limited member**. Full members have access to the entire Network and count toward your Network's member limits; limited members have access only to the spaces you specify. For details on the difference, see [What is a full vs. limited membership?](/for-hosts/payments-and-access/what-is-a-full-vs-limited-membership#what-is-a-full-vs-limited-membership).
</Note>

<Warning>
  In a Network that is only accessible by plan, full members cannot be created through the API — the request is rejected with a `422` error, whether `member_type` is set to `full` or omitted. Create a **limited member** with `space_ids`, or add the member to a plan that includes Network access; full membership in these Networks comes only from a plan.
</Warning>

## Overview

Use this endpoint to add a new member to your Mighty Network as either a full or limited member, set by the `member_type` parameter.

* A **full Network member** has access to the entire Network, including all spaces available to full members.
* A **limited member** has access only to the specific spaces you grant. When creating a limited member, you must specify at least one space ID at the time of creation.

If you're unsure which type to use, see [What is a full vs. limited membership?](/for-hosts/payments-and-access/what-is-a-full-vs-limited-membership#what-is-a-full-vs-limited-membership) before continuing.

### Behavior

* The `member_type` parameter determines whether the new account is created as a full or limited member. To learn more about the difference, see [What is a full vs. limited membership?](/for-hosts/payments-and-access/what-is-a-full-vs-limited-membership#what-is-a-full-vs-limited-membership).
* When creating a **limited member**, you must include at least one space ID. The member is granted access to those spaces on creation.
* In a Network that is only accessible by plan, creating a **full member** returns a `422` error — explicitly with `member_type: "full"` or by omitting `member_type`. Create a limited member with `space_ids`, or add the member to a plan that includes Network access.
* A member's full or limited status follows the plans they're on, not how they were created. A limited member is automatically upgraded to a full member when added to a plan that includes Network membership, and reverts to a limited member when that plan is removed.
* Removing a limited member from a plan removes them from the spaces that plan granted, but they remain in the Network as a limited member because of the space ID(s) granted at creation. To remove them from the Network entirely, also revoke access to that space.
* By default, the new member receives a welcome email with a direct sign-in link. Set `send_welcome_email` to `false` to skip this email.
* The `role` parameter determines the member's permission level (`host`, `moderator`, or `contributor`) within the Network, but does not change whether they are a full or limited member.


## OpenAPI

````yaml https://api.mn.co/admin/v1/spec.json post /admin/v1/networks/{network_id}/members
openapi: 3.1.0
info:
  version: 1.0.0
  title: The Mighty Networks Admin API
  description: An API for managing your Mighty Networks network
servers:
  - url: https://api.mn.co
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Members
    description: Manage members of your network
  - name: Courseworks
    description: Manage course content (lessons, quizzes, sections)
  - name: Reactions
    description: Manage reactions on comments
  - name: Mute
    description: Mute posts for users
  - name: Comments
    description: Manage comments on posts
  - name: Invites
    description: Invites allow you to invite users to your network
  - name: Tags
    description: Manage tags for your network
  - name: Spaces
    description: >-
      Spaces are the organizational units within a Network where content and
      members are organized
  - name: Plans
    description: Manage plans in your network
  - name: PasswordResets
    description: Manage member password resets
  - name: Badges
    description: Manage badges for your network
  - name: Rsvps
    description: Manage event RSVPs for your network
  - name: Options
    description: Manage dropdown custom field options
  - name: Answers
    description: Manage member responses to custom fields
  - name: Subscriptions
    description: >-
      Manage payment subscriptions - recurring payments from members to hosts
      for plans
  - name: Purchases
    description: Manage purchases and subscriptions for your network
  - name: Posts
    description: Posts also include Articles.
  - name: Polls
    description: >-
      Polls and Questions allow members to share opinions and engage with each
      other
  - name: Networks
    description: >-
      Networks are the top-level organizational unit under which other resources
      are nested
  - name: Me
    description: Metadata about the requesting user
  - name: Events
    description: Events are scheduled gatherings that members can RSVP to and engage with
  - name: CustomFields
    description: Manage custom fields for your network
  - name: Collections
    description: Manage collections in your network
  - name: Assets
    description: Manage assets for your network
  - name: AbuseReports
    description: Manage abuse reports for your network
paths:
  /admin/v1/networks/{network_id}/members:
    post:
      tags:
        - Members
      summary: Create a new member in the Network
      operationId: create_members
      parameters:
        - $ref: '#/components/parameters/networkId'
      requestBody:
        description: Submit results as JSON
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MemberCreateRequest'
      responses:
        '201':
          description: The newly created member object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberResponse'
        '422':
          description: >-
            Validation error (e.g., invalid role, invalid member_type, unknown
            space, user already a member)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    networkId:
      name: network_id
      in: path
      description: The Network's unique integer ID, or subdomain
      required: true
      schema:
        oneOf:
          - type: integer
            description: Unique numeric network ID
            format: uint64
          - type: string
            description: Network subdomain
            format: /^[a-z][a-z0-9-]+$/
  schemas:
    MemberCreateRequest:
      description: Request body for creating a new member in the Network
      type: object
      required:
        - email
        - first_name
        - last_name
      properties:
        email:
          type: string
          format: email
          description: Email address of the new member
          example: user@example.com
        first_name:
          type: string
          description: First name of the new member
          example: John
        last_name:
          type: string
          description: Last name of the new member
          example: Doe
        role:
          type: string
          description: >-
            Role for the member (host, moderator, contributor). Defaults to
            'contributor'.
          example: contributor
        member_type:
          type: string
          description: >-
            Type of member to create. 'full' (default) joins the whole Network;
            'limited' is added only to the spaces listed in space_ids.
          example: full
        space_ids:
          type: array
          description: >-
            IDs of the spaces a limited member joins. Required when member_type
            is 'limited'; ignored otherwise. Duplicate IDs are ignored.
          items:
            type: integer
            format: uint64
        send_welcome_email:
          type: boolean
          description: Whether to send a welcome email to the new member. Defaults to true.
          example: true
    MemberResponse:
      description: A member of a Network
      type: object
      required:
        - created_at
        - email
        - id
        - member_type
        - permalink
        - updated_at
      properties:
        id:
          type: integer
          format: uint64
          description: The record's integer ID
          example: '1234'
        created_at:
          type: string
          format: date-time
          description: The date and time the record was created
          example: '2026-08-14T20:44:30+00:00'
        updated_at:
          type: string
          format: date-time
          description: The date and time the record was last modified
          example: '2026-08-14T20:44:30+00:00'
        email:
          type: string
          format: email
          description: The member's email address
          example: ada.lovelace@example.com
        member_type:
          type: string
          description: >-
            The member's type: 'full' (belongs to the Network) or 'limited'
            (belongs only to specific spaces)
        first_name:
          type: string
          description: The member's first name
        last_name:
          type: string
          description: The member's last name
        time_zone:
          type: string
          description: The member's time zone
        location:
          type: string
          description: The member's location
        bio:
          type: string
          description: The member's bio
        referral_count:
          type: integer
          format: uint64
          description: Number of referrals made by this member
        avatar:
          type: string
          description: URL to the member's avatar image
        categories:
          type: string
          description: Array of category objects with id and title
        permalink:
          type: string
          description: Canonical URL to the member's profile page
        ambassador_level:
          type: string
          description: The member's ambassador level
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: An error message explaining the problem encountered
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````