@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AppVeyor REST API
@base https://ci.appveyor.com/api
@version 1.0.0
@auth ApiKey Authorization in header
@endpoints 53
@hint download_for_search
@toc users(7), user(1), collaborators(4), roles(5), account(1), projects(20), builds(3), buildjobs(3), environments(6), deployments(3)

@group users
@endpoint GET /users
@returns(200)

@endpoint PUT /users
@required {body: any}
@returns(204)

@endpoint GET /users/{userId}
@returns(200)

@endpoint DELETE /users/{userId}
@returns(204)

@endpoint GET /users/invitations
@returns(200)

@endpoint POST /users/invitations
@required {body: map}
@returns(204)

@endpoint DELETE /users/invitations/{userInvitationId}
@returns(204)

@endgroup

@group user
@endpoint PUT /user/join-account
@required {body: map}
@returns(200)

@endgroup

@group collaborators
@endpoint GET /collaborators
@returns(200)

@endpoint PUT /collaborators
@required {body: map}
@returns(204)

@endpoint GET /collaborators/{userId}
@returns(200)

@endpoint DELETE /collaborators/{userId}
@returns(204)

@endgroup

@group roles
@endpoint GET /roles
@returns(200)

@endpoint POST /roles
@required {body: map}
@returns(200)

@endpoint PUT /roles
@required {body: any}
@returns(200)

@endpoint GET /roles/{roleId}
@returns(200)

@endpoint DELETE /roles/{roleId}
@returns(204)

@endgroup

@group account
@endpoint POST /account/encrypt
@required {body: map}
@returns(200)

@endgroup

@group projects
@endpoint GET /projects
@returns(200)

@endpoint POST /projects
@required {body: map}
@returns(200)

@endpoint PUT /projects
@required {body: map}
@returns(204)

@endpoint GET /projects/{accountName}/{projectSlug}
@returns(200)

@endpoint DELETE /projects/{accountName}/{projectSlug}
@returns(204)

@endpoint GET /projects/{accountName}/{projectSlug}/branch/{buildBranch}
@returns(200)

@endpoint GET /projects/{accountName}/{projectSlug}/build/{buildVersion}
@returns(200)

@endpoint GET /projects/{accountName}/{projectSlug}/history
@required {recordsNumber: any}
@optional {startBuildId: any, branch: any}
@returns(200)

@endpoint GET /projects/{accountName}/{projectSlug}/artifacts/{artifactFileName}
@returns(200)

@endpoint GET /projects/{accountName}/{projectSlug}/deployments
@returns(200)

@endpoint GET /projects/{accountName}/{projectSlug}/settings
@returns(200)

@endpoint GET /projects/{accountName}/{projectSlug}/settings/yaml
@returns(200)

@endpoint PUT /projects/{accountName}/{projectSlug}/settings/yaml
@required {body: str(binary)}
@returns(204)

@endpoint PUT /projects/{accountName}/{projectSlug}/settings/build-number
@required {body: map}
@returns(204)

@endpoint GET /projects/{accountName}/{projectSlug}/settings/environment-variables
@returns(200)

@endpoint PUT /projects/{accountName}/{projectSlug}/settings/environment-variables
@required {body: [map]}
@returns(204)

@endpoint DELETE /projects/{accountName}/{projectSlug}/buildcache
@returns(204)

@endpoint GET /projects/status/{statusBadgeId}
@optional {svg: any, retina: any, passingText: any, failingText: any, pendingText: any}
@returns(200)

@endpoint GET /projects/status/{statusBadgeId}/branch/{buildBranch}
@optional {svg: any, retina: any, passingText: any, failingText: any, pendingText: any}
@returns(200)

@endpoint GET /projects/status/{badgeRepoProvider}/{repoAccountName}/{repoSlug}
@optional {branch: any, svg: any, retina: any, passingText: any, failingText: any, pendingText: any}
@returns(200)

@endgroup

@group builds
@endpoint POST /builds
@required {body: map}
@returns(200)

@endpoint PUT /builds
@required {body: map}
@returns(200)

@endpoint DELETE /builds/{accountName}/{projectSlug}/{buildVersion}
@returns(204)

@endgroup

@group buildjobs
@endpoint GET /buildjobs/{jobId}/artifacts
@returns(200)

@endpoint GET /buildjobs/{jobId}/artifacts/{artifactFileName}
@returns(200)

@endpoint GET /buildjobs/{jobId}/log
@returns(200)

@endgroup

@group environments
@endpoint GET /environments
@returns(200)

@endpoint POST /environments
@required {body: map}
@returns(200)

@endpoint PUT /environments
@required {body: any}
@returns(200)

@endpoint GET /environments/{deploymentEnvironmentId}/settings
@returns(200)

@endpoint GET /environments/{deploymentEnvironmentId}/deployments
@returns(200)

@endpoint DELETE /environments/{deploymentEnvironmentId}
@returns(204)

@endgroup

@group deployments
@endpoint GET /deployments/{deploymentId}
@returns(200)

@endpoint POST /deployments
@required {body: map}
@returns(200)

@endpoint PUT /deployments/stop
@required {body: map}
@returns(204)

@endgroup

@end
