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

Projects

Retrieve project metadata, either by slug or for the project tied to the current token.

List an account's projects

get

List the projects of an account that are visible to the authenticated user, most recently active first. Results are paginated. The token must be scoped to the account.

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 account to list projects for.

Query parameters
perPagestringOptional

Number of items per page (max 100)

pagestringOptional

Page number

Responses
200

List of projects

application/json
get/accounts/{accountSlug}/projects
GET /v2/accounts/{accountSlug}/projects HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "pageInfo": {
    "total": 1,
    "page": 1,
    "perPage": 1
  },
  "results": [
    {
      "id": "text",
      "account": {
        "id": "text",
        "slug": "text"
      },
      "name": "text",
      "defaultBaseBranch": "text",
      "hasRemoteContentAccess": true,
      "autoApprovedBranchGlob": "text",
      "deploymentProductionBranchGlob": "text",
      "private": true,
      "summaryCheck": "always",
      "prCommentEnabled": true,
      "githubActionsOidcEnabled": true,
      "tokenlessAuthEnabled": true,
      "deploymentEnabled": true,
      "deploymentAuth": "public",
      "defaultUserLevel": "admin",
      "ignoreConfig": {
        "enabled": true,
        "autoIgnore": {
          "changes": 1
        }
      }
    }
  ]
}

Get the current project

get

Retrieve the project associated with the project token used to authenticate the request.

Authorizations
AuthorizationstringRequired

Authenticate as a project with a project token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <project-token>

You can find your project token in your Argos project settings. Project tokens are used by CI and the SDK to create builds and deployments.

Responses
200

Project

application/json

Project

idstringRequired
namestring · min: 1Required
defaultBaseBranchstringRequired
hasRemoteContentAccessbooleanRequired
autoApprovedBranchGlobstringRequired

Glob matching the branches whose builds are approved automatically.

deploymentProductionBranchGlobstringRequired

Glob matching the branches whose deployments are treated as production.

privatebooleanRequired

Whether the project is private. Resolved from the linked repository unless overridden.

summaryCheckstring · enumRequired

When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).

Possible values:
prCommentEnabledbooleanRequired

Whether Argos comments on pull requests.

githubActionsOidcEnabledbooleanRequired

Whether builds can authenticate with a GitHub Actions OIDC token instead of a project token.

tokenlessAuthEnabledbooleanRequired

Whether builds from forked pull requests can be uploaded without a token.

deploymentEnabledbooleanRequired

Whether deployments are served for this project.

deploymentAuthstring · enumRequired

Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).

Possible values:
defaultUserLevelstring · enum · nullableRequired

Access level given to team members that are not explicit contributors on the project. null means they get no access.

Possible values:
get/project
GET /v2/project HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "text",
  "account": {
    "id": "text",
    "slug": "text"
  },
  "name": "text",
  "defaultBaseBranch": "text",
  "hasRemoteContentAccess": true,
  "autoApprovedBranchGlob": "text",
  "deploymentProductionBranchGlob": "text",
  "private": true,
  "summaryCheck": "always",
  "prCommentEnabled": true,
  "githubActionsOidcEnabled": true,
  "tokenlessAuthEnabled": true,
  "deploymentEnabled": true,
  "deploymentAuth": "public",
  "defaultUserLevel": "admin",
  "ignoreConfig": {
    "enabled": true,
    "autoIgnore": {
      "changes": 1
    }
  }
}

Create a project

post

Create a new project in an account you administer. The authenticated personal access token must be scoped to the target account, and the acting user must be an administrator of it.

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.

Body
namestring · min: 1 · max: 100Required

Name of the project to create. Must be unique within the account (case-insensitive) and cannot be a reserved name.

Pattern: ^[a-zA-Z0-9_\-.]+$
accountSlugstring · min: 1Required

Slug of the account (personal or team) that will own the project. The personal access token must be scoped to this account and the acting user must be one of its administrators.

Responses
201

Project created successfully — returns the project

application/json

Project

