Appwrite Teams API

The Teams service allows you to group users of your project and to enable them to share read and write access to your project resources. 19 operations across 9 paths in the Appwrite 2.0.0 OpenAPI.

Operations 19

GET /teams List teams #
POST /teams Create team #
GET /teams/{teamId} Get team #
PUT /teams/{teamId} Update name #
DELETE /teams/{teamId} Delete team #
GET /teams/{teamId}/installations List Installations #
POST /teams/{teamId}/installations Create Installation #
GET /teams/{teamId}/installations/{installationId} Get Installation #
PUT /teams/{teamId}/installations/{installationId} Update Installation #
DELETE /teams/{teamId}/installations/{installationId} Delete Installation #
GET /teams/{teamId}/logs List team logs #
GET /teams/{teamId}/memberships List team memberships #
POST /teams/{teamId}/memberships Create team membership #
GET /teams/{teamId}/memberships/{membershipId} Get team membership #
PATCH /teams/{teamId}/memberships/{membershipId} Update team membership #
DELETE /teams/{teamId}/memberships/{membershipId} Delete team membership #
PATCH /teams/{teamId}/memberships/{membershipId}/status Update team membership status #
GET /teams/{teamId}/prefs Get team preferences #
PUT /teams/{teamId}/prefs Update team preferences #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/appwrite-teams-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

appwrite-teams-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Appwrite Teams API
  description: Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
  version: 2.0.0
  termsOfService: https://appwrite.io/policy/terms
  contact:
    name: Appwrite Team
    url: https://appwrite.io/support
    email: team@appwrite.io
  license:
    name: BSD-3-Clause
    url: https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE
servers:
- url: https://cloud.appwrite.io/v1
  description: Appwrite Cloud endpoint.
- url: https://{region}.cloud.appwrite.io/v1
  description: Appwrite Cloud regional endpoint. Replace `{region}` with your project region.
  variables:
    region:
      default: fra
      description: Appwrite Cloud region.
tags:
- name: teams
  description: The Teams service allows you to group users of your project and to enable them to share read and write access to your project resources
