LogoLogo
Login to CortexBook a DemoCortex Academycortex.io
  • Cortex Docs
  • Cortex Quick Start
  • Ingesting data into Cortex
    • Managing Entities
      • Adding entities
        • Add services
        • Add domains
        • Add teams
        • Add custom entity types
        • Defining dependencies
      • Entity details page
      • Defining ownership
      • Defining relationship types
      • Grouping entities
      • Adding external documentation
      • Adding Deploy data
      • Adding custom data
      • Viewing discovered entities
      • Archiving entities
      • Relationship graph
      • Using On-call Assistant for incidents
      • Managing Terraform infra in Cortex
    • Managing Catalogs
    • Integrations
      • Internally hosted integrations
      • ArgoCD
      • AWS
      • Azure DevOps
      • Azure Resources
      • BambooHR
      • Bitbucket
      • BugSnag
      • Buildkite
      • Checkmarx
      • CircleCI
      • ClickUp
      • Codecov
      • Coralogix
      • Custom webhook integrations
      • Datadog
      • Dynatrace
      • Entra ID (Azure AD)
      • FireHydrant
      • GitHub
      • GitLab
      • Google
      • Grafana
      • incident.io
      • Instana
      • Jenkins
      • Jira
      • Kubernetes
      • LaunchDarkly
      • Lightstep
      • Mend
      • Microsoft Teams
      • New Relic
      • Okta
      • Opsgenie
      • PagerDuty
      • Prometheus
      • Rollbar
      • Rootly
      • Sentry
      • ServiceNow
      • Slack
      • Snyk
      • SonarQube
      • Splunk Observability Cloud (SignalFx)
      • Splunk On-Call (VictorOps)
      • Sumo Logic
      • Veracode
      • Wiz
      • Workday
      • xMatters
  • Scorecards
    • Initiatives and Action items
      • Creating issues based on Initiatives
    • Scorecard rule exemptions
    • Scorecard rule filters
    • Scorecard examples
    • Scorecards as code
  • Reports
    • Executive report
    • All Scorecards report
    • Bird's eye report
    • Progress report
    • Report card
  • Eng Intelligence
    • Custom Metrics
    • Jira Metrics
    • Metrics Explorer (Beta)
  • Cortex Query Language (CQL)
    • Using CQL reports
    • Using JQ in Cortex
  • Workflows
    • Creating a Workflow
      • Workflows as code
    • Blocks
    • Running a Workflow
    • Registering a Scaffolder template
      • Scaffolder advanced usage
    • Using a Workflow to sync in ArgoCD
    • Kicking off a Jenkins pipeline in a Workflow
    • Calling internal service endpoints in a Workflow
  • Plugins
    • Creating a plugin
      • Creating a plugin proxy
    • Migrating Backstage plugins to Cortex
  • Engineering homepage
  • Workspace Settings
    • Using GitOps for Cortex
      • GitOps logs
    • Managing users
      • Roles and permissions
        • Custom roles
        • Team ownership entity editing
      • Configuring SSO
        • Microsoft Entra ID
        • Google
        • Other OIDC providers
        • Okta
          • Okta SCIM
      • Configuring identity mappings
      • Onboarding management
    • API keys, secrets, and tokens
      • Secrets
      • Personal tokens
    • Audit logs
    • Entity settings
      • Data verification
      • Auto archiving entities
    • IP allowlist
    • Notifications
      • Notification logs
    • Customizing your workspace
    • Using search in Cortex
  • Cortex API
    • REST API operations
      • API Keys
      • Audit Logs
      • Catalog Entities
      • Custom Data
        • Custom Data (Advanced)
      • Custom Events
      • Custom Metrics
      • Dependencies
      • Deploys
      • Discovery Audit
      • Docs
      • Eng Intel: User Labels
      • Entity Relationship Types (Beta)
      • Entity Relationships (Beta)
      • Entity Types
      • GitOps Logs
      • Groups
      • Initiatives
      • Integrations APIs
        • Azure Active Directory (Entra ID) API
        • Azure Resources API
        • AWS API
        • Azure DevOps API
        • CircleCI API
        • Coralogix API
        • Datadog API
        • GitHub API
        • GitLab API
        • incident.io API
        • LaunchDarkly API
        • New Relic API
        • PagerDuty API
        • Prometheus API
        • SonarQube API
      • IP Allowlist
      • Notification Logs
      • On call
      • Packages
      • Plugins
      • Queries
      • SCIM
      • Scorecards
      • Secrets
      • Team Hierarchies
      • Teams
      • Workflows
