For the complete documentation index, see llms.txt. This page is also available as Markdown.

Members

Manage who is on a team and what they can reach: list members, change their role, remove them, and send or cancel invitations.

Update a team's defaults

patch

Change the role given to users that join a team through its invite link or a verified email domain. Requires administrator access to the team.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team.

Body
defaultUserLevelstring · enumRequired

Role given to users that join a team through its invite link or a verified email domain.

Possible values:
Responses
200

The updated account

application/json

An account with its plan and current-period usage, to watch consumption against the plan.

idstringRequired
slugstring · min: 1Required
namestring · nullableRequired
typestring · enumRequiredPossible values:
periodStartDatestring · date-time · nullableRequired

Start of the current billing period.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
periodEndDatestring · date-time · nullableRequired

End of the current billing period.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
currentPeriodScreenshotsinteger · min: -9007199254740991 · max: 9007199254740991Required

Screenshots used since the start of the current period.

includedScreenshotsinteger · min: -9007199254740991 · max: 9007199254740991Required

Screenshots included in the plan for a period.

consumptionRationumberRequired

Used screenshots over included screenshots. Above 1 the account is over its plan and pays for the extra.

additionalScreenshotsCostnumberRequired

Cost accrued so far this period for screenshots beyond the plan, in the subscription's currency.

defaultUserLevelstring · enum · nullableRequired

Role given to users joining through the invite link or a verified domain. null on a personal account.

Possible values:
patch/accounts/{accountSlug}
PATCH /v2/accounts/{accountSlug} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 29

{
  "defaultUserLevel": "member"
}
{
  "id": "text",
  "slug": "text",
  "name": null,
  "type": "user",
  "plan": {
    "name": "text",
    "includedScreenshots": 1
  },
  "periodStartDate": "2026-01-01T00:00:00.000Z",
  "periodEndDate": "2026-01-01T00:00:00.000Z",
  "currentPeriodScreenshots": 1,
  "includedScreenshots": 1,
  "consumptionRatio": 1,
  "additionalScreenshotsCost": 1,
  "defaultUserLevel": "member"
}

List a team's members

get

List the members of a team, with their role. Requires administrator access to the team.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team to list members for.

Query parameters
perPagestringOptional

Number of items per page (max 100)

pagestringOptional

Page number

searchstringOptional

Match members on their name, slug, or email address.

levelsstringOptional

Restrict to the given roles, comma-separated (e.g. owner,member).

orderBystring · enumOptional

Ordering of the results. Defaults to date, most recently added first.

Possible values:
Responses
200

List of team members

application/json
get/accounts/{accountSlug}/members
GET /v2/accounts/{accountSlug}/members HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "pageInfo": {
    "total": 1,
    "page": 1,
    "perPage": 1
  },
  "results": [
    {
      "id": "text",
      "user": {
        "id": "text",
        "slug": "text",
        "name": null
      },
      "level": "owner"
    }
  ]
}

Remove a member

delete

Remove a user from a team. Requires administrator access to the team. The last member of a team cannot be removed; removing the second-to-last one promotes the remaining member to owner.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team.

userIdstringRequired

Identifier of the user to act on — the user.id returned by listAccountMembers, which is the user's account id.

Responses
204

Member removed

No content

delete/accounts/{accountSlug}/members/{userId}
DELETE /v2/accounts/{accountSlug}/members/{userId} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Change a member's role

patch

Change the role of an existing team member. Requires administrator access to the team.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team.

userIdstringRequired

Identifier of the user to act on — the user.id returned by listAccountMembers, which is the user's account id.

Body
levelstring · enumRequired

Role of a user on a team. Owners administer the team, members see every project, contributors only the projects they are added to.

Possible values:
Responses
200

The updated membership

application/json

A member of a team.

idstringRequired

Identifier of the membership, not of the user.

levelstring · enumRequired

Role of a user on a team. Owners administer the team, members see every project, contributors only the projects they are added to.

Possible values:
patch/accounts/{accountSlug}/members/{userId}
PATCH /v2/accounts/{accountSlug}/members/{userId} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "level": "owner"
}
{
  "id": "text",
  "user": {
    "id": "text",
    "slug": "text",
    "name": null
  },
  "level": "owner"
}