idstringRequired
namestring · min: 1Required
defaultBaseBranchstringRequired
hasRemoteContentAccessbooleanRequired
autoApprovedBranchGlobstringRequired

Glob matching the branches whose builds are approved automatically.

deploymentProductionBranchGlobstringRequired

Glob matching the branches whose deployments are treated as production.

privatebooleanRequired

Whether the project is private. Resolved from the linked repository unless overridden.

summaryCheckstring · enumRequired

When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).

Possible values:
prCommentEnabledbooleanRequired

Whether Argos comments on pull requests.

githubActionsOidcEnabledbooleanRequired

Whether builds can authenticate with a GitHub Actions OIDC token instead of a project token.

tokenlessAuthEnabledbooleanRequired

Whether builds from forked pull requests can be uploaded without a token.

deploymentEnabledbooleanRequired

Whether deployments are served for this project.

deploymentAuthstring · enumRequired

Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).

Possible values:
defaultUserLevelstring · enum · nullableRequired

Access level given to team members that are not explicit contributors on the project. null means they get no access.

Possible values:
post/projects
POST /v2/projects HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 36

{
  "name": "text",
  "accountSlug": "text"
}
{
  "id": "text",
  "account": {
    "id": "text",
    "slug": "text"
  },
  "name": "text",
  "defaultBaseBranch": "text",
  "hasRemoteContentAccess": true,
  "autoApprovedBranchGlob": "text",
  "deploymentProductionBranchGlob": "text",
  "private": true,
  "summaryCheck": "always",
  "prCommentEnabled": true,
  "githubActionsOidcEnabled": true,
  "tokenlessAuthEnabled": true,
  "deploymentEnabled": true,
  "deploymentAuth": "public",
  "defaultUserLevel": "admin",
  "ignoreConfig": {
    "enabled": true,
    "autoIgnore": {
      "changes": 1
    }
  }
}

Get a project

get

Retrieve a project by its owner (account slug) and project name.

Authorizations
AuthorizationstringRequired

Authenticate as a project with a project token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <project-token>

You can find your project token in your Argos project settings. Project tokens are used by CI and the SDK to create builds and deployments.

Path parameters
ownerstring · min: 1Required
projectstring · min: 1Required
Responses
200

Project

application/json

Project

idstringRequired
namestring · min: 1Required
defaultBaseBranchstringRequired
hasRemoteContentAccessbooleanRequired
autoApprovedBranchGlobstringRequired

Glob matching the branches whose builds are approved automatically.

deploymentProductionBranchGlobstringRequired

Glob matching the branches whose deployments are treated as production.

privatebooleanRequired

Whether the project is private. Resolved from the linked repository unless overridden.

summaryCheckstring · enumRequired

When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).

Possible values:
prCommentEnabledbooleanRequired

Whether Argos comments on pull requests.

githubActionsOidcEnabledbooleanRequired

Whether builds can authenticate with a GitHub Actions OIDC token instead of a project token.

tokenlessAuthEnabledbooleanRequired

Whether builds from forked pull requests can be uploaded without a token.

deploymentEnabledbooleanRequired

Whether deployments are served for this project.

deploymentAuthstring · enumRequired

Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).

Possible values:
defaultUserLevelstring · enum · nullableRequired

Access level given to team members that are not explicit contributors on the project. null means they get no access.

Possible values:
get/projects/{owner}/{project}
GET /v2/projects/{owner}/{project} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "text",
  "account": {
    "id": "text",
    "slug": "text"
  },
  "name": "text",
  "defaultBaseBranch": "text",
  "hasRemoteContentAccess": true,
  "autoApprovedBranchGlob": "text",
  "deploymentProductionBranchGlob": "text",
  "private": true,
  "summaryCheck": "always",
  "prCommentEnabled": true,
  "githubActionsOidcEnabled": true,
  "tokenlessAuthEnabled": true,
  "deploymentEnabled": true,
  "deploymentAuth": "public",
  "defaultUserLevel": "admin",
  "ignoreConfig": {
    "enabled": true,
    "autoIgnore": {
      "changes": 1
    }
  }
}

