Projects
Retrieve project metadata, either by slug or for the project tied to the current token.
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.
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.
Slug of the account to list projects for.
Number of items per page (max 100)
Page number
List of projects
Invalid parameters
Unauthorized
Forbidden
Server error
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
}
}
}
]
}Retrieve the project associated with the project token used to authenticate the request.
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.
Project
Project
Glob matching the branches whose builds are approved automatically.
Glob matching the branches whose deployments are treated as production.
Whether the project is private. Resolved from the linked repository unless overridden.
When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).
Whether Argos comments on pull requests.
Whether builds can authenticate with a GitHub Actions OIDC token instead of a project token.
Whether builds from forked pull requests can be uploaded without a token.
Whether deployments are served for this project.
Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).
Access level given to team members that are not explicit contributors on the project. null means they get no access.
Unauthorized
Server error
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 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.
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.
Name of the project to create. Must be unique within the account (case-insensitive) and cannot be a reserved name.
^[a-zA-Z0-9_\-.]+$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.
Project created successfully — returns the project
Project
Glob matching the branches whose builds are approved automatically.
Glob matching the branches whose deployments are treated as production.
Whether the project is private. Resolved from the linked repository unless overridden.
When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).
Whether Argos comments on pull requests.
Whether builds can authenticate with a GitHub Actions OIDC token instead of a project token.
Whether builds from forked pull requests can be uploaded without a token.
Whether deployments are served for this project.
Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).
Access level given to team members that are not explicit contributors on the project. null means they get no access.
Invalid parameters
Unauthorized
Forbidden
Server error
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
}
}
}Retrieve a project by its owner (account slug) and project name.
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.
Project
Project
Glob matching the branches whose builds are approved automatically.
Glob matching the branches whose deployments are treated as production.
Whether the project is private. Resolved from the linked repository unless overridden.
When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).
Whether Argos comments on pull requests.
Whether builds can authenticate with a GitHub Actions OIDC token instead of a project token.
Whether builds from forked pull requests can be uploaded without a token.
Whether deployments are served for this project.
Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).
Access level given to team members that are not explicit contributors on the project. null means they get no access.
Unauthorized
Forbidden
Not found
Server error
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's settings. Only the fields present in the request are changed. Requires administrator access to the project.
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.
New name for the project. Must be unique within the owning account (case-insensitive).
Branch used as the baseline when no better one applies. null falls back to the repository's default branch.
Glob matching the branches whose builds are approved automatically. null falls back to the default base branch.
Glob matching the branches whose deployments count as production. null falls back to the repository's default branch.
Force the project's privacy. null inherits it from the linked repository.
When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).
Access given to team members that are not contributors on this project. null gives them none.
Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).
The updated project
Project
Glob matching the branches whose builds are approved automatically.
Glob matching the branches whose deployments are treated as production.
Whether the project is private. Resolved from the linked repository unless overridden.
When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).
Whether Argos comments on pull requests.
Whether builds can authenticate with a GitHub Actions OIDC token instead of a project token.
Whether builds from forked pull requests can be uploaded without a token.
Whether deployments are served for this project.
Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).
Access level given to team members that are not explicit contributors on the project. null means they get no access.
Invalid parameters
Unauthorized
Forbidden
Not found
Server error
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 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.
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.
Number of items per page (max 100)
Page number
List of contributors
Invalid parameters
Unauthorized
Forbidden
Not found
Server error
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 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.
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.
Identifier of the user — the user.id returned by listAccountMembers or listProjectContributors.
Access level given to team members that are not explicit contributors on the project. null means they get no access.
The granted access
A contributor explicitly granted access to a project. Team owners and members reach every project without appearing here.
Identifier of the grant, not of the user.
Access level given to team members that are not explicit contributors on the project. null means they get no access.
Invalid parameters
Unauthorized
Forbidden
Not found
Server error
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 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.
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.
Identifier of the user — the user.id returned by listAccountMembers or listProjectContributors.
Access revoked
No content
Invalid parameters
Unauthorized
Forbidden
Not found
Server error
DELETE /v2/projects/{owner}/{project}/contributors/{userId} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
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.
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.
Slug of the account that will own the project.
Name to give the project on the target account. Defaults to its current name, which must be free there.
The transferred project
Project
Glob matching the branches whose builds are approved automatically.
Glob matching the branches whose deployments are treated as production.
Whether the project is private. Resolved from the linked repository unless overridden.
When to post the summary check on a pull request: always, never, or auto (only once the project has a baseline).
Whether Argos comments on pull requests.
Whether builds can authenticate with a GitHub Actions OIDC token instead of a project token.
Whether builds from forked pull requests can be uploaded without a token.
Whether deployments are served for this project.
Who can reach the project's deployments: anyone (public), anyone with the domain (domain-private), or team members only (private, teams only).
Access level given to team members that are not explicit contributors on the project. null means they get no access.
Invalid parameters
Unauthorized
Forbidden
Not found
Server error
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?