List pending invites

get

List the pending invitations to join a team, most recent first. Requires administrator access to the team.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team.

Query parameters
perPagestringOptional

Number of items per page (max 100)

pagestringOptional

Page number

searchstringOptional

Match invites on their email address.

Responses
200

List of pending invites

application/json
get/accounts/{accountSlug}/invites
GET /v2/accounts/{accountSlug}/invites HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "pageInfo": {
    "total": 1,
    "page": 1,
    "perPage": 1
  },
  "results": [
    {
      "id": "text",
      "email": "name@gmail.com",
      "level": "owner",
      "createdAt": "2026-01-01T00:00:00.000Z",
      "expiresAt": "2026-01-01T00:00:00.000Z",
      "expired": true
    }
  ]
}

Invite members

post

Invite people to a team by email. Each invited address receives an email with a link to join. Re-inviting an address that already has a pending invite refreshes it. Requires administrator access to the team.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team.

Body
Responses
201

The invites that were created

application/json

A pending invitation to join a team.

idstringRequired
emailstring · emailRequiredPattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
levelstring · enumRequired

Role of a user on a team. Owners administer the team, members see every project, contributors only the projects they are added to.

Possible values:
createdAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
expiresAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
expiredbooleanRequired

Whether the invite is past its expiry date. Expired invites stay listed until they are cancelled or re-sent.

post/accounts/{accountSlug}/invites
POST /v2/accounts/{accountSlug}/invites HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "members": [
    {
      "email": "name@gmail.com",
      "level": "owner"
    }
  ]
}
[
  {
    "id": "text",
    "email": "name@gmail.com",
    "level": "owner",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "expiresAt": "2026-01-01T00:00:00.000Z",
    "expired": true
  }
]

Cancel an invite

delete

Cancel a pending invitation, invalidating its link. Requires administrator access to the team.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team.

inviteIdstringRequired

Identifier of the invite, as returned when listing them.

Responses
204

Invite cancelled

No content

delete/accounts/{accountSlug}/invites/{inviteId}
DELETE /v2/accounts/{accountSlug}/invites/{inviteId} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List a team's email domains

get

List the email domains a team is open to. Requires administrator access to the team.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team.

Responses
200

The team's email domains

application/json

An email domain the team is open to: anyone signing up with a verified address on it joins automatically, at the team's default role.

domainstringRequired
createdAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
get/accounts/{accountSlug}/domains
GET /v2/accounts/{accountSlug}/domains HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "domain": "text",
    "createdAt": "2026-01-01T00:00:00.000Z"
  }
]

Open a team to an email domain

post

Add an email domain to a team, so anyone signing up with a verified address on it joins automatically. Requires administrator access to the team, and you must yourself hold a verified address on the domain — a team can only be opened to a domain its administrator demonstrably belongs to. Public email providers are refused.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team.

Body
domainstring · min: 1Required

The email domain, e.g. acme.com.

Responses
201

The domain the team is now open to

application/json

An email domain the team is open to: anyone signing up with a verified address on it joins automatically, at the team's default role.

domainstringRequired
createdAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
post/accounts/{accountSlug}/domains
POST /v2/accounts/{accountSlug}/domains HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "domain": "text"
}
{
  "domain": "text",
  "createdAt": "2026-01-01T00:00:00.000Z"
}

Close a team to an email domain

delete

Remove an email domain from a team. New sign-ups on it no longer join automatically; members who already joined stay. Requires administrator access to the team.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team.

domainstringRequired

The email domain to remove.

Responses
204

Domain removed

No content

delete/accounts/{accountSlug}/domains/{domain}
DELETE /v2/accounts/{accountSlug}/domains/{domain} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Reset the invite link

post

Rotate the team's shared invite link, invalidating the previous one. Anyone holding the old link can no longer use it to join. Requires administrator access to the team.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
accountSlugstring · min: 1Required

Slug of the team.

Responses
200

The new invite link

application/json
inviteLinkstring · uriRequired

The team's new shared invite link. Anyone with it joins at the team's default role.

post/accounts/{accountSlug}/invite-link/reset
POST /v2/accounts/{accountSlug}/invite-link/reset HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "inviteLink": "https://example.com"
}

Last updated

Was this helpful?