---
title: "Get a Team"
method: GET
path: "/v2/teams/{teamId}"
tags: ["teams"]
---

# Get a Team

`GET /v2/teams/{teamId}`

Get information for the Team specified by the `teamId` parameter.

## Path parameters

- `teamId` string, required

## Query parameters

- `slug` string

## Response `200`

The requested team

- Team — Data representing a Team.
  - `connect` object
    - `enabled` false | true
  - `creatorId` string, required — The ID of the user who created the Team.
  - `updatedAt` number, required — Timestamp (in milliseconds) of when the Team was last updated.
  - `emailDomain` string, nullable — Hostname that'll be matched with emails on sign-up to automatically join the Team.
  - `saml` object — When "Single Sign-On (SAML)" is configured, this object contains information regarding the configuration of the Identity Provider (IdP).
    - `connection` object — Information for the SAML Single Sign-On configuration.
      - `type` string, required — The Identity Provider "type", for example Okta.
      - `state` string, required — Current state of the connection.
      - `connectedAt` number, required — Timestamp (in milliseconds) of when the configuration was connected.
      - `lastReceivedWebhookEvent` number — Timestamp (in milliseconds) of when the last webhook event was received from WorkOS.
      - `lastSyncedAt` number — Timestamp (in milliseconds) of when the last directory sync was performed.
      - `syncState` 'ACTIVE' | 'SETUP' — Controls whether directory sync events are processed. - 'SETUP': Directory connected but role mappings not yet configured. Events are acknowledged but not processed. - 'ACTIVE': Fully configured. Events are processed normally. - undefined: Legacy directory (pre-feature), treat as 'ACTIVE' for backwards compatibility.
      - `status` string, required
    - `directory` object — Information for the Directory Sync configuration.
      - `type` string, required — The Identity Provider "type", for example Okta.
      - `state` string, required — Current state of the connection.
      - `connectedAt` number, required — Timestamp (in milliseconds) of when the configuration was connected.
      - `lastReceivedWebhookEvent` number — Timestamp (in milliseconds) of when the last webhook event was received from WorkOS.
      - `lastSyncedAt` number — Timestamp (in milliseconds) of when the last directory sync was performed.
      - `syncState` 'ACTIVE' | 'SETUP' — Controls whether directory sync events are processed. - 'SETUP': Directory connected but role mappings not yet configured. Events are acknowledged but not processed. - 'ACTIVE': Fully configured. Events are processed normally. - undefined: Legacy directory (pre-feature), treat as 'ACTIVE' for backwards compatibility.
    - `enforced` false | true, required — When `true`, interactions with the Team **must** be done with an authentication token that has been authenticated with the Team's SAML Single Sign-On provider.
    - `defaultRedirectUri` 'v0.app' | 'v0.dev' | 'vercel.com' — The default redirect URI to use after successful SAML authentication.
    - `roles` object — When "Directory Sync" is configured, this object contains a mapping of which Directory Group (by ID) should be assigned to which Vercel Team "role".
  - `inviteCode` string — Code that can be used to join this Team. Only visible to Team owners.
  - `billing` object, nullable, required — The team's billing plan.
    - `plan` 'enterprise' | 'hobby' | 'pro', required
  - `description` string, nullable, required — A short description of the Team.
  - `defaultRoles` object — Default roles for the team.
    - `teamRoles` string[]
    - `teamPermissions` string[]
  - `stagingPrefix` string, required — The prefix that is prepended to automatic aliases.
  - `resourceConfig` object
    - `concurrentBuilds` number — The total amount of concurrent builds that can be used.
    - `elasticConcurrencyEnabled` false | true — Whether every build for this team / user has elastic concurrency enabled automatically.
    - `edgeConfigSize` number — The maximum size in kilobytes of an Edge Config. Only specified if a custom limit is set.
    - `edgeConfigs` number — The maximum number of edge configs an account can create.
    - `kvDatabases` number — The maximum number of kv databases an account can create.
    - `blobStores` number — The maximum number of blob stores an account can create.
    - `postgresDatabases` number — The maximum number of postgres databases an account can create.
    - `customEnvironmentsPerProject` number — The maximum number of custom environments allowed per project.
    - `serverlessFunctionMaxMemorySize` number — The maximum memory size (in MB) for a serverless function. Only specified if a custom limit is set.
    - `buildEntitlements` object
      - `enhancedBuilds` false | true
    - `buildMachine` object — Build machine configuration
      - `default` 'basic' | 'elastic' | 'enhanced' | 'standard' | 'turbo' — Default build machine type for new builds
  - `previewDeploymentSuffix` string, nullable — The hostname that is current set as preview deployment suffix.
  - `platform` false | true — Whether the team is a platform team.
  - `disableHardAutoBlocks` union
    - number
    - false | true
  - `remoteCaching` object — Is remote caching enabled for this team
    - `enabled` false | true
  - `defaultDeploymentProtection` object — Default deployment protection for this team null indicates protection is disabled
    - `passwordProtection` object, nullable
      - `deploymentType` string, required
    - `ssoProtection` object, nullable
      - `deploymentType` string, required
  - `defaultPassport` object, nullable — Default Passport configuration for new projects in this team.
    - `connectorId` string, required — Default Passport configuration for new projects in this team.
    - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required — Default Passport configuration for new projects in this team.
  - `defaultExpirationSettings` object — Default deployment expiration settings for this team
    - `expirationDays` number — Number of days to keep non-production deployments (mostly preview deployments) before soft deletion.
    - `expirationDaysProduction` number — Number of days to keep production deployments before soft deletion.
    - `expirationDaysCanceled` number — Number of days to keep canceled deployments before soft deletion.
    - `expirationDaysErrored` number — Number of days to keep errored deployments before soft deletion.
    - `deploymentsToKeep` number — Minimum number of production deployments to keep for this project, even if they are over the production expiration limit.
  - `defaultProjectJobs` object — Default job configuration applied to new projects created in this team.
    - `lint` object — Default job configuration applied to new projects created in this team.
      - `targets` string[], required — Default job configuration applied to new projects created in this team.
    - `typecheck` object — Default job configuration applied to new projects created in this team.
      - `targets` string[], required — Default job configuration applied to new projects created in this team.
    - `mfe-config-present` object — Default job configuration applied to new projects created in this team.
      - `targets` string[], required — Default job configuration applied to new projects created in this team.
  - `enablePreviewFeedback` 'default' | 'default-force' | 'off' | 'off-force' | 'on' | 'on-force' | 'null', nullable — Whether toolbar is enabled on preview deployments
  - `enableProductionFeedback` 'default' | 'default-force' | 'off' | 'off-force' | 'on' | 'on-force' | 'null', nullable — Whether toolbar is enabled on production deployments
  - `sensitiveEnvironmentVariablePolicy` 'default' | 'off' | 'on' | 'null', nullable — Sensitive environment variable policy for this team
  - `hideIpAddresses` false | true | null, nullable — Indicates if IP addresses should be accessible in observability (o11y) tooling
  - `hideIpAddressesInLogDrains` false | true | null, nullable — Indicates if IP addresses should be accessible in log drains
  - `dpAccessRequestsMode` 'all' | 'email-domain' | 'none' — Controls who can request access to protected deployments.
  - `ipBuckets` object[]
    - `bucket` string, required
    - `supportUntil` number
    - `default` false | true
  - `requireVerifiedCommits` false | true — When enabled, all projects in the team require commits to be signed and verified by the git provider before deployments will be created. Projects may override this via `project.gitProviderOptions.requireVerifiedCommits` (gated by `Project:Update`).
  - `disableRepositoryDispatchEvents` false | true — Default for projects in the team. When `true`, projects in this team will not emit GitHub repository-dispatch events on deployment events unless the project explicitly overrides this setting via `project.gitProviderOptions.disableRepositoryDispatchEvents`.
  - `strictDeploymentProtectionSettings` object — When enabled, deployment protection settings require stricter permissions (owner-only).
    - `enabled` false | true, required
    - `updatedAt` number, required
  - `strictShareableLinks` object — When enabled, creating shareable links requires Owner role.
    - `enabled` false | true, required
    - `updatedAt` number, required
  - `strictPasswordProtectionSettings` object — When enabled, adding, changing, or removing project password protection requires Owner role.
    - `enabled` false | true, required
    - `updatedAt` number, required
  - `nsnbConfig` object — NSNB configuration for the team.
    - `preference` 'auto-approval' | 'block' | 'manual-approval', required
  - `deploymentPolicy` object — Composable deployment-time policy for the team. Used as the default for every project on the team, with optional per-project overrides on `project.deploymentPolicy`.
    - `gitSources` object[]
      - `sources` union[], required
        - union
          - object — Allowlist entry for GitHub and Bitbucket, whose repos are identified by a flat `org`/`repo` (Bitbucket's workspace/owner maps to `org`, its repo slug to `repo`). Omit `repo` to match any repo in the org. Org is matched case-insensitively.
            - `provider` 'bitbucket' | 'github', required
            - `org` string, required
            - `repo` string
          - object — Allowlist entry for GitLab, which uses nested groups rather than a flat org/repo. `namespace` is the full group path (e.g. `group` or `group/subgroup`); `project` is the leaf project name. Omit `project` to match any project under the namespace. Namespace is matched case-insensitively.
            - `provider` 'gitlab', required
            - `namespace` string, required
            - `project` string
      - `enabled` false | true, required
      - `environments` union[], required
        - union
          - object
            - `type` 'system', required
            - `target` 'preview' | 'production', required
          - object
            - `type` 'custom', required
            - `environmentId` string, required
    - `deploymentSources` object[]
      - `sources` string[], required
      - `enabled` false | true, required
      - `environments` union[], required
        - union
          - object
            - `type` 'system', required
            - `target` 'preview' | 'production', required
          - object
            - `type` 'custom', required
            - `environmentId` string, required
  - `personalAccessTokensInvalidatedAt` number — Timestamp (ms) after which personal access tokens created at or before this time are considered invalid for this team.
  - `appTokensInvalidatedAt` number — Timestamp (ms) after which Vercel App tokens created at or before this time are considered invalid for this team.
  - `apiKeysInvalidatedAt` number — Timestamp (ms) after which API keys created at or before this time are considered invalid for this team.
  - `integrationTokensInvalidatedAt` number — Timestamp (ms) after which integration tokens created at or before this time are considered invalid for this team.
  - `id` string, required — The Team's unique identifier.
  - `slug` string, required — The Team's slug, which is unique across the Vercel platform.
  - `name` string, nullable, required — Name associated with the Team account, or `null` if none has been provided.
  - `avatar` string, nullable, required — The ID of the file used as avatar for this Team.
  - `membership` object — The membership of the authenticated User in relation to the Team.
    - `uid` string
    - `entitlements` object[]
      - `entitlement` string, required
    - `teamId` string
    - `confirmed` true, required
    - `accessRequestedAt` number
    - `role` 'BILLING' | 'CONTRIBUTOR' | 'DEVELOPER' | 'MEMBER' | 'OWNER' | 'SECURITY' | 'VIEWER' | 'VIEWER_FOR_PLUS', required
    - `teamRoles` string[]
    - `teamPermissions` string[]
    - `createdAt` number, required
    - `created` number, required
    - `joinedFrom` object
      - `origin` 'account-update' | 'bitbucket' | 'dsync' | 'feedback' | 'github' | 'gitlab' | 'import' | 'link' | 'mail' | 'nsnb-auto-approve' | 'nsnb-hobby-upgrade' | 'nsnb-invite' | 'nsnb-redeploy' | 'nsnb-redeploy-attribution-card' | 'nsnb-request-access' | 'nsnb-viewer-upgrade' | 'organization-teams' | 'saml' | 'teams', required
      - `commitId` string
      - `repoId` string
      - `repoPath` string
      - `gitUserId` union
        - string
        - number
      - `gitUserLogin` string
      - `ssoUserId` string
      - `ssoConnectedAt` number
      - `idpUserId` string
      - `dsyncUserId` string
      - `dsyncConnectedAt` number
  - `createdAt` number, required — UNIX timestamp (in milliseconds) when the Team was created.
  - `parentId` string — The organizationId for teams that belong to an organization (set on both the organization's root team and its child teams).
  - `orgRootTeamId` string — Best-effort ID of the organization’s root billing team. When present, compare `orgRootTeamId === id` to identify the root team. It may be omitted even when `parentId` is set if organization resolution fails or the referenced organization is missing. Always omitted for non-organization teams.

## Other responses

- `400` — One of the provided values in the request query is invalid.
- `401` — The request is not authorized.
- `403` — You do not have permission to access this resource. Not authorized to access the team.
- `404` — Team was not found.
- `410`

---

[API](https://skmtc.net/vercel/apis/api.md) · [All operations](https://skmtc.net/vercel/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vercel/api/versions/61d1ba3f6dac/schema)