Update a project

patch

Update a project's settings. Only the fields present in the request are changed. Requires administrator access to the project.

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
ownerstring · min: 1Required
projectstring · min: 1Required
Body
namestring · min: 1Optional

New name for the project. Must be unique within the owning account (case-insensitive).

defaultBaseBranchstring · nullableOptional

Branch used as the baseline when no better one applies. null falls back to the repository's default branch.

autoApprovedBranchGlobstring · nullableOptional

Glob matching the branches whose builds are approved automatically. null falls back to the default base branch.

deploymentProductionBranchGlobstring · nullableOptional

Glob matching the branches whose deployments count as production. null falls back to the repository's default branch.

privateboolean · nullableOptional

Force the project's privacy. null inherits it from the linked repository.

summaryCheckstring · enumOptional

When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).

Possible values:
defaultUserLevelstring · enum · nullableOptional

Access given to team members that are not contributors on this project. null gives them none.

Possible values:
deploymentEnabledbooleanOptional
deploymentAuthstring · enumOptional

Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).

Possible values:
githubActionsOidcEnabledbooleanOptional
tokenlessAuthEnabledbooleanOptional
Responses
200

The updated project

application/json

Project

idstringRequired
namestring · min: 1Required
defaultBaseBranchstringRequired
hasRemoteContentAccessbooleanRequired
autoApprovedBranchGlobstringRequired

Glob matching the branches whose builds are approved automatically.

deploymentProductionBranchGlobstringRequired

Glob matching the branches whose deployments are treated as production.

privatebooleanRequired

Whether the project is private. Resolved from the linked repository unless overridden.

summaryCheckstring · enumRequired

When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).

Possible values:
prCommentEnabledbooleanRequired

Whether Argos comments on pull requests.

githubActionsOidcEnabledbooleanRequired

Whether builds can authenticate with a GitHub Actions OIDC token instead of a project token.

tokenlessAuthEnabledbooleanRequired

Whether builds from forked pull requests can be uploaded without a token.

deploymentEnabledbooleanRequired

Whether deployments are served for this project.

deploymentAuthstring · enumRequired

Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).

Possible values:
defaultUserLevelstring · enum · nullableRequired

Access level given to team members that are not explicit contributors on the project. null means they get no access.

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

{
  "name": "text",
  "defaultBaseBranch": null,
  "autoApprovedBranchGlob": null,
  "deploymentProductionBranchGlob": null,
  "private": null,
  "summaryCheck": "always",
  "defaultUserLevel": "admin",
  "ignoreConfig": {
    "enabled": true,
    "autoIgnore": {
      "changes": 1
    }
  },
  "deploymentEnabled": true,
  "deploymentAuth": "public",
  "githubActionsOidcEnabled": true,
  "tokenlessAuthEnabled": true
}
{
  "id": "text",
  "account": {
    "id": "text",
    "slug": "text"
  },
  "name": "text",
  "defaultBaseBranch": "text",
  "hasRemoteContentAccess": true,
  "autoApprovedBranchGlob": "text",
  "deploymentProductionBranchGlob": "text",
  "private": true,
  "summaryCheck": "always",
  "prCommentEnabled": true,
  "githubActionsOidcEnabled": true,
  "tokenlessAuthEnabled": true,
  "deploymentEnabled": true,
  "deploymentAuth": "public",
  "defaultUserLevel": "admin",
  "ignoreConfig": {
    "enabled": true,
    "autoIgnore": {
      "changes": 1
    }
  }
}

List a project's contributors

get

List the users explicitly granted access to a project, with their level. Team owners and members are not listed — they reach every project through their team role. The authenticated user comes first when they are one of them.

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
ownerstring · min: 1Required
projectstring · min: 1Required
Query parameters
perPagestringOptional

Number of items per page (max 100)

pagestringOptional

Page number

Responses
200

List of contributors

