Better Stack Team Members API
Manage team members and invitations
Manage team members and invitations
openapi: 3.0.3
info:
title: Better Stack Escalation Policies Team Members API
description: Better Stack is a comprehensive infrastructure monitoring and observability platform combining uptime monitoring, log management, incident management, and status pages. The API covers both the Uptime (on-call, monitors, heartbeats, status pages) and Telemetry (logs, metrics, sources, dashboards, alerts) product areas.
version: v2
contact:
name: Better Stack Support
url: https://betterstack.com/docs/
x-generated-from: documentation
servers:
- url: https://uptime.betterstack.com/api/v2
description: Better Stack Uptime API v2
- url: https://uptime.betterstack.com/api/v3
description: Better Stack Uptime API v3 (incidents, policies)
- url: https://betterstack.com/api/v2
description: Better Stack Telemetry API v2
security:
- bearerAuth: []
tags:
- name: Team Members
description: Manage team members and invitations
paths:
/team-members:
get:
operationId: listTeamMembers
summary: Better Stack List Team Members
description: Returns a list of team members and pending invitations.
tags:
- Team Members
parameters:
- name: team_name
in: query
description: Filter by team name when using a global API token.
required: false
schema:
type: string
example: my-team
- name: email
in: query
description: Filter by member email address.
required: false
schema:
type: string
format: email
example: jsmith@example.com
responses:
'200':
description: List of team members.
content:
application/json:
schema:
$ref: '#/components/schemas/TeamMemberListResponse'
examples:
ListTeamMembers200Example:
summary: Default listTeamMembers 200 response
x-microcks-default: true
value:
data:
- id: '200001'
type: team_member
attributes:
email: jsmith@example.com
name: Jane Smith
role: admin
created_at: '2025-01-10T08:00:00Z'
updated_at: '2026-03-01T12:00:00Z'
'401':
description: Authentication failed.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Global token used without specifying team_name.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
operationId: inviteTeamMember
summary: Better Stack Invite Team Member
description: Invites a new member to the team.
tags:
- Team Members
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TeamMemberInviteRequest'
examples:
InviteTeamMemberRequestExample:
summary: Default inviteTeamMember request
x-microcks-default: true
value:
email: newmember@example.com
role: member
responses:
'201':
description: Team member invited successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/TeamMemberSingleResponse'
examples:
InviteTeamMember201Example:
summary: Default inviteTeamMember 201 response
x-microcks-default: true
value:
data:
id: '200002'
type: team_member
attributes:
email: newmember@example.com
role: member
created_at: '2026-04-19T10:00:00Z'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/team-members/{id}:
get:
operationId: getTeamMember
summary: Better Stack Get Team Member
description: Returns a single team member by ID.
tags:
- Team Members
parameters:
- name: id
in: path
required: true
description: The unique identifier of the team member.
schema:
type: string
example: '200001'
responses:
'200':
description: Team member details.
content:
application/json:
schema:
$ref: '#/components/schemas/TeamMemberSingleResponse'
examples:
GetTeamMember200Example:
summary: Default getTeamMember 200 response
x-microcks-default: true
value:
data:
id: '200001'
type: team_member
attributes:
email: jsmith@example.com
name: Jane Smith
role: admin
created_at: '2025-01-10T08:00:00Z'
updated_at: '2026-03-01T12:00:00Z'
'404':
description: Team member not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: deleteTeamMember
summary: Better Stack Delete Team Member
description: Removes a team member by ID.
tags:
- Team Members
parameters:
- name: id
in: path
required: true
description: The unique identifier of the team member.
schema:
type: string
example: '200001'
responses:
'204':
description: Team member removed successfully.
'404':
description: Team member not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
TeamMemberInviteRequest:
title: Team Member Invite Request
description: Request body for inviting a team member.
type: object
required:
- email
properties:
email:
type: string
format: email
description: Email address of the person to invite.
example: newmember@example.com
role:
type: string
description: Role to assign.
enum:
- admin
- member
- viewer
example: member
TeamMemberSingleResponse:
title: Team Member Single Response
description: Single team member response.
type: object
properties:
data:
$ref: '#/components/schemas/TeamMemberObject'
TeamMemberAttributes:
title: Team Member Attributes
description: Attributes of a team member.
type: object
properties:
email:
type: string
format: email
description: Team member's email address.
example: jsmith@example.com
name:
type: string
nullable: true
description: Team member's display name.
example: Jane Smith
role:
type: string
description: Team member role.
enum:
- owner
- admin
- member
- viewer
example: admin
created_at:
type: string
format: date-time
description: When the member joined or was invited.
example: '2025-01-10T08:00:00Z'
updated_at:
type: string
format: date-time
description: When the record was last updated.
example: '2026-03-01T12:00:00Z'
TeamMemberObject:
title: Team Member Object
description: A single team member resource.
type: object
properties:
id:
type: string
description: Unique identifier.
example: '200001'
type:
type: string
description: Resource type.
example: team_member
attributes:
$ref: '#/components/schemas/TeamMemberAttributes'
ErrorResponse:
title: Error Response
description: Standard error response.
type: object
properties:
errors:
type: array
description: List of error details.
items:
type: object
properties:
title:
type: string
description: Human-readable error title.
example: Unauthorized
detail:
type: string
description: Detailed error message.
example: Invalid API token
TeamMemberListResponse:
title: Team Member List Response
description: List of team members.
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TeamMemberObject'
pagination:
$ref: '#/components/schemas/Pagination'
Pagination:
title: Pagination
description: Pagination links for list responses following JSON:API specification.
type: object
properties:
first:
type: string
format: uri
description: URL of the first page.
example: https://uptime.betterstack.com/api/v2/monitors?page=1
last:
type: string
format: uri
description: URL of the last page.
example: https://uptime.betterstack.com/api/v2/monitors?page=5
prev:
type: string
format: uri
nullable: true
description: URL of the previous page, or null.
example: null
next:
type: string
format: uri
nullable: true
description: URL of the next page, or null.
example: https://uptime.betterstack.com/api/v2/monitors?page=2
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Bearer token authentication. Use a global API token or a team-scoped Uptime API token obtained from Better Stack Settings → API tokens.