{
  "components": {
    "schemas": {
      "DeleteTeamMemberRequest": {
        "type": "object",
        "properties": {
          "assign_to_zuid": {
            "description": "assign to zuid (required)",
            "type": "string"
          }
        },
        "required": [
          "assign_to_zuid"
        ]
      },
      "VaniEnvelope": {
        "description": "Standard Vani response envelope.",
        "type": "object",
        "properties": {
          "data": {
            "description": "Operation payload. Narrowed per endpoint where a response schema is declared.",
            "type": "object"
          },
          "message": {
            "type": "string"
          },
          "request_uri": {
            "type": "string"
          },
          "status": {
            "description": "success or error",
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "VaniError": {
        "description": "Standard Vani error envelope.",
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "details": {
                "description": "Error code and message, plus any context keys (edition_id, space_id, ...).",
                "additionalProperties": true,
                "type": "object",
                "properties": {
                  "sdk_error_code": {
                    "description": "Raw SDK code, present when the error was not mapped.",
                    "type": "string"
                  },
                  "error_code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "request_uri": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        }
      },
      "UpdateTeamMemberRequest": {
        "type": "object",
        "properties": {
          "role": {
            "description": "role. Allowed values: TEAM_ADMIN, MEMBER, TEAM_GUEST (required)",
            "type": "string",
            "enum": [
              "TEAM_ADMIN",
              "MEMBER",
              "TEAM_GUEST"
            ]
          },
          "assign_to_zuid": {
            "description": "assign to zuid",
            "type": "string"
          }
        },
        "required": [
          "role"
        ]
      },
      "UpdateTeamRequest": {
        "type": "object",
        "properties": {
          "description": {
            "pattern": "^(?:[0-9a-zA-Z_~`#%&\\^\\*\\(\\)\\{\\}\\[\\]\\+\\*\\|=\\-\\.\\$@\\?,:;>\\\\'\\/!\\u0080-\\uFFFF\\s<\"]+)$",
            "description": "description",
            "type": "string"
          },
          "team_name": {
            "pattern": "^(?!\\s+$)(?!.*\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}\\b)(?!.*\\+?(?:\\d[\\s.-]*){5,})[0-9a-zA-Z_~`#%&\\^\\*\\(\\)\\{\\}\\[\\]\\+\\*\\|=\\-\\.\\$@\\?,:;\\\\'\\/!\\u0080-\\uFFFF\\s\"]+$",
            "description": "team name. Max length: 100",
            "type": "string",
            "maxLength": 100
          }
        }
      },
      "AcceptTeamRequestPayload": {
        "type": "object",
        "properties": {
          "role": {
            "description": "role. Allowed values: TEAM_ADMIN, MEMBER, TEAM_GUEST (required)",
            "type": "string",
            "enum": [
              "TEAM_ADMIN",
              "MEMBER",
              "TEAM_GUEST"
            ]
          }
        },
        "required": [
          "role"
        ]
      },
      "AddTeamMembersRequest": {
        "type": "object",
        "properties": {
          "members_info": {
            "minItems": 1,
            "maxItems": 100,
            "description": "members info. Max length: 11000 (required)",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "role": {
                  "description": "role. Allowed values: TEAM_ADMIN, MEMBER, TEAM_GUEST (required)",
                  "type": "string",
                  "enum": [
                    "TEAM_ADMIN",
                    "MEMBER",
                    "TEAM_GUEST"
                  ]
                },
                "mail_id": {
                  "description": "Email address of the member to add, e.g. user@example.com",
                  "type": "string",
                  "maxLength": 100
                }
              },
              "required": [
                "mail_id",
                "role"
              ]
            }
          }
        },
        "required": [
          "members_info"
        ]
      }
    },
    "responses": {
      "RateLimitExceededThisOperationAllows30Re": {
        "description": "Rate limit exceeded - this operation allows 30 requests per minute per user",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VaniError"
            }
          }
        }
      },
      "InvalidRequestValidationFailed": {
        "description": "Invalid request - validation failed",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VaniError"
            }
          }
        }
      },
      "RateLimitExceededThisOperationAllows60Re": {
        "description": "Rate limit exceeded - this operation allows 60 requests per minute per user",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VaniError"
            }
          }
        }
      },
      "NotFoundAResourceNamedInThePathDoesNotEx10": {
        "description": "Not found - a resource named in the path does not exist, or is not visible to the caller",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VaniError"
            }
          }
        }
      },
      "InternalServerErrorTheRequestWasWellForm": {
        "description": "Internal server error - the request was well-formed but could not be completed",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VaniError"
            }
          }
        }
      },
      "UnauthorizedMissingOrInvalidAccessToken9": {
        "description": "Unauthorized - missing or invalid access token",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VaniError"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "vani-api-key": {
        "in": "header",
        "name": "x-vani-apikey",
        "description": "Edition-scoped API key. ACCEPTED, NOT YET REQUIRED: the bearer token alone authorises every operation today, which is why each one lists a token-only alternative first and a token-plus-key alternative second. Sending the key is harmless and forward-compatible -- the server reads it, and the requirement is expected to become mandatory, at which point the token-only alternative disappears from this contract. The key never authorises on its own. Read or create your edition's key from the edition settings. The two operations on the /editions collection itself never carry one: a key belongs to an edition, so the calls that list or create editions cannot present it.",
        "type": "apiKey"
      },
      "iam-oauth2-schema": {
        "flows": {
          "authorizationCode": {
            "tokenUrl": "https://accounts.zoho.com/oauth/v2/token",
            "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth",
            "scopes": {
              "Vani.teams.UPDATE": "Update team memberships, roles, and collaboration settings",
              "Vani.spaces.UPDATE": "Update workspaces, folders, and organizational settings",
              "Vani.spaces.DELETE": "Delete workspaces and folders",
              "Vani.zones.READ": "Read zones including tables, cells, and paragraph content",
              "Vani.editions.UPDATE": "Update existing document editions, modify version metadata and publishing state",
              "Vani.spaces.CREATE": "Create new workspaces, folders, and organizational structure",
              "Vani.teams.CREATE": "Create new teams and assign team memberships",
              "Vani.spaces.READ": "Read workspaces, folders, and organizational structure",
              "Vani.editions.CREATE": "Create new document editions and version snapshots",
              "Vani.zones.CREATE": "Create zones including tables, cells, and paragraph content",
              "Vani.teams.READ": "Read team memberships, roles, and collaboration settings",
              "Vani.editions.READ": "Read document editions, version history, and edition metadata",
              "Vani.teams.DELETE": "Delete teams and remove team memberships"
            }
          }
        },
        "x-vani-data-centre": "com",
        "description": "OAuth 2.0 through Zoho Accounts for the .com data centre (the default). Authorisation is NOT served by the API server -- it is a separate host, and each data centre has its own. If your edition is on another data centre, keep these paths and substitute its host from x-vani-accounts-hosts on this scheme. An OAuth client is valid only in the data centre it was registered in, so register at that data centre's api-console. Note that the accounts host does not simply mirror the API host's TLD: Canada authorises at accounts.zohocloud.ca.",
        "x-vani-accounts-hosts": {
          "com": "accounts.zoho.com",
          "eu": "accounts.zoho.eu",
          "ae": "accounts.zoho.ae",
          "in": "accounts.zoho.in",
          "ca": "accounts.zohocloud.ca",
          "sa": "accounts.zoho.sa",
          "com.au": "accounts.zoho.com.au"
        },
        "type": "oauth2"
      }
    },
    "parameters": {
      "RequestId": {
        "schema": {
          "type": "string"
        },
        "in": "path",
        "name": "request_id",
        "description": "The unique identifier of the request",
        "required": true
      },
      "Roles": {
        "schema": {
          "x-enumDescriptions": {
            "TEAM_GUEST": "A guest with limited access to the team.",
            "TEAM_ADMIN": "Can administer the team, including its members.",
            "MEMBER": "A regular member of the team."
          },
          "type": "string",
          "enum": [
            "TEAM_ADMIN",
            "MEMBER",
            "TEAM_GUEST"
          ]
        },
        "in": "query",
        "name": "roles",
        "description": "Parameter: roles. Allowed values: TEAM_ADMIN, MEMBER, TEAM_GUEST",
        "required": false
      },
      "From": {
        "schema": {
          "pattern": "^[0-9]{1,6}$",
          "type": "string",
          "maxLength": 6
        },
        "in": "query",
        "name": "from",
        "description": "The starting index from where the results should be fetched. Default value is 0",
        "required": false
      },
      "TeamId": {
        "schema": {
          "type": "string"
        },
        "in": "path",
        "name": "team_id",
        "description": "The unique identifier of the team",
        "required": true
      },
      "SubscriberState": {
        "schema": {
          "x-enumDescriptions": {
            "ACTIVE": "Members currently occupying a subscription seat.",
            "INACTIVE": "Members not occupying a subscription seat."
          },
          "type": "string",
          "enum": [
            "ACTIVE",
            "INACTIVE"
          ]
        },
        "in": "query",
        "name": "subscriber_state",
        "description": "Parameter: subscriber_state. Allowed values: ACTIVE, INACTIVE",
        "required": false
      },
      "MemberId": {
        "schema": {
          "type": "string"
        },
        "in": "path",
        "name": "member_id",
        "description": "The unique identifier of the member",
        "required": true
      },
      "Fields": {
        "schema": {
          "type": "string",
          "maxLength": 1000,
          "enum": [
            "created_by",
            "created_by_name",
            "created_time",
            "team_member_count",
            "zsoid",
            "team_name",
            "team_id",
            "uri"
          ]
        },
        "in": "query",
        "name": "fields",
        "description": "Specifies the fields (comma-separated) to retrieve. Allowed values: created_by, created_by_name, created_time, team_member_count, zsoid, team_name, team_id, uri",
        "required": false
      },
      "UserId": {
        "schema": {
          "type": "string"
        },
        "in": "path",
        "name": "user_id",
        "description": "The unique identifier of the user",
        "required": true
      },
      "Search": {
        "schema": {
          "pattern": "^(?:[0-9a-zA-Z_~`#%&\\^\\*\\(\\)\\{\\}\\[\\]\\+\\*\\|=\\-\\.\\$@\\?,:;>\\\\'\\/!\\u0080-\\uFFFF\\s<\"]+)$",
          "type": "string",
          "maxLength": 100
        },
        "in": "query",
        "name": "search",
        "description": "The keyword or phrase to search for",
        "required": false
      },
      "Fields3": {
        "schema": {
          "type": "string",
          "maxLength": 1000,
          "enum": [
            "requested_time",
            "requested_by",
            "name",
            "request_id",
            "status"
          ]
        },
        "in": "query",
        "name": "fields",
        "description": "Specifies the fields (comma-separated) to retrieve. Allowed values: requested_time, requested_by, name, request_id, status",
        "required": false
      },
      "EditionId": {
        "schema": {
          "type": "string"
        },
        "in": "path",
        "name": "edition_id",
        "description": "The unique identifier of the edition",
        "required": true
      },
      "Limit": {
        "schema": {
          "pattern": "^[1-9][0-9]{0,2}$",
          "type": "string",
          "maxLength": 3
        },
        "in": "query",
        "name": "limit",
        "description": "The maximum number of results to return in the response. Default value is 20",
        "required": false
      },
      "Fields8": {
        "schema": {
          "type": "string",
          "maxLength": 1000,
          "enum": [
            "zuid",
            "role_name",
            "added_time",
            "added_by",
            "modified_time",
            "display_name",
            "mail_id",
            "edition_id",
            "team_id",
            "invited_time"
          ]
        },
        "in": "query",
        "name": "fields",
        "description": "Specifies the fields (comma-separated) to retrieve. Allowed values: zuid, role_name, added_time, added_by, modified_time, display_name, mail_id, edition_id, team_id, invited_time",
        "required": false
      }
    }
  },
  "servers": [
    {
      "variables": {
        "dc": {
          "default": "com",
          "description": "Data-centre TLD for your edition.",
          "enum": [
            "com",
            "in",
            "eu",
            "ca",
            "com.au",
            "sa",
            "ae"
          ]
        }
      },
      "description": "Vani API server. Select the data centre your edition is hosted in.",
      "url": "https://api.app.vanihq.{dc}"
    }
  ],
  "openapi": "3.1.0",
  "paths": {
    "/vani/api/v1/editions/{edition_id}/teams/{team_id}/members": {
      "post": {
        "summary": "Add members to a team",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.CREATE"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTeamMembersRequest"
              }
            }
          }
        },
        "operationId": "createTeamMember",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Success": {
                    "value": {
                      "data": {
                        "added_members": [
                          {
                            "role_name": "MEMBER",
                            "invited_time": "Mon, 03 Feb 2025, 23:17:12",
                            "edition_id": "97375109",
                            "mail_id": "sophia.bennett@boxicle.com",
                            "added_by": "96384499",
                            "team_id": "1505000000051031"
                          }
                        ]
                      },
                      "message": "Team member added successfully.",
                      "request_uri": "/vani/api/v1/editions/97375109/teams/1505000000051031/members",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "206": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Partial Success": {
                    "value": {
                      "data": {
                        "failed_members": [
                          {
                            "error_message": "Member already invited",
                            "mail_id": "sophia.bennett@boxicle.com",
                            "error_code": "T1014"
                          }
                        ],
                        "added_members": [
                          {
                            "role_name": "MEMBER",
                            "invited_time": "Mon, 03 Feb 2025, 23:16:13",
                            "edition_id": "97375109",
                            "mail_id": "olivia.morgan@boxicle.com",
                            "added_by": "96384499",
                            "team_id": "1505000000051031"
                          },
                          {
                            "role_name": "TEAM_ADMIN",
                            "added_time": "Mon, 03 Feb 2025, 23:16:12",
                            "mail_id": "liam.parker@boxicle.com",
                            "added_by": "96384499",
                            "team_id": "1505000000051031"
                          }
                        ]
                      },
                      "message": "Partial success: Some members added, others failed.",
                      "request_uri": "/vani/api/v1/editions/97375109/teams/1505000000051031/members",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request - validation failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Member Already Part of the Team": {
                    "value": {
                      "error": {
                        "details": {
                          "failed_members": [
                            {
                              "error_message": "Member already part of team",
                              "mail_id": "olivia.morgan@boxicle.com",
                              "error_code": "T1013"
                            }
                          ],
                          "error_code": "T1017",
                          "message": "Team member add failed"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/members",
                      "status": "error"
                    }
                  },
                  "License Limit Reached": {
                    "value": {
                      "error": {
                        "details": {
                          "failed_members": [
                            {
                              "error_message": "License limit reached",
                              "error_code": "L1001"
                            }
                          ],
                          "error_code": "T1017",
                          "message": "Team member add failed"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/members",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - missing or invalid access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Unauthorized": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "97377569",
                          "error_code": "A1003",
                          "team_id": "3009000000002003",
                          "message": "The user doesn't have permission to perform this action"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/members",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundAResourceNamedInThePathDoesNotEx10"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows30Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "CREATE",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          }
        ],
        "x-vani-read-only": false,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 30
        },
        "tags": [
          "Team Members"
        ]
      },
      "get": {
        "summary": "Get the members of a team",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          }
        ],
        "operationId": "getTeamMembers",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Pagination": {
                    "value": {
                      "data": {
                        "team_members": [
                          {
                            "role_name": "MEMBER",
                            "added_time": "Tue, 21 Jan 2025, 13:29:58",
                            "modified_time": "Tue, 21 Jan 2025, 13:29:58",
                            "mail_id": "emma.carter@boxicle.com",
                            "added_by": "85572741",
                            "display_name": "Emma Carter",
                            "zuid": "96384499"
                          }
                        ]
                      },
                      "message": "Team members fetched successfully.",
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000450001/members",
                      "status": "success"
                    }
                  },
                  "Using Filter Fields 2": {
                    "value": {
                      "data": {
                        "team_admins": [
                          {
                            "added_time": "Tue, 21 Jan 2025, 17:05:47",
                            "mail_id": "ryan.mitchell@boxicle.com",
                            "added_by": "96384499"
                          }
                        ]
                      },
                      "message": "Team members fetched successfully.",
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000450001/members",
                      "status": "success"
                    }
                  },
                  "Success 2": {
                    "value": {
                      "data": {
                        "next_from": 1,
                        "team_admins": [
                          {
                            "role_name": "TEAM_ADMIN",
                            "added_time": "Tue, 30 Sep 2025, 12:10:11",
                            "modified_time": "Tue, 30 Sep 2025, 12:10:11",
                            "mail_id": "user3@example.com",
                            "added_by": "81864203",
                            "display_name": "Sakthii5.2",
                            "zuid": "82512958"
                          }
                        ]
                      },
                      "message": "Team members fetched successfully.",
                      "request_uri": "/vani/api/v1/editions/112255940/teams/5777000000002017/members",
                      "status": "success"
                    }
                  },
                  "Using Filter Fields": {
                    "value": {
                      "data": {
                        "team_members": [
                          {
                            "added_time": "Tue, 21 Jan 2025, 13:29:58",
                            "mail_id": "emma.carter@boxicle.com",
                            "added_by": "85572741"
                          },
                          {
                            "added_time": "Sat, 30 Nov 2024, 22:32:11",
                            "mail_id": "ryan.mitchell@boxicle.com",
                            "added_by": "85572741"
                          }
                        ]
                      },
                      "message": "Team members fetched successfully.",
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000450001/members",
                      "status": "success"
                    }
                  },
                  "Success": {
                    "value": {
                      "data": {
                        "next_from": 3,
                        "team_members": [
                          {
                            "role_name": "MEMBER",
                            "added_time": "Thu, 14 May 2026, 20:34:50",
                            "modified_time": "Thu, 14 May 2026, 20:34:50",
                            "mail_id": "user1@example.com",
                            "added_by": "82512958",
                            "display_name": "Jayasree",
                            "zuid": "64167940"
                          },
                          {
                            "role_name": "MEMBER",
                            "added_time": "Thu, 04 Jun 2026, 20:51:19",
                            "modified_time": "Wed, 24 Jun 2026, 16:46:50",
                            "mail_id": "user2@example.com",
                            "added_by": "82512958",
                            "display_name": "sakthii corp",
                            "zuid": "81864203"
                          },
                          {
                            "role_name": "TEAM_ADMIN",
                            "added_time": "Tue, 30 Sep 2025, 12:10:11",
                            "modified_time": "Tue, 30 Sep 2025, 12:10:11",
                            "mail_id": "user3@example.com",
                            "added_by": "81864203",
                            "display_name": "Sakthii5.2",
                            "zuid": "82512958"
                          }
                        ]
                      },
                      "message": "Team members fetched successfully.",
                      "request_uri": "/vani/api/v1/editions/112255940/teams/5777000000002017/members",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "description": "Unauthorized - missing or invalid access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "User Is Not Part of the Team": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "75918186",
                          "current_user_id": "96384499",
                          "error_code": "T1006",
                          "team_id": "693000000008463",
                          "message": "User is not a member of the team"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000008463/members",
                      "status": "error"
                    }
                  },
                  "User Is Not Part of the Team 2": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "75918186",
                          "current_user_id": "96384499",
                          "error_code": "T1006",
                          "team_id": "693000000008463",
                          "message": "User is not a member of the team"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000008463/members",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found - a resource named in the path does not exist, or is not visible to the caller",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Team Not Found 2": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "75918186",
                          "current_user_id": "96384499",
                          "error_code": "T1008",
                          "team_id": "69300000045001",
                          "message": "Team not found"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/75918186/teams/69300000045001/members",
                      "status": "error"
                    }
                  },
                  "Team Not Found": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "75918186",
                          "current_user_id": "96384499",
                          "error_code": "T1008",
                          "team_id": "3009000000002003",
                          "message": "Team not found"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/75918186/teams/3009000000002003/members",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows60Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "READ",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          },
          {
            "schema": {
              "x-enumDescriptions": {
                "TEAM_GUEST": "A guest with limited access to the team.",
                "TEAM_ADMIN": "Can administer the team, including its members.",
                "MEMBER": "A regular member of the team."
              },
              "type": "string",
              "enum": [
                "TEAM_ADMIN",
                "MEMBER",
                "TEAM_GUEST"
              ]
            },
            "in": "query",
            "name": "member_type",
            "description": "Role of the member to be fetched. The value TEAM_ADMIN retrieves only the team admins. Allowed values: TEAM_ADMIN, MEMBER, TEAM_GUEST",
            "required": false
          },
          {
            "$ref": "#/components/parameters/SubscriberState"
          },
          {
            "$ref": "#/components/parameters/Roles"
          },
          {
            "schema": {
              "x-enumDescriptions": {
                "ROLE_DESC": "Sort by role, most privileged first.",
                "NAME_ASC": "Sort by name, A to Z.",
                "NAME_DESC": "Sort by name, Z to A.",
                "ROLE_ASC": "Sort by role, least privileged first."
              },
              "type": "string",
              "enum": [
                "ROLE_ASC",
                "ROLE_DESC",
                "NAME_ASC",
                "NAME_DESC"
              ]
            },
            "in": "query",
            "name": "sort_by",
            "description": "Specifies the field used to sort the results. Allowed values: ROLE_ASC, ROLE_DESC, NAME_ASC, NAME_DESC",
            "required": false
          },
          {
            "$ref": "#/components/parameters/Search"
          },
          {
            "$ref": "#/components/parameters/Fields8"
          },
          {
            "$ref": "#/components/parameters/From"
          },
          {
            "$ref": "#/components/parameters/Limit"
          }
        ],
        "x-vani-read-only": true,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 60
        },
        "tags": [
          "Team Members"
        ]
      }
    },
    "/vani/api/v1/editions/{edition_id}/teams/{team_id}/members/{member_id}": {
      "delete": {
        "summary": "Remove a member from a team",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.DELETE"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.DELETE"
            ]
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteTeamMemberRequest"
              }
            }
          }
        },
        "operationId": "deleteTeamMember",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Success": {
                    "value": {
                      "data": {
                        "edition_id": "97375109",
                        "removed_zuid": "97377569",
                        "current_user_id": "96384499",
                        "team_id": "1505000000051031"
                      },
                      "message": "Team member deleted successfully.",
                      "request_uri": "/vani/api/v1/editions/97375109/teams/1505000000051031/members",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "description": "Unauthorized - missing or invalid access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Unauthorized": {
                    "value": {
                      "error": {
                        "details": {
                          "error_code": "A1003",
                          "message": "The user doesn't have permission to perform this action"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/112255940/teams/5777000000002017/members/80022267",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - the caller is authenticated but not allowed to perform this operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Super Admin Cannot Be Removed from the Team": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "A1004",
                          "team_id": "3009000000002003",
                          "message": "Super admin can't be removed from the team"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/members",
                      "status": "error"
                    }
                  },
                  "Cannot Remove Self from the Team": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "112255940",
                          "current_user_id": "82512958",
                          "error_code": "M1002",
                          "team_id": "5777000000002017",
                          "message": "User cannot remove self"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/112255940/teams/5777000000002017/members/82512958",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found - a resource named in the path does not exist, or is not visible to the caller",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Member Not Part of the Team": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "97375109",
                          "current_user_id": "96384499",
                          "error_code": "T1012",
                          "team_id": "1505000000051031",
                          "message": "Member not part of team"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/97375109/teams/1505000000051031/members",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows30Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "DELETE",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          },
          {
            "$ref": "#/components/parameters/MemberId"
          }
        ],
        "x-vani-read-only": false,
        "x-vani-destructive": true,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 30
        },
        "tags": [
          "Team Members"
        ]
      },
      "put": {
        "summary": "Update a team member's role",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.UPDATE"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.UPDATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTeamMemberRequest"
              }
            }
          }
        },
        "operationId": "updateTeamMember",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Success – Member Role Assigned": {
                    "value": {
                      "data": {
                        "new_role": "MEMBER",
                        "edition_id": "97375109",
                        "current_user_id": "96384499",
                        "team_id": "1505000000051031",
                        "zuid": "98722154"
                      },
                      "message": "Team member updated successfully.",
                      "request_uri": "/vani/api/v1/editions/97375109/teams/1505000000051031/members",
                      "status": "success"
                    }
                  },
                  "Success – Admin Role Assigned": {
                    "value": {
                      "data": {
                        "new_role": "TEAM_ADMIN",
                        "edition_id": "75918186",
                        "current_user_id": "96384499",
                        "team_id": "693000000436009",
                        "zuid": "81479212"
                      },
                      "message": "Team member updated successfully.",
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000436009/members",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "description": "Unauthorized - missing or invalid access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Non-Team Member Attempted Role Update": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "75918186",
                          "current_user_id": "96384499",
                          "error_code": "T1006",
                          "team_id": "693000000436009",
                          "message": "User is not a member of the team"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000436009/members",
                      "status": "error"
                    }
                  },
                  "Unauthorized": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "75918186",
                          "current_user_id": "96384499",
                          "error_code": "A1002",
                          "team_id": "693000000436009",
                          "message": "Only admin can do this action"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000436009/members",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - the caller is authenticated but not allowed to perform this operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Cannot Update Own Role": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "112255940",
                          "current_user_id": "82512958",
                          "error_code": "M1003",
                          "team_id": "5777000000002017",
                          "message": "Inactive user role cannot be updated",
                          "zuid": "64167940"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/112255940/teams/5777000000002017/members/64167940",
                      "status": "error"
                    }
                  },
                  "Super Admin Role Cannot Be Updated": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "97375109",
                          "current_user_id": "85572741",
                          "error_code": "A1006",
                          "team_id": "1505000000002005",
                          "message": "Super admin can't be updated",
                          "zuid": "96384499"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/97375109/teams/1505000000002005/members",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found - a resource named in the path does not exist, or is not visible to the caller",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Member Not Part of the Team": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "97375109",
                          "current_user_id": "96384499",
                          "error_code": "T1012",
                          "team_id": "1505000000051031",
                          "message": "Member not part of team",
                          "zuid": "80215739"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/97375109/teams/1505000000051031/members",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict - the requested change conflicts with the current resource state",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Member Already Has the Specified Role": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "75918186",
                          "current_user_id": "96384499",
                          "error_code": "M1001",
                          "team_id": "693000000436009",
                          "message": "The member already has the specified role",
                          "zuid": "81479212"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000436009/members",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows30Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "UPDATE",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          },
          {
            "$ref": "#/components/parameters/MemberId"
          }
        ],
        "x-vani-read-only": false,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 30
        },
        "tags": [
          "Team Members"
        ]
      }
    },
    "/vani/api/v1/editions/{edition_id}/teams/{team_id}/requests/my-requests": {
      "get": {
        "summary": "Get the current user's join requests for a team",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          }
        ],
        "operationId": "getTeamRequestMyRequests",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Using Filter Fields": {
                    "value": {
                      "data": {
                        "requests": {
                          "status": "REQUESTED"
                        }
                      },
                      "message": "Team requests fetched successfully",
                      "request_uri": "/vani/api/v1/editions/80473965/teams/1664000000002003/requests/my-requests",
                      "status": "success"
                    }
                  },
                  "Success": {
                    "value": {
                      "data": {
                        "requests": {
                          "requested_time": "Wed, 06 Aug 2025, 12:35:45",
                          "requested_by": "80473960",
                          "request_id": "730000009272023",
                          "status": "REQUESTED"
                        }
                      },
                      "message": "Team requests fetched successfully",
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/my-requests",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedMissingOrInvalidAccessToken9"
          },
          "404": {
            "description": "Not found - a resource named in the path does not exist, or is not visible to the caller",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "No Pending Request Found": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "80473960",
                          "error_code": "R1007",
                          "team_id": "3009000000002003",
                          "message": "Team join request not found"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/my-requests",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict - the requested change conflicts with the current resource state",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Member Already Part of the Team": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "80473960",
                          "error_code": "T1013",
                          "team_id": "3009000000002003",
                          "message": "Member already part of team"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/my-requests",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows30Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "READ",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          },
          {
            "$ref": "#/components/parameters/Fields3"
          }
        ],
        "x-vani-read-only": true,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 30
        },
        "tags": [
          "Team Requests"
        ]
      }
    },
    "/vani/api/v1/editions/{edition_id}/teams/{team_id}": {
      "get": {
        "summary": "Get a team",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          }
        ],
        "operationId": "getTeam",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Using Filter Fields": {
                    "value": {
                      "data": {
                        "team": {
                          "team_member_count": "5",
                          "team_id": "1303000000002003",
                          "created_by_name": "Dan",
                          "team_name": "GraphZen"
                        }
                      },
                      "message": "Teams fetched successfully",
                      "request_uri": "/vani/api/v1/editions/60029715808/teams/1303000000002003",
                      "status": "success"
                    }
                  },
                  "Success": {
                    "value": {
                      "data": {
                        "team": {
                          "created_time": "Tue, 28 May 2024, 15:34:44",
                          "team_member_count": "5",
                          "team_id": "1303000000002003",
                          "created_by_name": "Dan",
                          "zsoid": "60029715808",
                          "created_by": "60029267674",
                          "uri": "/vani/api/v1/editions/60029715808/teams/1303000000002003/members",
                          "team_name": "GraphZen"
                        }
                      },
                      "message": "Teams fetched successfully",
                      "request_uri": "/vani/api/v1/editions/60029715808/teams/1303000000002003",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "description": "Unauthorized - missing or invalid access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Unauthorized": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "75918186",
                          "current_user_id": "96384499",
                          "error_code": "T1006",
                          "team_id": "693000000008463",
                          "message": "User is not a member of the team"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000008463",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found - a resource named in the path does not exist, or is not visible to the caller",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Team Not Found": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "T1008",
                          "team_id": "300900000000200",
                          "message": "Team not found"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/300900000000200",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows60Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "READ",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          },
          {
            "$ref": "#/components/parameters/Fields"
          }
        ],
        "x-vani-read-only": true,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 60
        },
        "tags": [
          "Teams"
        ]
      },
      "put": {
        "summary": "Update a team's name or settings",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.UPDATE"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.UPDATE"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTeamRequest"
              }
            }
          }
        },
        "operationId": "updateTeam",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Description Update": {
                    "value": {
                      "data": {
                        "edition_id": "97375109",
                        "current_user_id": "96384499",
                        "team_id": "1505000000002005",
                        "new_description": "Visualize Graph Instantly"
                      },
                      "message": "Team updated successfully",
                      "request_uri": "/vani/api/v1/editions/97375109/teams/1505000000002005",
                      "status": "success"
                    }
                  },
                  "Name Update": {
                    "value": {
                      "data": {
                        "edition_id": "97375109",
                        "current_user_id": "96384499",
                        "team_id": "1505000000002005",
                        "new_name": "GraphSnap"
                      },
                      "message": "Team updated successfully",
                      "request_uri": "/vani/api/v1/editions/97375109/teams/1505000000002005",
                      "status": "success"
                    }
                  },
                  "Success": {
                    "value": {
                      "data": {
                        "edition_id": "97375109",
                        "current_user_id": "96384499",
                        "team_id": "1505000000002005",
                        "new_name": "GraphSnap",
                        "new_description": "Visualize Graph Instantly"
                      },
                      "message": "Team updated successfully",
                      "request_uri": "/vani/api/v1/editions/97375109/teams/1505000000002005",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedMissingOrInvalidAccessToken9"
          },
          "404": {
            "description": "Not found - a resource named in the path does not exist, or is not visible to the caller",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Team Not Found": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "97375109",
                          "current_user_id": "96384499",
                          "error_code": "T1008",
                          "team_id": "442100000000200",
                          "message": "Team not found"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/97375109/teams/442100000000200",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows30Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "UPDATE",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          }
        ],
        "x-vani-read-only": false,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 30
        },
        "tags": [
          "Teams"
        ]
      }
    },
    "/vani/api/v1/editions/{edition_id}/teams/{team_id}/requests/{request_id}/accept": {
      "post": {
        "summary": "Approve a pending team join request by request id and assign the requester a team role of TEAM_ADMIN, MEMBER or TEAM_GUEST. Admits them without a separate createTeamMember call.",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.CREATE"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.CREATE"
            ]
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptTeamRequestPayload"
              }
            }
          }
        },
        "operationId": "acceptTeamRequest",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Success - TEAM MEMBER": {
                    "value": {
                      "data": {
                        "role_name": "MEMBER",
                        "edition_id": "112255940",
                        "updated_at": "Fri, 21 Aug 2026, 20:04:43",
                        "team_id": "5777000000002017",
                        "request_id": "730000017057001",
                        "zuid": "97049596",
                        "status": "ACCEPTED"
                      },
                      "message": "Team join request accepted successfully",
                      "request_uri": "/vani/api/v1/editions/112255940/teams/5777000000002017/requests/730000017057001/accept",
                      "status": "success"
                    }
                  },
                  "Success - TEAM ADMIN": {
                    "value": {
                      "data": {
                        "role_name": "TEAM_ADMIN",
                        "edition_id": "96499735",
                        "updated_at": "Wed, 06 Aug 2025, 00:54:48",
                        "team_id": "3009000000002003",
                        "request_id": "730000009261046",
                        "zuid": "80473960",
                        "status": "ACCEPTED"
                      },
                      "message": "Team join request accepted successfully",
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/730000009261046/accept",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request - validation failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Invalid Request ID": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "R1003",
                          "team_id": "3009000000002003",
                          "message": "Invalid request ID"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/730000009261019/accept",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - missing or invalid access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Unauthorized": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "A1003",
                          "team_id": "3009000000002003",
                          "message": "The user doesn't have permission to perform this action"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/730000009261019/accept",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundAResourceNamedInThePathDoesNotEx10"
          },
          "409": {
            "description": "Conflict - the requested change conflicts with the current resource state",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "License limit reached": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "L1001",
                          "team_id": "3009000000002003",
                          "message": "License limit reached"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/730000009261019/accept",
                      "status": "error"
                    }
                  },
                  "Member Already Part of the Team": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "T1013",
                          "team_id": "3009000000002003",
                          "message": "Member already part of team"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/730000009261019/accept",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows30Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "CREATE",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          },
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "x-vani-read-only": false,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 30
        },
        "tags": [
          "Team Requests"
        ]
      }
    },
    "/vani/api/v1/editions/{edition_id}/teams/{team_id}/requests/{request_id}/reject": {
      "post": {
        "summary": "Decline a pending team join request by request id, leaving the requester outside the team. Use in place of acceptTeamRequest when access should not be granted.",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.CREATE"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.CREATE"
            ]
          }
        ],
        "operationId": "rejectTeamRequest",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Success": {
                    "value": {
                      "data": {
                        "edition_id": "112255940",
                        "updated_at": "Fri, 21 Aug 2026, 19:49:36",
                        "team_id": "5777000000002017",
                        "request_id": "730000017057001",
                        "zuid": "97049596",
                        "status": "REJECTED"
                      },
                      "message": "Team join request rejected successfully",
                      "request_uri": "/vani/api/v1/editions/112255940/teams/5777000000002017/requests/730000017057001/reject",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request - validation failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Invalid Request ID": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "R1003",
                          "team_id": "3009000000002003",
                          "message": "Invalid request ID"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/73000000926104/reject",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - missing or invalid access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Unauthorized": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "A1003",
                          "team_id": "3009000000002003",
                          "message": "The user doesn't have permission to perform this action"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/730000009261019/reject",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundAResourceNamedInThePathDoesNotEx10"
          },
          "409": {
            "description": "Conflict - the requested change conflicts with the current resource state",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Already Rejected": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "R1012",
                          "team_id": "3009000000002003",
                          "message": "Team join request is already rejected"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests/730000009261046/reject",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows30Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "CREATE",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          },
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "x-vani-read-only": false,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 30
        },
        "tags": [
          "Team Requests"
        ]
      }
    },
    "/vani/api/v1/editions/{edition_id}/teams/{team_id}/users/me/permission": {
      "get": {
        "summary": "Get the current user's role in a team",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          }
        ],
        "operationId": "getMyPermissionInTeam",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Success": {
                    "value": {
                      "data": {
                        "user_permission_info": {
                          "edition_id": "96499735",
                          "role": "TEAM_ADMIN",
                          "current_user_id": "96384499",
                          "team_id": "3009000000002003"
                        }
                      },
                      "message": "User permissions fetched successfully",
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/users/me/permission",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "description": "Unauthorized - missing or invalid access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "User Is Not a Team Member": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "75918186",
                          "current_user_id": "96384499",
                          "error_code": "T1006",
                          "team_id": "693000000002001",
                          "message": "User is not a member of the team"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000002001/users/me/permission",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found - a resource named in the path does not exist, or is not visible to the caller",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Team Not Found": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "T1008",
                          "team_id": "300900000002003",
                          "message": "Team not found"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/300900000002003/users/me/permission",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows60Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "READ",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          }
        ],
        "x-vani-read-only": true,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 60
        },
        "tags": [
          "Teams"
        ]
      }
    },
    "/vani/api/v1/editions/{edition_id}/teams/{team_id}/requests": {
      "post": {
        "summary": "Raise a request for the calling user to join a team they cannot yet reach. A team admin then settles it with acceptTeamRequest or rejectTeamRequest.",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.CREATE"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.CREATE"
            ]
          }
        ],
        "operationId": "createTeamRequest",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Success": {
                    "value": {
                      "data": {
                        "edition_id": "96499735",
                        "updated_at": "Wed, 06 Aug 2025, 10:07:21",
                        "team_id": "3009000000002003",
                        "request_id": "730000009272001",
                        "zuid": "80473960",
                        "status": "PENDING"
                      },
                      "message": "Team join request created successfully",
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedMissingOrInvalidAccessToken9"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundAResourceNamedInThePathDoesNotEx10"
          },
          "409": {
            "description": "Conflict - the requested change conflicts with the current resource state",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Member Already Part of the Team": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "80473960",
                          "error_code": "T1013",
                          "team_id": "3009000000002003",
                          "message": "Member already part of team"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests",
                      "status": "error"
                    }
                  },
                  "Request Already Exists": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "80473960",
                          "error_code": "R1013",
                          "team_id": "3009000000002003",
                          "message": "Team join request already exists for the user"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows30Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "CREATE",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          }
        ],
        "x-vani-read-only": false,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 30
        },
        "tags": [
          "Team Requests"
        ]
      },
      "get": {
        "summary": "Get the join requests for a team",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          }
        ],
        "operationId": "getTeamRequests",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Using Filter Fields": {
                    "value": {
                      "data": {
                        "requests": [
                          {
                            "name": "Emma Carter",
                            "status": "REQUESTED"
                          }
                        ]
                      },
                      "message": "Team requests fetched successfully",
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests",
                      "status": "success"
                    }
                  },
                  "No Pending Join Requests": {
                    "value": {
                      "data": {
                        "requests": []
                      },
                      "message": "Team requests fetched successfully",
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests",
                      "status": "success"
                    }
                  },
                  "Success": {
                    "value": {
                      "data": {
                        "requests": [
                          {
                            "requested_time": "Wed, 06 Aug 2025, 12:35:45",
                            "requested_by": "80473960",
                            "name": "Emma Carter",
                            "request_id": "730000009272023",
                            "status": "REQUESTED"
                          }
                        ]
                      },
                      "message": "Team requests fetched successfully",
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "description": "Unauthorized - missing or invalid access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Unauthorized": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "A1002",
                          "team_id": "3009000000002003",
                          "message": "Only admin can do this action"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/requests",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundAResourceNamedInThePathDoesNotEx10"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows60Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "READ",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          },
          {
            "$ref": "#/components/parameters/Fields3"
          },
          {
            "$ref": "#/components/parameters/From"
          },
          {
            "$ref": "#/components/parameters/Limit"
          }
        ],
        "x-vani-read-only": true,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 60
        },
        "tags": [
          "Team Requests"
        ]
      }
    },
    "/vani/api/v1/editions/{edition_id}/teams/{team_id}/users/{user_id}/permission": {
      "get": {
        "summary": "Get a user's role in a team",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          }
        ],
        "operationId": "getTeamUserPermission",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Succcess": {
                    "value": {
                      "data": {
                        "user_permission_info": {
                          "edition_id": "96499735",
                          "role": "TEAM_ADMIN",
                          "current_user_id": "96384499",
                          "team_id": "3009000000002003",
                          "zuid": "80215739"
                        }
                      },
                      "message": "User permissions fetched successfully",
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/users/80215739/permission",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "description": "Unauthorized - missing or invalid access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "User Is Not a Team Member": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "96499735",
                          "current_user_id": "96384499",
                          "error_code": "T1006",
                          "team_id": "3009000000002003",
                          "message": "User is not a member of the team",
                          "zuid": "80585905"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/96499735/teams/3009000000002003/users/80585905/permission",
                      "status": "error"
                    }
                  },
                  "Unauthorized": {
                    "value": {
                      "error": {
                        "details": {
                          "edition_id": "75918186",
                          "current_user_id": "96384499",
                          "error_code": "A1002",
                          "team_id": "693000000436009",
                          "message": "Only admin can do this action"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/75918186/teams/693000000436009/users/80585905/permission",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundAResourceNamedInThePathDoesNotEx10"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows60Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "READ",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/TeamId"
          },
          {
            "$ref": "#/components/parameters/UserId"
          }
        ],
        "x-vani-read-only": true,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 60
        },
        "tags": [
          "Teams"
        ]
      }
    },
    "/vani/api/v1/editions/{edition_id}/teams/users/me/permission": {
      "get": {
        "summary": "Get the current user's role across all teams",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          }
        ],
        "operationId": "getMyPermissionInAllTeams",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Success": {
                    "value": {
                      "data": {
                        "user_permission_info": {
                          "edition_id": "75918186",
                          "teams": [
                            {
                              "role": "TEAM_ADMIN",
                              "team_id": 693000000435005
                            },
                            {
                              "role": "MEMBER",
                              "team_id": 693000000436009
                            },
                            {
                              "role": "MEMBER",
                              "team_id": 693000000450001
                            }
                          ],
                          "current_user_id": "96384499"
                        }
                      },
                      "message": "User permissions fetched successfully",
                      "request_uri": "/vani/api/v1/editions/75918186/teams/users/me/permission",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedMissingOrInvalidAccessToken9"
          },
          "404": {
            "description": "Not found - a resource named in the path does not exist, or is not visible to the caller",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniError"
                },
                "examples": {
                  "Invalid Edition": {
                    "value": {
                      "error": {
                        "details": {
                          "current_user_id": "96384499",
                          "error_code": "E1017",
                          "message": "Invalid edition"
                        }
                      },
                      "request_uri": "/vani/api/v1/editions/02345/teams/users/me/permission",
                      "status": "error"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows60Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "READ",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          }
        ],
        "x-vani-read-only": true,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 60
        },
        "tags": [
          "Teams"
        ]
      }
    },
    "/vani/api/v1/editions/{edition_id}/teams": {
      "get": {
        "summary": "Get all teams in an edition",
        "security": [
          {
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          },
          {
            "vani-api-key": [],
            "iam-oauth2-schema": [
              "Vani.teams.READ"
            ]
          }
        ],
        "operationId": "getTeams",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VaniEnvelope"
                },
                "examples": {
                  "Pagination with Sorting by Name (Ascending)": {
                    "value": {
                      "data": {
                        "teams": [
                          {
                            "created_time": "Wed, 12 Jun 2024, 11:22:30",
                            "team_member_count": "8",
                            "team_id": "1303000000003021",
                            "created_by_name": "Alice",
                            "zsoid": "60029715808",
                            "created_by": "60029269987",
                            "uri": "/vani/api/v1/editions/60029715808/teams/1303000000003021",
                            "team_name": "CloudSpark"
                          },
                          {
                            "created_time": "Tue, 28 May 2024, 15:34:44",
                            "team_member_count": "5",
                            "team_id": "1303000000002003",
                            "is_default": "true",
                            "created_by_name": "Dan",
                            "zsoid": "60029715808",
                            "created_by": "60029267674",
                            "uri": "/vani/api/v1/editions/60029715808/teams/1303000000002003",
                            "team_name": "GraphZen"
                          }
                        ]
                      },
                      "message": "Teams fetched successfully",
                      "request_uri": "/vani/api/v1/editions/60029715808/teams",
                      "status": "success"
                    }
                  },
                  "Using Filter Fields": {
                    "value": {
                      "data": {
                        "teams": [
                          {
                            "team_member_count": "5",
                            "team_id": "1303000000002003",
                            "team_name": "GraphZen"
                          },
                          {
                            "team_member_count": "8",
                            "team_id": "1303000000003021",
                            "team_name": "CloudSpark"
                          }
                        ]
                      },
                      "message": "Teams fetched successfully",
                      "request_uri": "/vani/api/v1/editions/60029715808/teams",
                      "status": "success"
                    }
                  },
                  "Success : User in Organization, Not in Any Team": {
                    "value": {
                      "data": {
                        "teams": []
                      },
                      "message": "User is not a member of any team",
                      "request_uri": "/vani/api/v1/editions/98587682/teams",
                      "status": "success"
                    }
                  },
                  "Pagination with Sorting by Created Time (Descending)": {
                    "value": {
                      "data": {
                        "teams": [
                          {
                            "created_time": "Wed, 12 Jun 2024, 11:22:30",
                            "team_member_count": "8",
                            "team_id": "1303000000003021",
                            "created_by_name": "Alice",
                            "zsoid": "60029715808",
                            "created_by": "60029269987",
                            "uri": "/vani/api/v1/editions/60029715808/teams/1303000000003021",
                            "team_name": "CloudSpark"
                          },
                          {
                            "created_time": "Tue, 28 May 2024, 15:34:44",
                            "team_member_count": "5",
                            "team_id": "1303000000002003",
                            "is_default": "true",
                            "created_by_name": "Dan",
                            "zsoid": "60029715808",
                            "created_by": "60029267674",
                            "uri": "/vani/api/v1/editions/60029715808/teams/1303000000002003",
                            "team_name": "GraphZen"
                          }
                        ]
                      },
                      "message": "Teams fetched successfully",
                      "request_uri": "/vani/api/v1/editions/60029715808/teams",
                      "status": "success"
                    }
                  },
                  "Success": {
                    "value": {
                      "data": {
                        "teams": [
                          {
                            "created_time": "Tue, 28 May 2024, 15:34:44",
                            "team_member_count": "5",
                            "team_id": "1303000000002003",
                            "is_default": "true",
                            "created_by_name": "Dan",
                            "zsoid": "60029715808",
                            "created_by": "60029267674",
                            "uri": "/vani/api/v1/editions/60029715808/teams/1303000000002003",
                            "team_name": "GraphZen"
                          },
                          {
                            "created_time": "Wed, 12 Jun 2024, 11:22:30",
                            "team_member_count": "8",
                            "team_id": "1303000000003021",
                            "created_by_name": "Alice",
                            "zsoid": "60029715808",
                            "created_by": "60029269987",
                            "uri": "/vani/api/v1/editions/60029715808/teams/1303000000003021",
                            "team_name": "CloudSpark"
                          }
                        ]
                      },
                      "message": "Teams fetched successfully",
                      "request_uri": "/vani/api/v1/editions/60029715808/teams",
                      "status": "success"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequestValidationFailed"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedMissingOrInvalidAccessToken9"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundAResourceNamedInThePathDoesNotEx10"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitExceededThisOperationAllows60Re"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorTheRequestWasWellForm"
          }
        },
        "x-vani-operation-type": "READ",
        "parameters": [
          {
            "$ref": "#/components/parameters/EditionId"
          },
          {
            "$ref": "#/components/parameters/Fields"
          },
          {
            "$ref": "#/components/parameters/From"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "schema": {
              "x-enumDescriptions": {
                "created_time": "Sort by creation time.",
                "name": "Sort by team name."
              },
              "type": "string",
              "enum": [
                "name",
                "created_time"
              ]
            },
            "in": "query",
            "name": "sort_by",
            "description": "Specifies the field used to sort the results. Allowed values: name, created_time",
            "required": false
          },
          {
            "schema": {
              "x-enumDescriptions": {
                "asc": "Ascending order.",
                "desc": "Descending order."
              },
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "in": "query",
            "name": "order_by",
            "description": "Specifies the sorting order. Allowed values: asc, desc",
            "required": false
          }
        ],
        "x-vani-read-only": true,
        "x-vani-destructive": false,
        "x-vani-throttle": {
          "duration": "1M",
          "threshold": 60
        },
        "tags": [
          "Teams"
        ]
      }
    }
  },
  "info": {
    "contact": {
      "name": "Vani API Support",
      "url": "https://www.vanihq.com/resources/api/doc/"
    },
    "description": "Teams within an edition, their members, join requests, and role lookups.",
    "title": "Teams",
    "version": "1.0.0"
  },
  "tags": [
    {
      "name": "Teams",
      "description": "Read and update teams, and resolve a user's role within them."
    },
    {
      "name": "Team Members",
      "description": "Add, update, remove, and list the members of a team."
    },
    {
      "name": "Team Requests",
      "description": "Raise, list, accept, and reject requests to join a team."
    }
  ]
}