application/json
get/projects/{owner}/{project}/contributors
GET /v2/projects/{owner}/{project}/contributors 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": "admin"
    }
  ]
}

Grant a contributor access to a project

put

Grant a user access to a project, or change the level they already hold. Requires administrator access to the project. Only meaningful for team contributors: owners and members already reach every project.

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
ownerstring · min: 1Required
projectstring · min: 1Required
userIdstringRequired

Identifier of the user — the user.id returned by listAccountMembers or listProjectContributors.

Body
levelstring · enumRequired

Access level given to team members that are not explicit contributors on the project. null means they get no access.

Possible values:
Responses
200

The granted access

application/json

A contributor explicitly granted access to a project. Team owners and members reach every project without appearing here.

idstringRequired

Identifier of the grant, not of the user.

levelstring · enumRequired

Access level given to team members that are not explicit contributors on the project. null means they get no access.

Possible values:
put/projects/{owner}/{project}/contributors/{userId}
PUT /v2/projects/{owner}/{project}/contributors/{userId} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 17

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

Revoke a contributor's access

delete

Revoke a user's access to a project. Requires administrator access to the project, except when removing yourself — a contributor can always walk away from a project.

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
ownerstring · min: 1Required
projectstring · min: 1Required
userIdstringRequired

Identifier of the user — the user.id returned by listAccountMembers or listProjectContributors.

Responses
204

Access revoked

No content

delete/projects/{owner}/{project}/contributors/{userId}
DELETE /v2/projects/{owner}/{project}/contributors/{userId} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Transfer a project

post

Move a project to another account, optionally renaming it. The token must be scoped to both accounts, and the acting user must administer the project as well as the account receiving it.

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
ownerstring · min: 1Required
projectstring · min: 1Required
Body
targetAccountSlugstring · min: 1Required

Slug of the account that will own the project.

namestring · min: 1Optional

Name to give the project on the target account. Defaults to its current name, which must be free there.

Responses
200

The transferred project

application/json

Project

idstringRequired
namestring · min: 1Required
defaultBaseBranchstringRequired
hasRemoteContentAccessbooleanRequired
autoApprovedBranchGlobstringRequired

Glob matching the branches whose builds are approved automatically.

deploymentProductionBranchGlobstringRequired

Glob matching the branches whose deployments are treated as production.

privatebooleanRequired

Whether the project is private. Resolved from the linked repository unless overridden.

summaryCheckstring · enumRequired

When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).

Possible values:
prCommentEnabledbooleanRequired

Whether Argos comments on pull requests.

githubActionsOidcEnabledbooleanRequired

Whether builds can authenticate with a GitHub Actions OIDC token instead of a project token.

tokenlessAuthEnabledbooleanRequired

Whether builds from forked pull requests can be uploaded without a token.

deploymentEnabledbooleanRequired

Whether deployments are served for this project.

deploymentAuthstring · enumRequired

Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).

Possible values:
defaultUserLevelstring · enum · nullableRequired

Access level given to team members that are not explicit contributors on the project. null means they get no access.

Possible values:
post/projects/{owner}/{project}/transfer
POST /v2/projects/{owner}/{project}/transfer HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 42

{
  "targetAccountSlug": "text",
  "name": "text"
}
{
  "id": "text",
  "account": {
    "id": "text",
    "slug": "text"
  },
  "name": "text",
  "defaultBaseBranch": "text",
  "hasRemoteContentAccess": true,
  "autoApprovedBranchGlob": "text",
  "deploymentProductionBranchGlob": "text",
  "private": true,
  "summaryCheck": "always",
  "prCommentEnabled": true,
  "githubActionsOidcEnabled": true,
  "tokenlessAuthEnabled": true,
  "deploymentEnabled": true,
  "deploymentAuth": "public",
  "defaultUserLevel": "admin",
  "ignoreConfig": {
    "enabled": true,
    "autoIgnore": {
      "changes": 1
    }
  }
}

Last updated

Was this helpful?