Powered by GitBook
On this page

Was this helpful?

Export as PDF

Last updated 1 month ago

Was this helpful?

Use these operations to interact with in Cortex.

This page lists operations specific to team entities. See for API operations relating to all entity types (including teams).

Required permissions

Your API key must have the Edit entities permission.

Operations

  1. Cortex API
  2. REST API operations

Teams

teams
Catalog entities

Retrieve list of teams or team details

get

Warning: This API can return team details if you pass in a teamTag query parameter. However, this should only be used to retrieve team details if your team identifier contains non-alphanumeric characters. Otherwise, use the standard API under Teams -> Retrieve team details. When retrieving team details, the response will be a single team entity instead of a list.

Note: the response objects can also include an idpGroup or cortexTeam field depending on whether the team contains a group or only consists of individually defined members.

Authorizations
Query parameters
includeTeamsWithoutMembersbooleanOptional

Include teams without members

Example: false
teamTagstringOptional

Team identifier

Example: my-team
Responses
200
Object containing a list of teams
application/json
404
Team not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
get
GET /api/v1/teams HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "teams": [
    {
      "catalogEntityTag": "text",
      "cortexTeam": {
        "members": [
          {
            "description": "text",
            "email": "text",
            "name": "text",
            "notificationsEnabled": true,
            "role": {
              "source": "text",
              "tag": "text",
              "type": "text"
            },
            "roles": [
              {
                "source": "text",
                "tag": "text",
                "type": "text"
              }
            ]
          }
        ]
      },
      "id": "text",
      "isArchived": true,
      "links": [
        {
          "description": "text",
          "name": "text",
          "type": "text",
          "url": "text"
        }
      ],
      "metadata": {
        "description": "text",
        "name": "text",
        "summary": "text"
      },
      "slackChannels": [
        {
          "description": "text",
          "name": "text",
          "notificationsEnabled": true
        }
      ],
      "teamTag": "text",
      "type": "text"
    }
  ]
}

Retrieve team details

get
Authorizations
Path parameters
tagOrIdstringRequired

The tag (x-cortex-tag) or unique, auto-generated identifier for the entity.

Responses
200
Successfully found team Note: the response objects can also include an `idpGroup` or `cortexTeam` field depending on whether the team contains a `group` or only consists of individually defined `members`.
application/json
404
Team not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
get
GET /api/v1/teams/{tagOrId} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "catalogEntityTag": "text",
  "id": "text",
  "isArchived": true,
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "teamTag": "text",
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}

Archive team

put
Authorizations
Path parameters
tagOrIdstringRequired

The tag (x-cortex-tag) or unique, auto-generated identifier for the entity.

Responses
200
Successfully archived team
application/json
404
Team not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
put
PUT /api/v1/teams/{tagOrId}/archive HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "catalogEntityTag": "text",
  "id": "text",
  "isArchived": true,
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "teamTag": "text",
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}

Unarchive team

put
Authorizations
Path parameters
tagOrIdstringRequired

The tag (x-cortex-tag) or unique, auto-generated identifier for the entity.

Responses
200
Successfully unarchived team
application/json
404
Team not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
put
PUT /api/v1/teams/{tagOrId}/unarchive HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "catalogEntityTag": "text",
  "id": "text",
  "isArchived": true,
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "teamTag": "text",
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}

Delete team

delete
Authorizations
Query parameters
teamTagstringRequired
Responses
204
Successfully deleted team
application/json
Responseobject
404
Team not found
application/json
405
Team delete is not allowed
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
delete
DELETE /api/v1/teams HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{}

Delete team by tag or ID

delete
Authorizations
Path parameters
tagOrIdstringRequired

The tag (x-cortex-tag) or unique, auto-generated identifier for the entity.

Responses
204
Successfully deleted team
application/json
Responseobject
404
Team not found
application/json
405
Team delete is not allowed
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
delete
DELETE /api/v1/teams/{tagOrId} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{}
  • Required permissions
  • Operations
  • GETRetrieve list of teams or team details
  • GETRetrieve team details
  • POSTCreate a team
  • PUT[Cortex managed teams] Update members in team
  • PUT[Cortex managed teams] Update members in team
  • PUTUpdate team metadata
  • PUTUpdate team metadata
  • PUTArchive team
  • PUTUnarchive team
  • DELETEDelete team
  • DELETEDelete team by tag or ID

