Skip to content

AppVeyor REST API API

by appveyor.com

API keyHTTPSDevelopment
Open documentation ↗

Overview

AppVeyor is a hosted continuous integration service which runs on Microsoft Windows. The AppVeyor REST API provides a RESTful way to interact with the AppVeyor service. This includes managing projects, builds, deployments, and the teams that build them. Additional help and discussion of the AppVeyor REST API is available at http://help.appveyor.com/discussions This Swagger definition is an **unofficial** description of the AppVeyor REST API maintained at https://github.com/kevinoid/appveyor-swagger Please report any issues or suggestions for this Swagger definition at https://github.com/kevinoid/appveyor-swagger/issues/new #### API Conventions Fields which are missing from update operations (`PUT` requests) are typically reset to their default values. So although most fields are not technically required, they should usually be specified in practice.

AppVeyor REST API is a development API from appveyor.com. Requests are authenticated with an API key. It is served over HTTPS. Its OpenAPI description documents 53 endpoints.

At a glance

Authentication
API key
HTTPS
Yes
CORS
Unknown
Category
Development
Base URL
https://ci.appveyor.com/api
Version
1.0.0
Endpoints
53
Spec updated
2023-03-06

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://ci.appveyor.com/api/collaborators" \
  -H "Accept: application/json" \
  -H "X-API-Key: YOUR_API_KEY"
JavaScript
const response = await fetch("https://ci.appveyor.com/api/collaborators", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "X-API-Key": "YOUR_API_KEY",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://ci.appveyor.com/api/collaborators",
    headers={
    "Accept": "application/json",
    "X-API-Key": "YOUR_API_KEY",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
POST/account/encryptEncrypt a value for use in StoredValue.
GET/buildjobs/{jobId}/artifactsGet build artifacts
GET/buildjobs/{jobId}/artifacts/{artifactFileName}Download build artifact
GET/buildjobs/{jobId}/logDownload build log
POST/buildsStart build of branch most recent commit
PUT/buildsRe-run build
DELETE/builds/{accountName}/{projectSlug}/{buildVersion}Cancel build
GET/collaboratorsGet collaborators
PUT/collaboratorsUpdate collaborator
GET/collaborators/{userId}Get collaborator
DELETE/collaborators/{userId}Delete collaborator
POST/deploymentsStart deployment
PUT/deployments/stopCancel deployment
GET/deployments/{deploymentId}Get deployment
GET/environmentsGet environments
POST/environmentsAdd environment
PUT/environmentsUpdate environment
DELETE/environments/{deploymentEnvironmentId}Delete environment
GET/environments/{deploymentEnvironmentId}/deploymentsGet environment deployments
GET/environments/{deploymentEnvironmentId}/settingsGet environment settings
GET/projectsGet projects
POST/projectsAdd project
PUT/projectsUpdate project
GET/projects/status/{badgeRepoProvider}/{repoAccountName}/{repoSlug}Get status badge image for a project with a public repository
GET/projects/status/{statusBadgeId}Get project status badge image
GET/projects/status/{statusBadgeId}/branch/{buildBranch}Get project branch status badge image
GET/projects/{accountName}/{projectSlug}Get project last build
DELETE/projects/{accountName}/{projectSlug}Delete project
GET/projects/{accountName}/{projectSlug}/artifacts/{artifactFileName}Get last successful build artifact
GET/projects/{accountName}/{projectSlug}/branch/{buildBranch}Get project last branch build
GET/projects/{accountName}/{projectSlug}/build/{buildVersion}Get project build by version
DELETE/projects/{accountName}/{projectSlug}/buildcacheDelete project build cache
GET/projects/{accountName}/{projectSlug}/deploymentsGet project deployments
GET/projects/{accountName}/{projectSlug}/historyGet project history
GET/projects/{accountName}/{projectSlug}/settingsGet project settings
PUT/projects/{accountName}/{projectSlug}/settings/build-numberUpdate project build number
GET/projects/{accountName}/{projectSlug}/settings/environment-variablesGet project environment variables
PUT/projects/{accountName}/{projectSlug}/settings/environment-variablesUpdate project environment variables
GET/projects/{accountName}/{projectSlug}/settings/yamlGet project settings in YAML
PUT/projects/{accountName}/{projectSlug}/settings/yamlUpdate project settings in YAML
GET/rolesGet roles
POST/rolesAdd role
PUT/rolesUpdate role
GET/roles/{roleId}Get role
DELETE/roles/{roleId}Delete role
PUT/user/join-accountJoin Account
GET/usersGet users
PUT/usersUpdate user
GET/users/invitationsGet user invitations
POST/users/invitationsInvite user
DELETE/users/invitations/{userInvitationId}Cancel user invitation
GET/users/{userId}Get user
DELETE/users/{userId}Delete user

Questions

Does the AppVeyor REST API API need an API key?

Yes. The AppVeyor REST API API uses API key authentication; the documentation explains how to get credentials.

Does the AppVeyor REST API API support HTTPS?

Yes, the AppVeyor REST API API is served over HTTPS.

How many endpoints does the AppVeyor REST API API have?

Its OpenAPI description lists 53 endpoints in version 1.0.0. All of them are shown on this page.

What are alternatives to the AppVeyor REST API API?

Other Development APIs include Cloudflare, Azure DevOps, IPify, App Store Connect API, StackExchange.

Compare alternatives →

Listed from APIs.guru (CC0).