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

# Create a new team



## OpenAPI

````yaml https://api.wirespeed.co/v1/openapi.json put /v1/team
openapi: 3.0.0
info:
  title: Wirespeed API
  description: The public Wirespeed API. v1 is the first stable contract.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.wirespeed.co
security: []
tags: []
paths:
  /v1/team:
    put:
      tags:
        - Team
      summary: Create a new team
      operationId: TeamController_createTeam
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTeamDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchTeamMember'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
      security:
        - bearer: []
components:
  schemas:
    CreateTeamDto:
      type: object
      properties:
        name:
          type: string
          description: Name of the team (1-512 characters)
        ownerFirstName:
          type: string
          description: First name of the team owner (1-512 characters)
        ownerLastName:
          type: string
          description: Last name of the team owner (1-512 characters)
        ownerEmail:
          type: string
          description: Email address of the team owner
        platformName:
          type: string
          description: Platform name of the team
        domain:
          type: string
          description: Domain URL for the team
        faviconUrl:
          type: string
          description: Favicon URL for the team
        demo:
          type: boolean
          default: false
          description: Whether this is a demo team
        refreshable:
          type: boolean
          default: true
          description: >-
            Whether this demo team should be automatically deleted and recreated
            weekly
        autoSubscribeServiceProviderUsers:
          type: boolean
          default: true
          description: Whether to auto-subscribe the service provider users to the new team
        sku:
          type: string
          enum:
            - identity
            - adr
          description: Subscription SKU tier for the team
        addOns:
          type: array
          description: Add-on SKUs for the team
          items:
            type: string
            enum:
              - data
        skuStartDate:
          type: string
          description: Contract/subscription start date (ISO string)
        skuEndDate:
          type: string
          description: Contract/subscription end date (ISO string)
        isTrial:
          type: boolean
          default: false
          description: Whether this team is a proof-of-value trial
        address:
          description: Address of the organization
          allOf:
            - $ref: '#/components/schemas/AddressDto'
      required:
        - name
        - domain
    SearchTeamMember:
      type: object
      properties:
        data:
          description: Array of team member user objects
          type: array
          items:
            $ref: '#/components/schemas/TeamMemberUser'
      required:
        - data
    HttpError:
      type: object
      properties:
        message:
          type: string
        statusCode:
          type: number
      required:
        - message
        - statusCode
    AddressDto:
      type: object
      properties:
        streetLine1:
          type: string
        streetLine2:
          type: string
        city:
          type: string
        administrativeArea:
          type: string
        subAdministrativeArea:
          type: string
        postalCode:
          type: string
        country:
          type: string
      required:
        - streetLine1
        - city
        - administrativeArea
        - postalCode
        - country
    TeamMemberUser:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the user
        intercomId:
          type: string
          description: Intercom customer support identifier
        createdAt:
          type: string
          description: Timestamp when the user was created
        displayName:
          type: string
          description: 'Display name: first (+ optional last) if set, otherwise email'
        email:
          type: string
          description: Email address of the user
        locked:
          type: boolean
          description: Whether the user account is locked
        isServiceAccount:
          type: boolean
          description: Whether this is a service account for team API keys
        internalRole:
          type: string
          enum:
            - ADMIN
            - ANALYST
            - VIEWER
          nullable: true
          description: Internal role for Wirespeed staff (null for regular users)
        activeTeamId:
          type: string
          description: ID of the currently active team
        parentTeamId:
          type: string
          description: ID of the parent team
        completedOnboarding:
          type: boolean
          description: Whether the user has completed onboarding
        firstName:
          type: string
          description: First name of the user
        lastName:
          type: string
          description: Last name of the user
        teamId:
          type: string
          description: Team ID the user belongs to
        autoSubscribeToNotifications:
          type: boolean
          description: Whether the user is auto subscribed to notifications
        phoneNumber:
          type: string
          description: Phone number of the user
        role:
          type: string
          enum:
            - ADMIN
            - ANALYST
            - VIEWER
          description: Role assigned to the user
        isExternal:
          type: boolean
          description: Whether this user is external to the current team
      required:
        - id
        - intercomId
        - createdAt
        - displayName
        - email
        - locked
        - isServiceAccount
        - activeTeamId
        - parentTeamId
        - completedOnboarding
        - teamId
        - autoSubscribeToNotifications
        - role
        - isExternal
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````