Create a team

post

Team memberships can be backed by an IdP group (from Okta, Azure AD, Google Groups, etc), or can be managed directly through Cortex. Each has a separate request shape, so make sure to select the correct example.

Authorizations
Body
teamTagstringRequired
typestringRequired

Use "IDP" for IdentityProviderBackedTeam and "CORTEX" for ManagedTeam

Responses
200
Successfully created a team
application/json
400
Bad Request
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
post
POST /api/v1/teams HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 468

{
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "teamTag": "text",
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}
{
  "catalogEntityTag": "text",
  "id": "text",
  "isArchived": true,
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "teamTag": "text",
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}

[Cortex managed teams] Update members in team

put

For teams whose members are not backed by an IdP, use this API to update the team members. Note that it will replace the members in the team with the members defined in this request.

Authorizations
Path parameters
tagOrIdstringRequired

The tag (x-cortex-tag) or unique, auto-generated identifier for the entity.

Body
typestringRequired
Responses
200
Successfully updated team members
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Team not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
put
PUT /api/v1/teams/{tagOrId}/members HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "members": [
    {
      "description": "text",
      "email": "text",
      "name": "text",
      "notificationsEnabled": true,
      "roleTags": [
        "text"
      ]
    }
  ],
  "type": "text"
}
{
  "catalogEntityTag": "text",
  "id": "text",
  "isArchived": true,
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "teamTag": "text",
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}

[Cortex managed teams] Update members in team

put

For teams whose members are not backed by an IdP, use this API to update the team members. Note that it will replace the members in the team with the members defined in this request. Warning: This API should only be used if your team identifier contains non-alphanumeric characters. Otherwise, use the standard API under Teams.

Authorizations
Query parameters
teamTagstringRequired
Body
typestringRequired
Responses
200
Successfully updated team members
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Team not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
put
PUT /api/v1/teams/members HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "members": [
    {
      "description": "text",
      "email": "text",
      "name": "text",
      "notificationsEnabled": true,
      "roleTags": [
        "text"
      ]
    }
  ],
  "type": "text"
}
{
  "catalogEntityTag": "text",
  "id": "text",
  "isArchived": true,
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "teamTag": "text",
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}

Update team metadata

put

Warning: This API should only be used if your team identifier contains non-alphanumeric characters. Otherwise, use the standard API under Teams.

Authorizations
Query parameters
teamTagstringRequired
Body
typestringRequired

Use "IDP" for IdentityProviderBackedTeam and "CORTEX" for ManagedTeam

Responses
200
Successfully updated team
application/json
400
Bad Request
application/json
404
Team not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
put
PUT /api/v1/teams HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 451

{
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}
{
  "catalogEntityTag": "text",
  "id": "text",
  "isArchived": true,
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "teamTag": "text",
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}

Update team metadata

put
Authorizations
Path parameters
tagOrIdstringRequired

The tag (x-cortex-tag) or unique, auto-generated identifier for the entity.

Body
typestringRequired

Use "IDP" for IdentityProviderBackedTeam and "CORTEX" for ManagedTeam

Responses
200
Successfully updated team
application/json
400
Bad Request
application/json
404
Team not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
put
PUT /api/v1/teams/{tagOrId} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 451

{
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}
{
  "catalogEntityTag": "text",
  "id": "text",
  "isArchived": true,
  "links": [
    {
      "description": "text",
      "name": "text",
      "type": "text",
      "url": "text"
    }
  ],
  "metadata": {
    "description": "text",
    "name": "text",
    "summary": "text"
  },
  "slackChannels": [
    {
      "description": "text",
      "name": "text",
      "notificationsEnabled": true
    }
  ],
  "teamTag": "text",
  "type": "text",
  "cortexTeam": {
    "members": [
      {
        "description": "text",
        "email": "text",
        "name": "text",
        "notificationsEnabled": true,
        "role": {
          "source": "text",
          "tag": "text",
          "type": "text"
        },
        "roles": [
          {
            "source": "text",
            "tag": "text",
            "type": "text"
          }
        ]
      }
    ]
  }
}