paths:
  /teams:
    get:
      summary: List teams
      operationId: teamsList
      tags:
      - teams
      description: Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.
      responses:
        '200':
          description: Teams List
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/teamList'
      deprecated: false
      x-appwrite:
        group: teams
        demo: teams/list.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.read
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: queries
        description: 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan'
        required: false
        schema:
          type: array
          items:
            type: string
          default: []
        in: query
      - name: search
        description: 'Search term to filter your list results. Max length: 256 chars.'
        required: false
        schema:
          type: string
          example: <SEARCH>
          default: ''
        in: query
      - name: total
        description: When set to false, the total count returned will be 0 and will not be calculated.
        required: false
        schema:
          type: boolean
          example: false
          default: true
        in: query
    post:
      summary: Create team
      operationId: teamsCreate
      tags:
      - teams
      description: Create a new team. The user who creates the team will automatically be assigned as the owner of the team. Only the users with the owner role can invite new members, add new owners and delete or update the team.
      responses:
        '201':
          description: Team
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/team'
      deprecated: false
      x-appwrite:
        group: teams
        demo: teams/create.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.write
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                teamId:
                  description: Team ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
                  type: string
                  example: <TEAM_ID>
                  x-appwrite:
                    idGenerator: ID.unique
                name:
                  description: 'Team name. Max length: 128 chars.'
                  type: string
                  example: <NAME>
                roles:
                  description: Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long.
                  type: array
                  default:
                  - owner
                  items:
                    type: string
              required:
              - teamId
              - name
  /teams/{teamId}:
    get:
      summary: Get team
      operationId: teamsGet
      tags:
      - teams
      description: Get a team by its ID. All team members have read access for this resource.
      responses:
        '200':
          description: Team
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/team'
      deprecated: false
      x-appwrite:
        group: teams
        demo: teams/get.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.read
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
    put:
      summary: Update name
      operationId: teamsUpdateName
      tags:
      - teams
      description: Update the team's name by its unique ID.
      responses:
        '200':
          description: Team
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/team'
      deprecated: false
      x-appwrite:
        group: teams
        demo: teams/update-name.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.write
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: 'New team name. Max length: 128 chars.'
                  type: string
                  example: <NAME>
              required:
              - name
    delete:
      summary: Delete team
      operationId: teamsDelete
      tags:
      - teams
      description: Delete a team using its ID. Only team members with the owner role can delete the team.
      responses:
        '204':
          description: No content
      deprecated: false
      x-appwrite:
        group: teams
        demo: teams/delete.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.write
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
  /teams/{teamId}/installations:
    get:
      summary: List Installations
      operationId: teamsListInstallations
      tags:
      - teams
      description: List app installations on a team. Any team member can read installations.
      responses:
        '200':
          description: App installations list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appInstallationList'
      deprecated: false
      x-appwrite:
        group: null
        demo: teams/list-installations.md
        rate-limit: 120
        rate-time: 60
        rate-key: ip:{ip},userId:{userId}
        scope: teams.read
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      - name: queries
        description: Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long.
        required: false
        schema:
          type: array
          items:
            type: string
          default: []
        in: query
      - name: total
        description: When set to false, the total count returned will be 0 and will not be calculated.
        required: false
        schema:
          type: boolean
          example: false
          default: true
        in: query
    post:
      summary: Create Installation
      operationId: teamsCreateInstallation
      tags:
      - teams
      description: Install an app on a team. When authenticated as a user, only team members with the owner role can install apps. Requests using an API key or in admin mode can install apps on any team. The installation is granted the scopes the app currently requests.
      responses:
        '201':
          description: AppInstallation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appInstallation'
      deprecated: false
      x-appwrite:
        group: null
        demo: teams/create-installation.md
        rate-limit: 60
        rate-time: 60
        rate-key: ip:{ip},userId:{userId}
        scope: teams.write
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                appId:
                  description: Application unique ID.
                  type: string
                  example: <APP_ID>
                authorizationDetails:
                  description: Authorization details granted to the installation as a JSON array of objects, each with a `type` and app-defined fields. The Appwrite Console stores authorized project IDs here.
                  type: string
                  default: ''
                  example: <AUTHORIZATION_DETAILS>
              required:
              - appId
  /teams/{teamId}/installations/{installationId}:
    get:
      summary: Get Installation
      operationId: teamsGetInstallation
      tags:
      - teams
      description: Get an app installation on a team by its unique ID. Any team member can read installations.
      responses:
        '200':
          description: AppInstallation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appInstallation'
      deprecated: false
      x-appwrite:
        group: null
        demo: teams/get-installation.md
        rate-limit: 120
        rate-time: 60
        rate-key: ip:{ip},userId:{userId}
        scope: teams.read
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      - name: installationId
        description: Installation unique ID.
        required: true
        schema:
          type: string
          example: <INSTALLATION_ID>
        in: path
    put:
      summary: Update Installation
      operationId: teamsUpdateInstallation
      tags:
      - teams
      description: Update an app installation on a team. Only team members with the owner role can update installations. The installation's granted scopes are refreshed to the scopes the app currently requests; previously issued installation access tokens are revoked.
      responses:
        '200':
          description: AppInstallation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appInstallation'
      deprecated: false
      x-appwrite:
        group: null
        demo: teams/update-installation.md
        rate-limit: 60
        rate-time: 60
        rate-key: ip:{ip},userId:{userId}
        scope: teams.write
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      - name: installationId
        description: Installation unique ID.
        required: true
        schema:
          type: string
          example: <INSTALLATION_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                authorizationDetails:
                  description: Authorization details granted to the installation as a JSON array of objects, each with a `type` and app-defined fields. Omit to keep the current value.
                  type: string
                  example: <AUTHORIZATION_DETAILS>
                  nullable: true
    delete:
      summary: Delete Installation
      operationId: teamsDeleteInstallation
      tags:
      - teams
      description: Uninstall an app from a team by its installation ID. Only team members with the owner role can remove installations. Previously issued installation access tokens are revoked.
      responses:
        '204':
          description: No content
      deprecated: false
      x-appwrite:
        group: null
        demo: teams/delete-installation.md
        rate-limit: 60
        rate-time: 60
        rate-key: ip:{ip},userId:{userId}
        scope: teams.write
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      - name: installationId
        description: Installation unique ID.
        required: true
        schema:
          type: string
          example: <INSTALLATION_ID>
        in: path
  /teams/{teamId}/logs:
    get:
      summary: List team logs
      operationId: teamsListLogs
      tags:
      - teams
      description: Get the team activity logs list by its unique ID.
      responses:
        '200':
          description: Logs List
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/logList'
      deprecated: false
      x-appwrite:
        group: logs
        demo: teams/list-logs.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.read
        platforms:
        - console
        packaging: false
        public: true
        auth:
          console:
            Project: []
      security:
      - Project: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      - name: queries
        description: Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset
        required: false
        schema:
          type: array
          items:
            type: string
          default: []
        in: query
      - name: total
        description: When set to false, the total count returned will be 0 and will not be calculated.
        required: false
        schema:
          type: boolean
          example: false
          default: true
        in: query
  /teams/{teamId}/memberships:
    get:
      summary: List team memberships
      operationId: teamsListMemberships
      tags:
      - teams
      description: Use this endpoint to list a team's members using the team's ID. All team members have read access to this endpoint. Hide sensitive attributes from the response by toggling membership privacy in the Console.
      responses:
        '200':
          description: Memberships List
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/membershipList'
      deprecated: false
      x-appwrite:
        group: memberships
        demo: teams/list-memberships.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.read
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      - name: queries
        description: 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles'
        required: false
        schema:
          type: array
          items:
            type: string
          default: []
        in: query
      - name: search
        description: 'Search term to filter your list results. Max length: 256 chars.'
        required: false
        schema:
          type: string
          example: <SEARCH>
          default: ''
        in: query
      - name: total
        description: When set to false, the total count returned will be 0 and will not be calculated.
        required: false
        schema:
          type: boolean
          example: false
          default: true
        in: query
    post:
      summary: Create team membership
      operationId: teamsCreateMembership
      tags:
      - teams
      description: "Invite a new member to join your team. Provide an ID for existing users, or invite unregistered users using an email or phone number. If initiated from a Client SDK, Appwrite will send an email or sms with a link to join the team to the invited user, and an account will be created for them if one doesn't exist. If initiated from a Server SDK, the new member will be added automatically to the team.\n\nYou only need to provide one of a user ID, email, or phone number. Appwrite will prioritize accepting the user ID > email > phone number if you provide more than one of these parameters.\n\nUse the `url` parameter to redirect the user from the invitation email to your app. After the user is redirected, use the [Update Team Membership Status](https://appwrite.io/docs/references/cloud/client-web/teams#updateMembershipStatus) endpoint to allow the user to accept the invitation to the team. \n\nPlease note that to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md)\
        \ Appwrite will accept the only redirect URLs under the domains you have added as a platform on the Appwrite Console.\n"
      responses:
        '201':
          description: Membership
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/membership'
      deprecated: false
      x-appwrite:
        group: memberships
        demo: teams/create-membership.md
        rate-limit: 10
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.write
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  description: Email of the new team member.
                  type: string
                  default: ''
                  example: email@example.com
                  format: email
                userId:
                  description: ID of the user to be added to a team.
                  type: string
                  default: ''
                  example: <USER_ID>
                phone:
                  description: Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.
                  type: string
                  default: ''
                  example: '+12065550100'
                  format: phone
                roles:
                  description: Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 81 characters long.
                  type: array
                  items:
                    type: string
                url:
                  description: URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.
                  type: string
                  default: ''
                  example: https://example.com
                  format: url
                name:
                  description: 'Name of the new team member. Max length: 128 chars.'
                  type: string
                  default: ''
                  example: <NAME>
              required:
              - roles
  /teams/{teamId}/memberships/{membershipId}:
    get:
      summary: Get team membership
      operationId: teamsGetMembership
      tags:
      - teams
      description: Get a team member by the membership unique id. All team members have read access for this resource. Hide sensitive attributes from the response by toggling membership privacy in the Console.
      responses:
        '200':
          description: Membership
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/membership'
      deprecated: false
      x-appwrite:
        group: memberships
        demo: teams/get-membership.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.read
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      - name: membershipId
        description: Membership ID.
        required: true
        schema:
          type: string
          example: <MEMBERSHIP_ID>
        in: path
    patch:
      summary: Update team membership
      operationId: teamsUpdateMembership
      tags:
      - teams
      description: 'Modify the roles of a team member. Only team members with the owner role have access to this endpoint. Learn more about [roles and permissions](https://appwrite.io/docs/permissions).

        '
      responses:
        '200':
          description: Membership
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/membership'
      deprecated: false
      x-appwrite:
        group: memberships
        demo: teams/update-membership.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.write
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      - name: membershipId
        description: Membership ID.
        required: true
        schema:
          type: string
          example: <MEMBERSHIP_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                roles:
                  description: An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 81 characters long.
                  type: array
                  items:
                    type: string
              required:
              - roles
    delete:
      summary: Delete team membership
      operationId: teamsDeleteMembership
      tags:
      - teams
      description: This endpoint allows a user to leave a team or for a team owner to delete the membership of any other team member. You can also use this endpoint to delete a user membership even if it is not accepted.
      responses:
        '204':
          description: No content
      deprecated: false
      x-appwrite:
        group: memberships
        demo: teams/delete-membership.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: teams.write
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      - name: membershipId
        description: Membership ID.
        required: true
        schema:
          type: string
          example: <MEMBERSHIP_ID>
        in: path
  /teams/{teamId}/memberships/{membershipId}/status:
    patch:
      summary: Update team membership status
      operationId: teamsUpdateMembershipStatus
      tags:
      - teams
      description: 'Use this endpoint to allow a user to accept an invitation to join a team after being redirected back to your app from the invitation email received by the user.


        If the request is successful, a session for the user is automatically created.

        '
      responses:
        '200':
          description: Membership
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/membership'
      deprecated: false
      x-appwrite:
        group: memberships
        demo: teams/update-membership-status.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: public
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        JWT: []
      parameters:
      - name: teamId
        description: Team ID.
        required: true
        schema:
          type: string
          example: <TEAM_ID>
        in: path
      - name: membershipId
        description: Membership ID.
        required: true
        schema:
          type: string
          example: <MEMBERSHIP_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                userId:
                  description: User ID.
                  type: string
                  example: <USER_ID>
                secret:
                  description: Secret key.
                  type: string
                  example: <SECRET>
              required:
              - 

# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appwrite/refs/heads/main/openapi/appwrite-teams-api-openapi.yml