# AppVeyor REST API API

> AppVeyor REST API API on Apizie: 53 endpoints (Encrypt a value for use in StoredValue., Get build artifacts, Download build artifact, Download build log, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/dev-tools:appveyor/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `dev-tools:appveyor`
- Category: Dev Tools
- Status: byok
- Source: https://www.appveyor.com/about/
- Page: https://zieapi.vercel.app/api/dev-tools/appveyor
- OpenAPI: https://zieapi.vercel.app/api/dev-tools/appveyor/openapi.json

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,…

## Endpoints

### Encrypt a value for use in StoredValue.
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/encrypt-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get build artifacts
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-build-artifacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| jobId | string | yes | Build ID (`jobId` property of `BuildJob`) |

### Download build artifact
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-build-artifact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| jobId | string | yes | Build ID (`jobId` property of `BuildJob`) |
| artifactFileName | string | yes | File name (or path) of a build artifact file. Corresponds to the `fileName` property of `ArtifactModel`. URL-encoding of slashes in… |

### Download build log
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-build-log` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| jobId | string | yes | Build ID (`jobId` property of `BuildJob`) |

### Start build of branch most recent commit
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/start-build` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Re-run build
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/re-run-build` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Cancel build
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/cancel-build` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |
| buildVersion | string | yes | Build Version (`version` property of `Build`) |

### Get collaborators
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-collaborators` (byok)

### Update collaborator
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/update-collaborator` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get collaborator
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-collaborator` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| userId | integer | yes | User ID |

### Delete collaborator
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/delete-collaborator` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| userId | integer | yes | User ID |

### Start deployment
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/start-deployment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Cancel deployment
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/cancel-deployment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get deployment
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-deployment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | integer | yes | Deployment ID (`deploymentId` property of `Deployment`) |

### Get environments
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-environments` (byok)

### Add environment
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/add-environment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Update environment
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/update-environment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Delete environment
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/delete-environment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentEnvironmentId | integer | yes | Deployment Environment ID (`deploymentEnvironmentId` property of `DeploymentEnvironment`) |

### Get environment deployments
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-environment-deployments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentEnvironmentId | integer | yes | Deployment Environment ID (`deploymentEnvironmentId` property of `DeploymentEnvironment`) |

### Get environment settings
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-environment-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentEnvironmentId | integer | yes | Deployment Environment ID (`deploymentEnvironmentId` property of `DeploymentEnvironment`) |

### Get projects
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-projects` (byok)

### Add project
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/add-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Update project
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/update-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get status badge image for a project with a public repository
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-public-project-status-badge` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| badgeRepoProvider | string | yes | Repository provider supported for badges |
| repoAccountName | string | yes | Account name with repository provider |
| repoSlug | string | yes | Slug (URL component) of repository. |
| branch | string | no | Repository Branch |
| svg | boolean | no | Return an SVG image instead of PNG? Exclusive with `retina`. |
| retina | boolean | no | Return a larger image suitable for retina displays? Exclusive with `svg`. |
| passingText | string | no | Text to show in badge when build is passing. |
| failingText | string | no | Text to show in badge when build is failing. |
| pendingText | string | no | Text to show in badge when build is pending. |

### Get project status badge image
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-status-badge` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| statusBadgeId | string | yes | ID of the status badge (`statusBadgeId` from `ProjectWithConfiguration`). |
| svg | boolean | no | Return an SVG image instead of PNG? Exclusive with `retina`. |
| retina | boolean | no | Return a larger image suitable for retina displays? Exclusive with `svg`. |
| passingText | string | no | Text to show in badge when build is passing. |
| failingText | string | no | Text to show in badge when build is failing. |
| pendingText | string | no | Text to show in badge when build is pending. |

### Get project branch status badge image
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-branch-status-badge` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| statusBadgeId | string | yes | ID of the status badge (`statusBadgeId` from `ProjectWithConfiguration`). |
| buildBranch | string | yes | Build Branch |
| svg | boolean | no | Return an SVG image instead of PNG? Exclusive with `retina`. |
| retina | boolean | no | Return a larger image suitable for retina displays? Exclusive with `svg`. |
| passingText | string | no | Text to show in badge when build is passing. |
| failingText | string | no | Text to show in badge when build is failing. |
| pendingText | string | no | Text to show in badge when build is pending. |

### Get project last build
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-last-build` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |

### Delete project
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/delete-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |

### Get last successful build artifact
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-artifact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |
| artifactFileName | string | yes | File name (or path) of a build artifact file. Corresponds to the `fileName` property of `ArtifactModel`. URL-encoding of slashes in… |
| branch | string | no | Repository Branch |
| tag | string | no | A git (or other VCS) tag |
| job | string | no | Name of the build job. |
| all | boolean | no | Include not only `successful`, but also jobs with `failed`, and `cancelled` status. |
| pr | boolean | no | Include PR builds in the search results? `true` - take artifact from PR builds only; `false` - do not look for artifact in PR builds;… |

### Get project last branch build
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-last-build-branch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |
| buildBranch | string | yes | Build Branch |

### Get project build by version
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-build-by-version` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |
| buildVersion | string | yes | Build Version (`version` property of `Build`) |

### Delete project build cache
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/delete-project-build-cache` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |

### Get project deployments
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-deployments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |
| recordsNumber | integer | yes | Number of results to include in the response. getProjectDeployments is documented to have a maximum of 20. It currently returns 500… |

### Get project history
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |
| recordsNumber | integer | yes | Number of results to include in the response. getProjectDeployments is documented to have a maximum of 20. It currently returns 500… |
| startBuildId | integer | no | Maximum `buildId` to include in the results (exclusive). |
| branch | string | no | Repository Branch |

### Get project settings
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |

### Update project build number
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/update-project-build-number` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |
| body | object | yes | JSON request body |

### Get project environment variables
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-environment-variables` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |

### Update project environment variables
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/update-project-environment-variables` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |
| body | object | yes | JSON request body |

### Get project settings in YAML
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-project-settings-yaml` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |

### Update project settings in YAML
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/update-project-settings-yaml` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountName | string | yes | AppVeyor account name on which to operate. Accounts for which a user has access are listed on the [Security page of the user… |
| projectSlug | string | yes | Project Slug |

### Get roles
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-roles` (byok)

### Add role
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/add-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Update role
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/update-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get role
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| roleId | integer | yes | Role ID |

### Delete role
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/delete-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| roleId | integer | yes | Role ID |

### Join Account
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/join-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get users
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-users` (byok)

### Update user
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/update-user` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get user invitations
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-user-invitations` (byok)

### Invite user
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/invite-user` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Cancel user invitation
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/cancel-user-invitation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| userInvitationId | string | yes | User Invitation ID |

### Get user
`GET https://zieapi.vercel.app/v1/dev-tools:appveyor/get-user` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| userId | integer | yes | User ID |

### Delete user
`POST https://zieapi.vercel.app/v1/dev-tools:appveyor/delete-user` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| userId | integer | yes | User ID |

## Example
```
curl "https://zieapi.vercel.app/v1/dev-tools:appveyor/encrypt-value" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the AppVeyor REST API API?
Create a free Apizie key, then send POST https://zieapi.vercel.app/v1/dev-tools:appveyor/encrypt-value with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the AppVeyor REST API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. AppVeyor REST API itself also needs your own key from appveyor.com.

### Can AI agents use the AppVeyor REST API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key dev-tools:appveyor.

### What is the status of the AppVeyor REST API API?
Needs your own provider key (bring your own key)
