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

# Search for teams

> Use this endpoint to search for teams belonging to a company or an organisation. If employeeId or teamId are provided, the results are further filtered to teams matching those ids.



## OpenAPI

````yaml get /v1/teams
openapi: 3.0.1
info:
  title: Oberon API
  description: Oberon open api definitions
  termsOfService: https://pleo.io/terms/
  contact:
    email: apiteam@pleo.io
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 52.35.0
servers:
  - url: https://external.pleo.io
    description: Production server
  - url: https://external.staging.pleo.io
    description: Staging server
security:
  - bearerAuth: []
  - basicAuth: []
tags:
  - name: SCIM
    description: >-
      SCIM-compatible User API. The SCIM (System for Cross-domain Identity

      Management) specification standardises a schema for user representation
      and

      provides a RESTful API to create, update, retrieve and delete user
      identities.

      <br> In particular, this API enables third-party systems to efficiently
      manage

      user provisioning and de-provisioning.
       <br> API available at `/scim/v2`
    externalDocs:
      description: Read more about SCIM
      url: https://datatracker.ietf.org/doc/html/rfc7644
  - name: Employees
    description: |-
      The Employees API enables you to search for employee records that
      are managed in Pleo. You can perform the following: 
       - Search for multiple
      employees 
       - Search for a specific employee record by employee ID
  - name: Companies
    description: >-
      The Companies API enables you to search for company records that are
      managed in Pleo. You can perform the following: 
       - Search for multiple companies
       - Search for a specific company record by company ID
  - name: Teams
    description: >-
      The Teams API enables you to manage teams within a company or organisation
      that are managed in Pleo. You can perform the following: 
       - Search for teams
       - Get a team by ID
       - Create a team
       - Partially update a team
       - Delete a team
       - Add members to a team
       - Remove a member from a team
paths:
  /v1/teams:
    get:
      tags:
        - Teams
      summary: Search for teams
      description: >-
        Use this endpoint to search for teams belonging to a company or an
        organisation. If employeeId or teamId are provided, the results are
        further filtered to teams matching those ids.
      operationId: Search Teams
      parameters:
        - name: companyId
          in: query
          description: >-
            Enter the company ID of the teams you are searching for. Ensure that
            the access token used for authentication has the correct permissions
            to search for teams in the given company.
          required: false
          style: form
          explode: true
          schema:
            type: string
            format: uuid
        - name: organizationId
          in: query
          description: >-
            Enter the organisation ID of the teams you are searching for. Ensure
            that the access token used for authentication has the correct
            permissions to search for teams in the given organisation.
          required: false
          style: form
          explode: true
          schema:
            type: string
            format: uuid
        - name: employeeId
          in: query
          description: Search for teams that have the given Employee IDs as members.
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              format: uuid
        - name: teamId
          in: query
          description: Search for teams with the given Team IDs.
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              format: uuid
        - name: includeCompanyTeams
          in: query
          description: >-
            When used along side organizationId, returns all teams in the
            organisation and all companies in the organisation.
          required: false
          style: form
          explode: true
          schema:
            type: boolean
        - name: query
          in: query
          description: Filter teams by a partial match on the team name.
          required: false
          style: form
          explode: true
          schema:
            type: string
        - name: includeTotal
          in: query
          description: >-
            Whether to include the total count of teams matching the search in
            the response.
          required: false
          style: form
          explode: true
          schema:
            type: boolean
        - name: before
          in: query
          description: >-
            Lower bound of the page of data to return (cannot be used together
            with [after] or [offset]).
          required: false
          style: form
          explode: true
          schema:
            pattern: ^[A-Z2-7=~]+$
            type: string
        - name: after
          in: query
          description: >-
            Upper bound of the page of data to return (cannot be used together
            with [before] or [offset]).
          required: false
          style: form
          explode: true
          schema:
            pattern: ^[A-Z2-7=~]+$
            type: string
        - name: offset
          in: query
          description: >-
            Offset of the page of data to return (cannot be used together with
            [before] or [after]).
          required: false
          style: form
          explode: true
          schema:
            minimum: 0
            type: integer
            format: int64
        - name: limit
          in: query
          description: The maximum amount of items to return.
          required: false
          style: form
          explode: true
          schema:
            minimum: 0
            type: integer
            format: int32
        - name: sorting_keys
          in: query
          description: The keys to sort the results by.
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: sorting_order
          in: query
          description: >-
            The order to sort the results by. Must be the same length as
            [sortingKeys]; one order per key.
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PageOrder'
      responses:
        '200':
          description: Team search successful
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: >-
                  #/components/schemas/CursorPaginatedResponseExternalTeamResponseModel
        '400':
          description: 'Bad request: Invalid combination of search parameters'
        '403':
          description: 'Forbidden: User lacks the necessary permissions'
components:
  schemas:
    PageOrder:
      type: string
      enum:
        - ASC
        - ASC_NULLS_FIRST
        - ASC_NULLS_LAST
        - DESC
        - DESC_NULLS_FIRST
        - DESC_NULLS_LAST
    CursorPaginatedResponseExternalTeamResponseModel:
      required:
        - data
        - pagination
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ExternalTeamResponseModel'
        pagination:
          $ref: '#/components/schemas/CursorPageInfo'
    ExternalTeamResponseModel:
      required:
        - createdAt
        - id
        - name
        - updatedAt
      type: object
      properties:
        code:
          type: string
          description: External ID of the Team
        companyId:
          type: string
          description: Company ID of the Team
          format: uuid
        createdAt:
          type: string
          description: Creation date of the Team
          format: date-time
        employees:
          type: array
          description: Employee IDs of the Team's employees
          items:
            type: string
            description: Employee IDs of the Team's employees
            format: uuid
        id:
          type: string
          description: ID of the Team
          format: uuid
        name:
          type: string
          description: Name of the Team
        organizationId:
          type: string
          description: Organisation ID of the Team
          format: uuid
        updatedAt:
          type: string
          description: Last update date of the Team
          format: date-time
    CursorPageInfo:
      required:
        - currentRequestPagination
        - hasNextPage
        - hasPreviousPage
      type: object
      properties:
        currentRequestPagination:
          $ref: '#/components/schemas/CursorPageCurrentRequestInfo'
        endCursor:
          type: string
        hasNextPage:
          type: boolean
        hasPreviousPage:
          type: boolean
        startCursor:
          type: string
        total:
          type: integer
          format: int64
    CursorPageCurrentRequestInfo:
      required:
        - parameters
      type: object
      properties:
        after:
          type: string
        before:
          type: string
        limit:
          type: integer
          format: int32
        offset:
          type: integer
          format: int64
        parameters:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        sortingKeys:
          type: array
          items:
            type: string
        sortingOrder:
          type: array
          items:
            $ref: '#/components/schemas/PageOrder'
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        JWT Bearer token authentication. Include the token in the Authorization
        header as: `Bearer <token>`
      scheme: bearer
      bearerFormat: JWT
    basicAuth:
      type: http
      description: >-
        Basic HTTP authentication using API key. Use your API key as the
        username and leave the password empty. The credentials will be Base64
        encoded automatically.
      scheme: basic

````