AppVeyor REST API icon

AppVeyor REST API

AppVeyor is a hosted continuous integration service which runs on Microsoft

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "ci.appveyor.com",
  "basePath": "/api",
  "info": {
    "contact": {
      "email": "team@appveyor.com",
      "name": "AppVeyor Team",
      "url": "https://www.appveyor.com/about/"
    },
    "description": "AppVeyor is a hosted continuous integration service which runs on Microsoft\nWindows.  The AppVeyor REST API provides a RESTful way to interact with the\nAppVeyor service.  This includes managing projects, builds, deployments,\nand the teams that build them.\n\nAdditional help and discussion of the AppVeyor REST API is available at\nhttp://help.appveyor.com/discussions\n\nThis Swagger definition is an **unofficial** description of the AppVeyor\nREST API maintained at https://github.com/kevinoid/appveyor-swagger\nPlease report any issues or suggestions for this Swagger definition at\nhttps://github.com/kevinoid/appveyor-swagger/issues/new\n\n#### API Conventions\n\nFields which are missing from update operations (`PUT` requests) are\ntypically reset to their default values.  So although most fields are not\ntechnically required, they should usually be specified in practice.\n",
    "license": {
      "name": "AppVeyor End User License Agreement (EULA)",
      "url": "https://www.appveyor.com/eula/"
    },
    "termsOfService": "https://www.appveyor.com/terms-of-service/",
    "title": "AppVeyor REST API",
    "version": "1.0.0",
    "x-apisguru-categories": [
      "developer_tools"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_www.appveyor.com_assets_img_appveyor-logo-256.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/kevinoid/appveyor-swagger/master/swagger.yaml",
        "version": "2.0"
      }
    ],
    "x-providerName": "appveyor.com",
    "x-unofficialSpec": true
  },
  "externalDocs": {
    "description": "AppVeyor REST API Documentation",
    "url": "https://www.appveyor.com/docs/api/"
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json",
    "application/xml"
  ],
  "securityDefinitions": {
    "apiToken": {
      "description": "API token can be acquired from https://ci.appveyor.com/api-keys\nThis value must be passed to the server in the `Authorization` header as `\"Bearer <token>\"`.  Since [bearer token authentication support is not explicitly supported in OpenAPI 2.0](https://github.com/OAI/OpenAPI-Specification/issues/583), client code will vary.  Clients created with [swagger-codegen](https://github.com/swagger-api/swagger-codegen) should set `apiKeyPrefix` to `\"Bearer\"` and set `apiKey` to the token.  Other clients may need to set `apiKey` to the string `\"Bearer <token>\"`.\nNote that this should be [fixed in OpenAPI 3.0](https://github.com/OAI/OpenAPI-Specification/pull/807)), whenever that becomes available and supported.\n#### User-Level API Keys\nTo use a user-level API key (prefixed with \"v2.\"), `basePath` must be changed to `/api/account/{accountName}` where `{accountName}` is the name of the account for which requests will be made.",
      "in": "header",
      "name": "Authorization",
      "type": "apiKey"
    }
  },
  "security": [
    {
      "apiToken": []
    }
  ],
  "parameters": {
    "accountName": {
      "description": "AppVeyor account name on which to operate.\nAccounts for which a user has access are listed on the [Security page of\nthe user profile](https://ci.appveyor.com/security) (when logged in).\nThe user account is also the `accountName` property of `UserAccount`.",
      "in": "path",
      "minLength": 1,
      "name": "accountName",
      "required": true,
      "type": "string"
    },
    "all": {
      "default": false,
      "description": "Include not only `successful`, but also jobs with `failed`, and\n`cancelled` status.",
      "in": "query",
      "name": "all",
      "type": "boolean"
    },
    "artifactFileName": {
      "description": "File name (or path) of a build artifact file.\nCorresponds to the `fileName` property of `ArtifactModel`.\nURL-encoding of slashes in parameter values is optional.",
      "in": "path",
      "minLength": 1,
      "name": "artifactFileName",
      "required": true,
      "type": "string"
    },
    "badgeRepoProvider": {
      "description": "Repository provider supported for badges",
      "enum": [
        "bitBucket",
        "gitHub"
      ],
      "in": "path",
      "name": "badgeRepoProvider",
      "required": true,
      "type": "string"
    },
    "branch": {
      "description": "Repository Branch",
      "in": "query",
      "minLength": 1,
      "name": "branch",
      "type": "string"
    },
    "buildBranch": {
      "description": "Build Branch",
      "in": "path",
      "name": "buildBranch",
      "required": true,
      "type": "string"
    },
    "buildVersion": {
      "description": "Build Version (`version` property of `Build`)",
      "in": "path",
      "name": "buildVersion",
      "required": true,
      "type": "string"
    },
    "deploymentEnvironmentId": {
      "description": "Deployment Environment ID (`deploymentEnvironmentId` property of `DeploymentEnvironment`)\n",
      "in": "path",
      "minimum": 0,
      "name": "deploymentEnvironmentId",
      "required": true,
      "type": "integer"
    },
    "deploymentId": {
      "description": "Deployment ID (`deploymentId` property of `Deployment`)",
      "in": "path",
      "minimum": 0,
      "name": "deploymentId",
      "required": true,
      "type": "integer"
    },
    "failingText": {
      "description": "Text to show in badge when build is failing.",
      "in": "query",
      "minLength": 1,
      "name": "failingText",
      "type": "string"
    },
    "job": {
      "description": "Name of the build job.",
      "in": "query",
      "name": "job",
      "type": "string"
    },
    "jobId": {
      "description": "Build ID (`jobId` property of `BuildJob`)",
      "in": "path",
      "name": "jobId",
      "required": true,
      "type": "string"
    },
    "passingText": {
      "description": "Text to show in badge when build is passing.",
      "in": "query",
      "minLength": 1,
      "name": "passingText",
      "type": "string"
    },
    "pendingText": {
      "description": "Text to show in badge when build is pending.",
      "in": "query",
      "minLength": 1,
      "name": "pendingText",
      "type": "string"
    },
    "pr": {
      "description": "Include PR builds in the search results?\n`true` - take artifact from PR builds only;\n`false` - do not look for artifact in PR builds;\ndefault/unspecified - look for artifact in both PR an non-PR builds.\n",
      "in": "query",
      "name": "pr",
      "type": "boolean"
    },
    "projectSlug": {
      "description": "Project Slug",
      "in": "path",
      "name": "projectSlug",
      "required": true,
      "type": "string"
    },
    "recordsNumber": {
      "description": "Number of results to include in the response. getProjectDeployments is documented to have a maximum of 20. It currently returns 500 Internal Server Error for recordsNumber <= 5. In the past it has returned 500 Internal Server Error for many different values which did not match the value used by the ci.appveyor.com web interface at the time.  As of 2018-09-08, the value used by the web interface is 10.",
      "in": "query",
      "minimum": 0,
      "name": "recordsNumber",
      "required": true,
      "type": "integer"
    },
    "repoAccountName": {
      "description": "Account name with repository provider",
      "in": "path",
      "minLength": 1,
      "name": "repoAccountName",
      "required": true,
      "type": "string"
    },
    "repoSlug": {
      "description": "Slug (URL component) of repository.",
      "in": "path",
      "minLength": 1,
      "name": "repoSlug",
      "required": true,
      "type": "string"
    },
    "retina": {
      "default": false,
      "description": "Return a larger image suitable for retina displays?  Exclusive with `svg`.",
      "in": "query",
      "name": "retina",
      "type": "boolean"
    },
    "roleId": {
      "description": "Role ID",
      "in": "path",
      "minimum": 0,
      "name": "roleId",
      "required": true,
      "type": "integer"
    },
    "startBuildId": {
      "description": "Maximum `buildId` to include in the results (exclusive).",
      "in": "query",
      "minimum": 0,
      "name": "startBuildId",
      "type": "integer"
    },
    "statusBadgeId": {
      "description": "ID of the status badge (`statusBadgeId` from `ProjectWithConfiguration`).",
      "in": "path",
      "minLength": 1,
      "name": "statusBadgeId",
      "required": true,
      "type": "string"
    },
    "svg": {
      "default": false,
      "description": "Return an SVG image instead of PNG?  Exclusive with `retina`.",
      "in": "query",
      "name": "svg",
      "type": "boolean"
    },
    "tag": {
      "description": "A git (or other VCS) tag",
      "in": "query",
      "minLength": 1,
      "name": "tag",
      "type": "string"
    },
    "userId": {
      "description": "User ID",
      "in": "path",
      "minimum": 0,
      "name": "userId",
      "required": true,
      "type": "integer"
    },
    "userInvitationId": {
      "description": "User Invitation ID",
      "in": "path",
      "minLength": 1,
      "name": "userInvitationId",
      "required": true,
      "type": "string"
    }
  },
  "responses": {
    "Error": {
      "description": "Error",
      "schema": {
        "$ref": "#/definitions/Error"
      }
    }
  },
  "tags": [
    {
      "externalDocs": {
        "url": "https://www.appveyor.com/docs/api/team/"
      },
      "name": "Collaborator"
    },
    {
      "externalDocs": {
        "url": "https://www.appveyor.com/docs/api/team/"
      },
      "name": "Role"
    },
    {
      "externalDocs": {
        "url": "https://www.appveyor.com/docs/api/team/"
      },
      "name": "User"
    },
    {
      "externalDocs": {
        "url": "https://www.appveyor.com/docs/api/projects-builds/"
      },
      "name": "Build"
    },
    {
      "externalDocs": {
        "url": "https://www.appveyor.com/docs/api/projects-builds/"
      },
      "name": "Project"
    },
    {
      "externalDocs": {
        "url": "https://www.appveyor.com/docs/api/environments-deployments/"
      },
      "name": "Deployment"
    },
    {
      "externalDocs": {
        "url": "https://www.appveyor.com/docs/api/environments-deployments/"
      },
      "name": "Environment"
    }
  ],
  "paths": {
    "/account/encrypt": {
      "post": {
        "operationId": "encryptValue",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EncryptRequest"
            }
          }
        ],
        "produces": [
          "text/plain"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "text/plain": "wsnoY4v1v1Uofj0xf8E6FA=="
            },
            "schema": {
              "type": "string"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Encrypt a value for use in StoredValue.",
        "tags": [
          "Project"
        ]
      }
    },
    "/buildjobs/{jobId}/artifacts": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/samples/download-artifacts-advanced-ps/"
        },
        "operationId": "getBuildArtifacts",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": [
                {
                  "fileName": "README.md",
                  "name": "README.md",
                  "size": 3600,
                  "type": "File"
                },
                {
                  "fileName": "out/example.Release.x64.zip",
                  "name": "out\\example.zip",
                  "size": 15600,
                  "type": "Zip"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/ArtifactModel"
              },
              "type": "array"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Get build artifacts",
        "tags": [
          "Build"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/jobId"
        }
      ]
    },
    "/buildjobs/{jobId}/artifacts/{artifactFileName}": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/samples/download-artifacts-advanced-ps/"
        },
        "operationId": "getBuildArtifact",
        "produces": [
          "application/octet-stream"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "file"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Download build artifact",
        "tags": [
          "Build"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/jobId"
        },
        {
          "$ref": "#/parameters/artifactFileName"
        }
      ]
    },
    "/buildjobs/{jobId}/log": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#download-build-log"
        },
        "operationId": "getBuildLog",
        "produces": [
          "application/octet-stream"
        ],
        "responses": {
          "200": {
            "description": "Success.\nNote:  Response content is plain text sent with Content-Type\napplication/octet-stream.",
            "schema": {
              "type": "file"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Download build log",
        "tags": [
          "Build"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/jobId"
        }
      ]
    },
    "/builds": {
      "post": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#start-build-of-branch-most-recent-commit"
        },
        "operationId": "startBuild",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BuildStartRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "authorName": "Feodor Fitsner",
                "authorUsername": "FeodorFitsner",
                "branch": "master",
                "buildId": 136709,
                "buildNumber": 7,
                "commitId": "c2892a70d60c96c1b65a7c665ab806b7731fea8a",
                "committed": "2014-08-15T22:05:54+00:00",
                "committerName": "Feodor Fitsner",
                "committerUsername": "FeodorFitsner",
                "created": "2014-08-16T00:40:38.1703914+00:00",
                "jobs": [],
                "message": "replaced with command [skip ci]",
                "messages": [],
                "status": "queued",
                "version": "1.0.7"
              }
            },
            "schema": {
              "$ref": "#/definitions/Build"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Start build of branch most recent commit",
        "tags": [
          "Build"
        ]
      },
      "put": {
        "description": "If `reRunIncomplete` is `true` and all jobs in the referenced build completed successfully, a 500 Internal Server Error is returned with the message \"No failed or cancelled jobs in build with ID {buildId}\".",
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#re-run-build"
        },
        "operationId": "reRunBuild",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ReRunBuildRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "authorName": "Feodor Fitsner",
                "authorUsername": "FeodorFitsner",
                "branch": "master",
                "buildId": 136709,
                "buildNumber": 7,
                "commitId": "c2892a70d60c96c1b65a7c665ab806b7731fea8a",
                "committed": "2014-08-15T22:05:54+00:00",
                "committerName": "Feodor Fitsner",
                "committerUsername": "FeodorFitsner",
                "created": "2014-08-16T00:40:38.1703914+00:00",
                "jobs": [],
                "message": "replaced with command [skip ci]",
                "messages": [],
                "status": "queued",
                "version": "1.0.7"
              }
            },
            "schema": {
              "$ref": "#/definitions/Build"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Re-run build",
        "tags": [
          "Build"
        ]
      }
    },
    "/builds/{accountName}/{projectSlug}/{buildVersion}": {
      "delete": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#cancel-build"
        },
        "operationId": "cancelBuild",
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Cancel build",
        "tags": [
          "Build"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        },
        {
          "$ref": "#/parameters/buildVersion"
        }
      ]
    },
    "/collaborators": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#get-collaborators"
        },
        "operationId": "getCollaborators",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": [
                {
                  "accountId": 2,
                  "accountName": "FeodorFitsner",
                  "created": "2014-02-03T20:29:26.6807307+00:00",
                  "email": "john@smith.com",
                  "failedBuildNotification": "all",
                  "fullName": "John Smith",
                  "isCollaborator": true,
                  "isOwner": false,
                  "notifyWhenBuildStatusChangedOnly": true,
                  "roleId": 3040,
                  "roleName": "My Role",
                  "successfulBuildNotification": "all",
                  "updated": "2014-03-07T04:26:09.1051534+00:00",
                  "userId": 2018
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/UserAccount"
              },
              "type": "array"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get collaborators",
        "tags": [
          "Collaborator"
        ]
      },
      "put": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#update-collaborator"
        },
        "operationId": "updateCollaborator",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CollaboratorUpdate"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Update collaborator",
        "tags": [
          "Collaborator"
        ]
      }
    },
    "/collaborators/{userId}": {
      "delete": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#delete-collaborator"
        },
        "operationId": "deleteCollaborator",
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Delete collaborator",
        "tags": [
          "Collaborator"
        ]
      },
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#get-collaborator"
        },
        "operationId": "getCollaborator",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "roles": [
                  {
                    "created": "2013-09-26T19:23:39.3615105+00:00",
                    "isSystem": true,
                    "name": "Administrator",
                    "roleId": 4
                  },
                  {
                    "created": "2013-09-26T19:23:39.3645117+00:00",
                    "isSystem": true,
                    "name": "User",
                    "roleId": 5
                  },
                  {
                    "created": "2014-03-18T20:12:08.4749886+00:00",
                    "isSystem": false,
                    "name": "My Role",
                    "roleId": 3040,
                    "updated": "2014-03-18T20:16:06.8803375+00:00"
                  }
                ],
                "user": {
                  "accountId": 2,
                  "accountName": "FeodorFitsner",
                  "created": "2014-02-03T20:29:26.6807307+00:00",
                  "email": "john@smith.com",
                  "failedBuildNotification": "all",
                  "fullName": "John Smith",
                  "isCollaborator": true,
                  "isOwner": false,
                  "notifyWhenBuildStatusChangedOnly": true,
                  "roleId": 3040,
                  "roleName": "My Role",
                  "successfulBuildNotification": "all",
                  "updated": "2014-03-07T04:26:09.1051534+00:00",
                  "userId": 2018
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/UserAccountRolesResults"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get collaborator",
        "tags": [
          "Collaborator"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/userId"
        }
      ]
    },
    "/deployments": {
      "post": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/environments-deployments/#start-deployment"
        },
        "operationId": "startDeployment",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DeploymentStartRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "build": {
                  "authorName": "Feodor Fitsner",
                  "authorUsername": "FeodorFitsner",
                  "branch": "master",
                  "buildId": 132746,
                  "buildNumber": 38,
                  "commitId": "c397ba5d17dd17b994375405f560e4922207da1e",
                  "committed": "2014-08-12T22:56:00+00:00",
                  "committerName": "Feodor Fitsner",
                  "committerUsername": "FeodorFitsner",
                  "created": "2014-08-12T22:56:09.9208493+00:00",
                  "finished": "2014-08-12T22:58:05.7595508+00:00",
                  "jobs": [],
                  "message": "Removed Start-Website",
                  "messages": [],
                  "started": "2014-08-12T22:56:25.8575967+00:00",
                  "status": "success",
                  "updated": "2014-08-12T22:58:05.7595508+00:00",
                  "version": "1.0.38"
                },
                "created": "2014-08-12T23:06:07.9009315+00:00",
                "deploymentId": 19475,
                "environment": {
                  "created": "2014-04-01T17:56:41.30982+00:00",
                  "deploymentEnvironmentId": 27,
                  "name": "agent test",
                  "provider": "Agent",
                  "updated": "2014-08-12T22:35:51.9723883+00:00"
                },
                "finished": "2014-08-12T23:06:25.0502019+00:00",
                "jobs": [
                  {
                    "created": "2014-08-12T23:06:07.9009315+00:00",
                    "finished": "2014-08-12T23:06:24.3361102+00:00",
                    "jobId": "jnpbcc77s4w278e4",
                    "messagesCount": 0,
                    "name": "Deployment",
                    "started": "2014-08-12T23:06:10.8776088+00:00",
                    "status": "success",
                    "updated": "2014-08-12T23:06:24.9390847+00:00"
                  }
                ],
                "started": "2014-08-12T23:06:10.8776088+00:00",
                "status": "success",
                "updated": "2014-08-12T23:06:25.0502019+00:00"
              }
            },
            "schema": {
              "$ref": "#/definitions/Deployment"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Start deployment",
        "tags": [
          "Deployment"
        ]
      }
    },
    "/deployments/stop": {
      "put": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/environments-deployments/#cancel-deployment"
        },
        "operationId": "cancelDeployment",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DeploymentCancellation"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Cancel deployment",
        "tags": [
          "Deployment"
        ]
      }
    },
    "/deployments/{deploymentId}": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/environments-deployments/#get-deployment"
        },
        "operationId": "getDeployment",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "deployment": {
                  "build": {
                    "authorName": "Feodor Fitsner",
                    "authorUsername": "FeodorFitsner",
                    "branch": "master",
                    "buildId": 132746,
                    "buildNumber": 38,
                    "commitId": "c397ba5d17dd17b994375405f560e4922207da1e",
                    "committed": "2014-08-12T22:56:00+00:00",
                    "committerName": "Feodor Fitsner",
                    "committerUsername": "FeodorFitsner",
                    "created": "2014-08-12T22:56:09.9208493+00:00",
                    "finished": "2014-08-12T22:58:05.7595508+00:00",
                    "jobs": [],
                    "message": "Removed Start-Website",
                    "messages": [],
                    "started": "2014-08-12T22:56:25.8575967+00:00",
                    "status": "success",
                    "updated": "2014-08-12T22:58:05.7595508+00:00",
                    "version": "1.0.38"
                  },
                  "created": "2014-08-12T23:06:07.9009315+00:00",
                  "deploymentId": 19475,
                  "environment": {
                    "created": "2014-04-01T17:56:41.30982+00:00",
                    "deploymentEnvironmentId": 27,
                    "name": "agent test",
                    "provider": "Agent",
                    "updated": "2014-08-12T22:35:51.9723883+00:00"
                  },
                  "finished": "2014-08-12T23:06:25.0502019+00:00",
                  "jobs": [
                    {
                      "created": "2014-08-12T23:06:07.9009315+00:00",
                      "finished": "2014-08-12T23:06:24.3361102+00:00",
                      "jobId": "jnpbcc77s4w278e4",
                      "messagesCount": 0,
                      "name": "Deployment",
                      "started": "2014-08-12T23:06:10.8776088+00:00",
                      "status": "success",
                      "updated": "2014-08-12T23:06:24.9390847+00:00"
                    }
                  ],
                  "started": "2014-08-12T23:06:10.8776088+00:00",
                  "status": "success",
                  "updated": "2014-08-12T23:06:25.0502019+00:00"
                },
                "project": {
                  "accountId": 2,
                  "accountName": "appvyr",
                  "builds": [],
                  "created": "2014-05-08T18:38:57.9163293+00:00",
                  "isPrivate": false,
                  "name": "simple-web",
                  "projectId": 22321,
                  "repositoryName": "AppVeyor/simple-web",
                  "repositoryScm": "git",
                  "repositoryType": "gitHub",
                  "securityDescriptor": {},
                  "skipBranchesWithoutAppveyorYml": false,
                  "slug": "simple-web",
                  "updated": "2014-07-14T10:16:26.9351867+00:00"
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectDeployment"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get deployment",
        "tags": [
          "Deployment"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/deploymentId"
        }
      ]
    },
    "/environments": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/environments-deployments/#get-environments"
        },
        "operationId": "getEnvironments",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": [
                {
                  "deploymentEnvironmentId": 14,
                  "name": "azure-blob-1",
                  "provider": "AzureBlob"
                },
                {
                  "deploymentEnvironmentId": 12,
                  "name": "azure-deploy-test",
                  "provider": "AzureCS"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/DeploymentEnvironmentLookupModel"
              },
              "type": "array"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get environments",
        "tags": [
          "Environment"
        ]
      },
      "post": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/environments-deployments/#add-environment"
        },
        "operationId": "addEnvironment",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DeploymentEnvironmentAddition"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "created": "2014-08-15T23:57:16.1585268+00:00",
                "deploymentEnvironmentId": 3018,
                "environmentAccessKey": "gi3ttevuk7a123",
                "name": "production",
                "provider": "FTP",
                "settings": {
                  "environmentVariables": [
                    {
                      "name": "my-var",
                      "value": {
                        "isEncrypted": false,
                        "value": "123"
                      }
                    }
                  ],
                  "providerSettings": [
                    {
                      "name": "server",
                      "value": {
                        "isEncrypted": false,
                        "value": "ftp.myserver.com"
                      }
                    },
                    {
                      "name": "username",
                      "value": {
                        "isEncrypted": false,
                        "value": "ftp-user"
                      }
                    },
                    {
                      "name": "password",
                      "value": {
                        "isEncrypted": true,
                        "value": "password"
                      }
                    }
                  ]
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/DeploymentEnvironmentWithSettings"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Add environment",
        "tags": [
          "Environment"
        ]
      },
      "put": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/environments-deployments/#update-environment"
        },
        "operationId": "updateEnvironment",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DeploymentEnvironmentWithSettings"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "created": "2014-08-15T23:57:16.1585268+00:00",
                "deploymentEnvironmentId": 3018,
                "environmentAccessKey": "gi3ttevuk7123",
                "name": "production",
                "provider": "FTP",
                "settings": {
                  "environmentVariables": [
                    {
                      "name": "my-var",
                      "value": {
                        "isEncrypted": false,
                        "value": "123"
                      }
                    }
                  ],
                  "providerSettings": [
                    {
                      "name": "server",
                      "value": {
                        "isEncrypted": false,
                        "value": "ftp.myserver.com"
                      }
                    },
                    {
                      "name": "username",
                      "value": {
                        "isEncrypted": false,
                        "value": "ftp-user"
                      }
                    },
                    {
                      "name": "password",
                      "value": {
                        "isEncrypted": true,
                        "value": "password"
                      }
                    }
                  ]
                },
                "updated": "2014-08-16T00:00:37.6079863+00:00"
              }
            },
            "schema": {
              "$ref": "#/definitions/DeploymentEnvironmentWithSettings"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Update environment",
        "tags": [
          "Environment"
        ]
      }
    },
    "/environments/{deploymentEnvironmentId}": {
      "delete": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/environments-deployments/#delete-environment"
        },
        "operationId": "deleteEnvironment",
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Delete environment",
        "tags": [
          "Environment"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/deploymentEnvironmentId"
        }
      ]
    },
    "/environments/{deploymentEnvironmentId}/deployments": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/environments-deployments/#get-environment-deployments"
        },
        "operationId": "getEnvironmentDeployments",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "deployments": [
                  {
                    "deployment": {
                      "build": {
                        "authorName": "Feodor Fitsner",
                        "authorUsername": "FeodorFitsner",
                        "branch": "master",
                        "buildId": 18665,
                        "buildNumber": 25,
                        "commitId": "ed40bd27f732d162b2185d75921b1cd57191f83b",
                        "committed": "2014-05-08T19:11:38+00:00",
                        "committerName": "Feodor Fitsner",
                        "committerUsername": "FeodorFitsner",
                        "created": "2014-05-22T20:09:53.759355+00:00",
                        "finished": "2014-05-22T20:12:33.7806881+00:00",
                        "jobs": [],
                        "message": "Merge pull request #3 from FeodorFitsner/master",
                        "messageExtended": "Changes to AccountController",
                        "messages": [],
                        "started": "2014-05-22T20:12:11.4475134+00:00",
                        "status": "success",
                        "updated": "2014-05-22T20:12:33.7806881+00:00",
                        "version": "1.0.25"
                      },
                      "created": "2014-06-02T18:20:07.2833871+00:00",
                      "deploymentId": 4120,
                      "environment": {
                        "created": "2014-01-23T18:13:52.2268502+00:00",
                        "deploymentEnvironmentId": 14,
                        "name": "azure-blob-1",
                        "provider": "AzureBlob",
                        "updated": "2014-06-02T18:13:32.5106126+00:00"
                      },
                      "finished": "2014-06-02T18:20:25.11916+00:00",
                      "jobs": [
                        {
                          "created": "2014-07-27T09:59:57.0171035+00:00",
                          "finished": "2014-07-27T10:00:11.5995296+00:00",
                          "jobId": "1696fh3a2w5ng99y",
                          "messagesCount": 0,
                          "name": "Deployment",
                          "started": "2014-07-27T09:59:58.3955159+00:00",
                          "status": "success",
                          "updated": "2014-07-27T10:00:16.163082+00:00"
                        }
                      ],
                      "started": "2014-06-02T18:20:07.9871288+00:00",
                      "status": "success",
                      "updated": "2014-06-02T18:20:25.11916+00:00"
                    },
                    "project": {
                      "accountId": 2,
                      "accountName": "FeodorFitsner",
                      "builds": [],
                      "created": "2014-05-06T16:38:14.7788393+00:00",
                      "isPrivate": false,
                      "name": "simple-web",
                      "projectId": 15072,
                      "repositoryName": "AppVeyor/simple-web",
                      "repositoryScm": "git",
                      "repositoryType": "gitHub",
                      "securityDescriptor": {},
                      "skipBranchesWithoutAppveyorYml": false,
                      "slug": "simple-web",
                      "updated": "2014-06-02T21:37:30.9378043+00:00"
                    }
                  }
                ],
                "environment": {
                  "created": "2014-01-23T18:13:52.2268502+00:00",
                  "deploymentEnvironmentId": 14,
                  "name": "azure-blob-1",
                  "provider": "AzureBlob",
                  "updated": "2014-06-02T18:13:32.5106126+00:00"
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/DeploymentEnvironmentDeploymentsResults"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get environment deployments",
        "tags": [
          "Environment"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/deploymentEnvironmentId"
        }
      ]
    },
    "/environments/{deploymentEnvironmentId}/settings": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/environments-deployments/#get-environment-settings"
        },
        "operationId": "getEnvironmentSettings",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "environment": {
                  "created": "2014-01-23T18:13:52.2268502+00:00",
                  "deploymentEnvironmentId": 14,
                  "environmentAccessKey": "aaabbb12345",
                  "name": "azure-blob-1",
                  "provider": "AzureBlob",
                  "settings": {
                    "environmentVariables": [],
                    "providerSettings": [
                      {
                        "name": "storage_account_name",
                        "value": {
                          "isEncrypted": false,
                          "value": "myaccount"
                        }
                      },
                      {
                        "name": "storage_access_key",
                        "value": {
                          "isEncrypted": true,
                          "value": "4sc1c7/Qp5buQcZ8N486Ks46mLFbXJVqcJjyv98w=="
                        }
                      },
                      {
                        "name": "container",
                        "value": {
                          "isEncrypted": false,
                          "value": "test"
                        }
                      },
                      {
                        "name": "folder",
                        "value": {
                          "isEncrypted": false,
                          "value": "$(appveyor_build_version)"
                        }
                      },
                      {
                        "name": "artifact",
                        "value": {
                          "isEncrypted": false
                        }
                      }
                    ]
                  },
                  "updated": "2014-06-02T18:13:32.5106126+00:00"
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/DeploymentEnvironmentSettingsResults"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get environment settings",
        "tags": [
          "Environment"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/deploymentEnvironmentId"
        }
      ]
    },
    "/projects": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#get-projects"
        },
        "operationId": "getProjects",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": [
                {
                  "accountId": 2,
                  "accountName": "FeodorFitsner",
                  "builds": [
                    {
                      "authorName": "Feodor Fitsner",
                      "authorUsername": "FeodorFitsner",
                      "branch": "master",
                      "buildId": 23864,
                      "buildNumber": 3,
                      "commitId": "c2892a70d60c96c1b65a7c665ab806b7731fea8a",
                      "committed": "2014-08-15T22:05:54+00:00",
                      "committerName": "Feodor Fitsner",
                      "committerUsername": "FeodorFitsner",
                      "created": "2014-08-15T22:33:15.9833328+00:00",
                      "finished": "2014-08-15T22:37:00.6171479+00:00",
                      "jobs": [],
                      "message": "replaced with command [skip ci]",
                      "messages": [],
                      "started": "2014-08-15T22:36:38.1757886+00:00",
                      "status": "success",
                      "updated": "2014-08-15T22:37:00.6171479+00:00",
                      "version": "1.0.3"
                    }
                  ],
                  "created": "2014-08-15T22:04:19.2868375+00:00",
                  "isPrivate": false,
                  "name": "appveyor-artifact-test",
                  "nuGetFeed": {
                    "created": "2014-08-15T22:04:21.3111546+00:00",
                    "id": "appveyor-artifact-test-j8kk0o",
                    "name": "Project appveyor-artifact-test",
                    "publishingEnabled": false
                  },
                  "projectId": 19096,
                  "repositoryBranch": "master",
                  "repositoryName": "FeodorFitsner/appveyor-artifact-test",
                  "repositoryScm": "git",
                  "repositoryType": "gitHub",
                  "skipBranchesWithoutAppveyorYml": false,
                  "slug": "appveyor-artifact-test"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Project"
              },
              "type": "array"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get projects",
        "tags": [
          "Project"
        ]
      },
      "post": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#add-project"
        },
        "operationId": "addProject",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProjectAddition"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "accountId": 2,
                "accountName": "appvyr",
                "builds": [],
                "created": "2014-08-16T00:52:15.6604826+00:00",
                "isPrivate": false,
                "name": "demo-app",
                "projectId": 43682,
                "repositoryName": "FeodorFitsner/demo-app",
                "repositoryScm": "git",
                "repositoryType": "gitHub",
                "skipBranchesWithoutAppveyorYml": false,
                "slug": "demo-app-335"
              }
            },
            "schema": {
              "$ref": "#/definitions/Project"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Add project",
        "tags": [
          "Project"
        ]
      },
      "put": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#update-project"
        },
        "operationId": "updateProject",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProjectWithConfiguration"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Update project",
        "tags": [
          "Project"
        ]
      }
    },
    "/projects/status/{badgeRepoProvider}/{repoAccountName}/{repoSlug}": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/status-badges/"
        },
        "operationId": "getPublicProjectStatusBadge",
        "parameters": [
          {
            "$ref": "#/parameters/branch"
          },
          {
            "$ref": "#/parameters/svg"
          },
          {
            "$ref": "#/parameters/retina"
          },
          {
            "$ref": "#/parameters/passingText"
          },
          {
            "$ref": "#/parameters/failingText"
          },
          {
            "$ref": "#/parameters/pendingText"
          }
        ],
        "produces": [
          "image/svg+xml",
          "image/png"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "file"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Get status badge image for a project with a public repository",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/badgeRepoProvider"
        },
        {
          "$ref": "#/parameters/repoAccountName"
        },
        {
          "$ref": "#/parameters/repoSlug"
        }
      ]
    },
    "/projects/status/{statusBadgeId}": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/status-badges/"
        },
        "operationId": "getProjectStatusBadge",
        "parameters": [
          {
            "$ref": "#/parameters/svg"
          },
          {
            "$ref": "#/parameters/retina"
          },
          {
            "$ref": "#/parameters/passingText"
          },
          {
            "$ref": "#/parameters/failingText"
          },
          {
            "$ref": "#/parameters/pendingText"
          }
        ],
        "produces": [
          "image/svg+xml",
          "image/png"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "file"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Get project status badge image",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/statusBadgeId"
        }
      ]
    },
    "/projects/status/{statusBadgeId}/branch/{buildBranch}": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/status-badges/"
        },
        "operationId": "getProjectBranchStatusBadge",
        "parameters": [
          {
            "$ref": "#/parameters/svg"
          },
          {
            "$ref": "#/parameters/retina"
          },
          {
            "$ref": "#/parameters/passingText"
          },
          {
            "$ref": "#/parameters/failingText"
          },
          {
            "$ref": "#/parameters/pendingText"
          }
        ],
        "produces": [
          "image/svg+xml",
          "image/png"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "file"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Get project branch status badge image",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/statusBadgeId"
        },
        {
          "$ref": "#/parameters/buildBranch"
        }
      ]
    },
    "/projects/{accountName}/{projectSlug}": {
      "delete": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#delete-project"
        },
        "operationId": "deleteProject",
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Delete project",
        "tags": [
          "Project"
        ]
      },
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#get-project-last-build"
        },
        "operationId": "getProjectLastBuild",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "build": {
                  "authorName": "Feodor Fitsner",
                  "authorUsername": "FeodorFitsner",
                  "branch": "master",
                  "buildId": 134173,
                  "buildNumber": 45,
                  "commitId": "85da1fb810ae89744abad83e75c13483dd740258",
                  "committed": "2014-07-03T07:56:15+00:00",
                  "committerName": "Feodor Fitsner",
                  "committerUsername": "FeodorFitsner",
                  "created": "2014-08-14T05:39:26.2946368+00:00",
                  "finished": "2014-08-14T05:42:45.5709599+00:00",
                  "jobs": [
                    {
                      "allowFailure": false,
                      "artifactsCount": 0,
                      "compilationErrorsCount": 0,
                      "compilationMessagesCount": 0,
                      "compilationWarningsCount": 0,
                      "created": "2014-08-14T05:39:27.3902557+00:00",
                      "failedTestsCount": 0,
                      "finished": "2014-08-14T05:42:45.1102797+00:00",
                      "jobId": "9r2qufuu8",
                      "messagesCount": 0,
                      "name": "",
                      "passedTestsCount": 0,
                      "started": "2014-08-14T05:41:49.1061831+00:00",
                      "status": "success",
                      "testsCount": 0,
                      "updated": "2014-08-14T05:42:45.477213+00:00"
                    }
                  ],
                  "message": "AssemblyInfo patching",
                  "messages": [],
                  "started": "2014-08-14T05:41:49.1686804+00:00",
                  "status": "success",
                  "updated": "2014-08-14T05:42:45.5709599+00:00",
                  "version": "1.0.45"
                },
                "project": {
                  "accountId": 2,
                  "accountName": "appvyr",
                  "builds": [],
                  "created": "2014-07-19T10:23:03.8005134+00:00",
                  "isPrivate": false,
                  "name": "nuget-test",
                  "nuGetFeed": {
                    "created": "2014-07-19T10:23:05.5160273+00:00",
                    "id": "nuget-test-23spw2w",
                    "name": "Project nuget-test",
                    "publishingEnabled": false
                  },
                  "projectId": 38907,
                  "repositoryBranch": "master",
                  "repositoryName": "FeodorFitsner/nuget-test",
                  "repositoryScm": "git",
                  "repositoryType": "gitHub",
                  "securityDescriptor": {},
                  "skipBranchesWithoutAppveyorYml": false,
                  "slug": "nuget-test",
                  "updated": "2014-08-01T05:25:15.4119745+00:00"
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectBuildResults"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Get project last build",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        }
      ]
    },
    "/projects/{accountName}/{projectSlug}/artifacts/{artifactFileName}": {
      "get": {
        "description": "The `job` parameter is mandatory if the build contains multiple jobs.",
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/packaging-artifacts/#permalink-to-the-last-successful-build-artifact"
        },
        "operationId": "getProjectArtifact",
        "produces": [
          "application/octet-stream"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "file"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Get last successful build artifact",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        },
        {
          "$ref": "#/parameters/artifactFileName"
        },
        {
          "$ref": "#/parameters/branch"
        },
        {
          "$ref": "#/parameters/tag"
        },
        {
          "$ref": "#/parameters/job"
        },
        {
          "$ref": "#/parameters/all"
        },
        {
          "$ref": "#/parameters/pr"
        }
      ]
    },
    "/projects/{accountName}/{projectSlug}/branch/{buildBranch}": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#get-project-last-branch-build"
        },
        "operationId": "getProjectLastBuildBranch",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "build": {
                  "authorName": "Feodor Fitsner",
                  "authorUsername": "FeodorFitsner",
                  "branch": "master",
                  "buildId": 134173,
                  "buildNumber": 45,
                  "commitId": "85da1fb810ae89744abad83e75c13483dd740258",
                  "committed": "2014-07-03T07:56:15+00:00",
                  "committerName": "Feodor Fitsner",
                  "committerUsername": "FeodorFitsner",
                  "created": "2014-08-14T05:39:26.2946368+00:00",
                  "finished": "2014-08-14T05:42:45.5709599+00:00",
                  "jobs": [
                    {
                      "allowFailure": false,
                      "artifactsCount": 0,
                      "compilationErrorsCount": 0,
                      "compilationMessagesCount": 0,
                      "compilationWarningsCount": 0,
                      "created": "2014-08-14T05:39:27.3902557+00:00",
                      "failedTestsCount": 0,
                      "finished": "2014-08-14T05:42:45.1102797+00:00",
                      "jobId": "9r2qufuu8",
                      "messagesCount": 0,
                      "name": "",
                      "passedTestsCount": 0,
                      "started": "2014-08-14T05:41:49.1061831+00:00",
                      "status": "success",
                      "testsCount": 0,
                      "updated": "2014-08-14T05:42:45.477213+00:00"
                    }
                  ],
                  "message": "AssemblyInfo patching",
                  "messages": [],
                  "started": "2014-08-14T05:41:49.1686804+00:00",
                  "status": "success",
                  "updated": "2014-08-14T05:42:45.5709599+00:00",
                  "version": "1.0.45"
                },
                "project": {
                  "accountId": 2,
                  "accountName": "appvyr",
                  "builds": [],
                  "created": "2014-07-19T10:23:03.8005134+00:00",
                  "isPrivate": false,
                  "name": "nuget-test",
                  "nuGetFeed": {
                    "created": "2014-07-19T10:23:05.5160273+00:00",
                    "id": "nuget-test-23spw2w",
                    "name": "Project nuget-test",
                    "publishingEnabled": false
                  },
                  "projectId": 38907,
                  "repositoryBranch": "master",
                  "repositoryName": "FeodorFitsner/nuget-test",
                  "repositoryScm": "git",
                  "repositoryType": "gitHub",
                  "securityDescriptor": {},
                  "skipBranchesWithoutAppveyorYml": false,
                  "slug": "nuget-test",
                  "updated": "2014-08-01T05:25:15.4119745+00:00"
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectBuildResults"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Get project last branch build",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        },
        {
          "$ref": "#/parameters/buildBranch"
        }
      ]
    },
    "/projects/{accountName}/{projectSlug}/build/{buildVersion}": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#get-project-build-by-version"
        },
        "operationId": "getProjectBuildByVersion",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "build": {
                  "authorName": "Feodor Fitsner",
                  "authorUsername": "FeodorFitsner",
                  "branch": "master",
                  "buildId": 134173,
                  "buildNumber": 45,
                  "commitId": "85da1fb810ae89744abad83e75c13483dd740258",
                  "committed": "2014-07-03T07:56:15+00:00",
                  "committerName": "Feodor Fitsner",
                  "committerUsername": "FeodorFitsner",
                  "created": "2014-08-14T05:39:26.2946368+00:00",
                  "finished": "2014-08-14T05:42:45.5709599+00:00",
                  "jobs": [
                    {
                      "allowFailure": false,
                      "artifactsCount": 0,
                      "compilationErrorsCount": 0,
                      "compilationMessagesCount": 0,
                      "compilationWarningsCount": 0,
                      "created": "2014-08-14T05:39:27.3902557+00:00",
                      "failedTestsCount": 0,
                      "finished": "2014-08-14T05:42:45.1102797+00:00",
                      "jobId": "9r2qufuu8",
                      "messagesCount": 0,
                      "name": "",
                      "passedTestsCount": 0,
                      "started": "2014-08-14T05:41:49.1061831+00:00",
                      "status": "success",
                      "testsCount": 0,
                      "updated": "2014-08-14T05:42:45.477213+00:00"
                    }
                  ],
                  "message": "AssemblyInfo patching",
                  "messages": [],
                  "started": "2014-08-14T05:41:49.1686804+00:00",
                  "status": "success",
                  "updated": "2014-08-14T05:42:45.5709599+00:00",
                  "version": "1.0.45"
                },
                "project": {
                  "accountId": 2,
                  "accountName": "appvyr",
                  "builds": [],
                  "created": "2014-07-19T10:23:03.8005134+00:00",
                  "isPrivate": false,
                  "name": "nuget-test",
                  "nuGetFeed": {
                    "created": "2014-07-19T10:23:05.5160273+00:00",
                    "id": "nuget-test-23spw2w",
                    "name": "Project nuget-test",
                    "publishingEnabled": false
                  },
                  "projectId": 38907,
                  "repositoryBranch": "master",
                  "repositoryName": "FeodorFitsner/nuget-test",
                  "repositoryScm": "git",
                  "repositoryType": "gitHub",
                  "securityDescriptor": {},
                  "skipBranchesWithoutAppveyorYml": false,
                  "slug": "nuget-test",
                  "updated": "2014-08-01T05:25:15.4119745+00:00"
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectBuildResults"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Get project build by version",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        },
        {
          "$ref": "#/parameters/buildVersion"
        }
      ]
    },
    "/projects/{accountName}/{projectSlug}/buildcache": {
      "delete": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#delete-project-build-cache"
        },
        "operationId": "deleteProjectBuildCache",
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Delete project build cache",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        }
      ]
    },
    "/projects/{accountName}/{projectSlug}/deployments": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#get-project-deployments"
        },
        "operationId": "getProjectDeployments",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "deployments": [
                  {
                    "deployment": {
                      "build": {
                        "authorName": "Feodor Fitsner",
                        "authorUsername": "FeodorFitsner",
                        "branch": "master",
                        "buildId": 132746,
                        "buildNumber": 38,
                        "commitId": "c397ba5d17dd17b994375405f560e4922207da1e",
                        "committed": "2014-08-12T22:56:00+00:00",
                        "committerName": "Feodor Fitsner",
                        "committerUsername": "FeodorFitsner",
                        "created": "2014-08-12T22:56:09.9208493+00:00",
                        "finished": "2014-08-12T22:58:05.7595508+00:00",
                        "jobs": [],
                        "message": "Removed Start-Website",
                        "messages": [],
                        "started": "2014-08-12T22:56:25.8575967+00:00",
                        "status": "success",
                        "updated": "2014-08-12T22:58:05.7595508+00:00",
                        "version": "1.0.38"
                      },
                      "created": "2014-08-12T23:06:07.9009315+00:00",
                      "deploymentId": 19475,
                      "environment": {
                        "created": "2014-04-01T17:56:41.30982+00:00",
                        "deploymentEnvironmentId": 27,
                        "name": "agent test",
                        "provider": "Agent",
                        "updated": "2014-08-12T22:35:51.9723883+00:00"
                      },
                      "finished": "2014-08-12T23:06:25.0502019+00:00",
                      "jobs": [
                        {
                          "created": "2014-08-12T23:06:07.9009315+00:00",
                          "finished": "2014-08-12T23:06:24.3361102+00:00",
                          "jobId": "jnpbcc77s4w278e4",
                          "messagesCount": 0,
                          "name": "Deployment",
                          "started": "2014-08-12T23:06:10.8776088+00:00",
                          "status": "success",
                          "updated": "2014-08-12T23:06:24.9390847+00:00"
                        },
                        {
                          "created": "2014-08-12T23:06:14.8148958+00:00",
                          "finished": "2014-08-12T23:06:21.9647266+00:00",
                          "jobId": "nbgyf7pn65d4agyr",
                          "messagesCount": 0,
                          "name": "TEST-AGENT-DEPL",
                          "started": "2014-08-12T23:06:14.8148958+00:00",
                          "status": "success",
                          "updated": "2014-08-12T23:06:22.3768791+00:00"
                        }
                      ],
                      "started": "2014-08-12T23:06:10.8776088+00:00",
                      "status": "success",
                      "updated": "2014-08-12T23:06:25.0502019+00:00"
                    },
                    "environment": {
                      "created": "2014-04-01T17:56:41.30982+00:00",
                      "deploymentEnvironmentId": 27,
                      "name": "agent test",
                      "provider": "Agent",
                      "updated": "2014-08-12T22:35:51.9723883+00:00"
                    }
                  }
                ],
                "project": {
                  "accountId": 2,
                  "accountName": "appvyr",
                  "builds": [],
                  "created": "2014-05-08T18:38:57.9163293+00:00",
                  "isPrivate": false,
                  "name": "simple-web",
                  "projectId": 22321,
                  "repositoryName": "AppVeyor/simple-web",
                  "repositoryScm": "git",
                  "repositoryType": "gitHub",
                  "securityDescriptor": {},
                  "skipBranchesWithoutAppveyorYml": false,
                  "slug": "simple-web",
                  "updated": "2014-07-14T10:16:26.9351867+00:00"
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectDeploymentsResults"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get project deployments",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        },
        {
          "$ref": "#/parameters/recordsNumber"
        }
      ]
    },
    "/projects/{accountName}/{projectSlug}/history": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#get-project-history"
        },
        "operationId": "getProjectHistory",
        "parameters": [
          {
            "$ref": "#/parameters/recordsNumber"
          },
          {
            "$ref": "#/parameters/startBuildId"
          },
          {
            "$ref": "#/parameters/branch"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "builds": [
                  {
                    "authorName": "Feodor Fitsner",
                    "authorUsername": "FeodorFitsner",
                    "branch": "master",
                    "buildId": 134174,
                    "buildNumber": 5,
                    "commitId": "d19740243e3ec5497345de0f7d828e66a7cd1a6b",
                    "committed": "2014-08-10T14:08:16+00:00",
                    "committerName": "Feodor Fitsner",
                    "committerUsername": "FeodorFitsner",
                    "created": "2014-08-14T05:39:30.8845902+00:00",
                    "finished": "2014-08-14T05:43:47.4732355+00:00",
                    "jobs": [],
                    "message": "Enabled diag mode",
                    "messages": [],
                    "started": "2014-08-14T05:42:17.2696755+00:00",
                    "status": "success",
                    "updated": "2014-08-14T05:43:47.4732355+00:00",
                    "version": "1.0.5"
                  },
                  {
                    "authorName": "Feodor Fitsner",
                    "authorUsername": "FeodorFitsner",
                    "branch": "master",
                    "buildId": 129289,
                    "buildNumber": 3,
                    "commitId": "28c6eec932c0e21eca5bb5571a722f850aa8bf6f",
                    "committed": "2014-08-09T00:33:34+00:00",
                    "committerName": "Feodor Fitsner",
                    "committerUsername": "FeodorFitsner",
                    "created": "2014-08-09T15:42:38.8315273+00:00",
                    "finished": "2014-08-09T15:44:15.5828009+00:00",
                    "jobs": [],
                    "message": "Added appveyor.yml",
                    "messages": [],
                    "started": "2014-08-09T15:42:45.7878479+00:00",
                    "status": "success",
                    "updated": "2014-08-09T15:44:15.5828009+00:00",
                    "version": "1.0.3"
                  }
                ],
                "project": {
                  "accountId": 2,
                  "accountName": "appvyr",
                  "builds": [],
                  "created": "2014-08-09T00:30:43.3327131+00:00",
                  "isPrivate": false,
                  "name": "wix-test",
                  "projectId": 42438,
                  "repositoryName": "FeodorFitsner/wix-test",
                  "repositoryScm": "git",
                  "repositoryType": "gitHub",
                  "skipBranchesWithoutAppveyorYml": false,
                  "slug": "wix-test"
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectHistory"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "security": [],
        "summary": "Get project history",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        }
      ]
    },
    "/projects/{accountName}/{projectSlug}/settings": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#get-project-settings"
        },
        "operationId": "getProjectSettings",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "images": [
                  {
                    "name": "test-win2012-r2"
                  },
                  {
                    "name": "Windows Server 2012"
                  },
                  {
                    "name": "Windows Server 2012 R2"
                  }
                ],
                "project": {
                  "accountId": 2,
                  "accountName": "appvyr",
                  "builds": [],
                  "created": "2014-05-08T18:38:57.9163293+00:00",
                  "isPrivate": false,
                  "name": "simple-web",
                  "projectId": 22321,
                  "repositoryName": "AppVeyor/simple-web",
                  "repositoryScm": "git",
                  "repositoryType": "gitHub",
                  "securityDescriptor": {
                    "accessRightDefinitions": [
                      {
                        "description": "View",
                        "name": "View"
                      },
                      {
                        "description": "Run build",
                        "name": "RunBuild"
                      },
                      {
                        "description": "Update settings",
                        "name": "Update"
                      },
                      {
                        "description": "Delete project",
                        "name": "Delete"
                      }
                    ],
                    "roleAces": [
                      {
                        "accessRights": [
                          {
                            "allowed": true,
                            "name": "View"
                          },
                          {
                            "allowed": true,
                            "name": "RunBuild"
                          },
                          {
                            "allowed": true,
                            "name": "Update"
                          },
                          {
                            "allowed": true,
                            "name": "Delete"
                          }
                        ],
                        "isAdmin": true,
                        "name": "Administrator",
                        "roleId": 4
                      },
                      {
                        "accessRights": [
                          {
                            "name": "View"
                          },
                          {
                            "name": "RunBuild"
                          },
                          {
                            "name": "Update"
                          },
                          {
                            "name": "Delete"
                          }
                        ],
                        "isAdmin": false,
                        "name": "User",
                        "roleId": 5
                      }
                    ]
                  },
                  "skipBranchesWithoutAppveyorYml": false,
                  "slug": "simple-web",
                  "updated": "2014-07-14T10:16:26.9351867+00:00"
                },
                "settings": {
                  "accountId": 2,
                  "accountName": "appvyr",
                  "builds": [],
                  "configuration": {
                    "afterBuildScripts": [],
                    "afterDeployScripts": [],
                    "afterTestScripts": [],
                    "artifacts": [],
                    "assemblyFileVersionFormat": "{version}",
                    "assemblyInfoFile": "**\\AssemblyInfo.*",
                    "assemblyInformationalVersionFormat": "{version}",
                    "assemblyVersionFormat": "{version}",
                    "beforeBuildScripts": [],
                    "beforeDeployScripts": [],
                    "beforeTestScripts": [],
                    "buildMode": "msbuild",
                    "buildScripts": [],
                    "configuration": [],
                    "deployMode": "providers",
                    "deployScripts": [],
                    "deployments": [],
                    "environmentVariables": [],
                    "environmentVariablesMatrix": [],
                    "excludeBranches": [],
                    "hostsEntries": [],
                    "includeBranches": [],
                    "initScripts": [],
                    "installScripts": [],
                    "matrixAllowFailures": [],
                    "matrixFastFinish": false,
                    "msBuildVerbosity": "minimal",
                    "notifications": [],
                    "onBuildErrorScripts": [],
                    "onBuildSuccessScripts": [],
                    "operatingSystem": [],
                    "packageAzureCloudServiceProjects": false,
                    "packageNuGetProjects": false,
                    "packageWebApplicationProjects": false,
                    "packageWebApplicationProjectsXCopy": false,
                    "patchAssemblyInfo": false,
                    "platform": [],
                    "services": [],
                    "shallowClone": false,
                    "testAssemblies": [],
                    "testCategories": [],
                    "testCategoriesMatrix": [],
                    "testMode": "auto",
                    "testScripts": []
                  },
                  "created": "2014-05-08T18:38:57.9163293+00:00",
                  "ignoreAppveyorYml": false,
                  "isPrivate": false,
                  "name": "simple-web",
                  "nextBuildNumber": 41,
                  "nuGetFeed": {
                    "created": "2014-05-08T18:38:59.2455842+00:00",
                    "id": "simple-web-0r50wgb1st6q",
                    "name": "Project simple-web",
                    "publishingEnabled": false
                  },
                  "projectId": 22321,
                  "repositoryBranch": "master",
                  "repositoryName": "AppVeyor/simple-web",
                  "repositoryScm": "git",
                  "repositoryType": "gitHub",
                  "securityDescriptor": {
                    "accessRightDefinitions": [
                      {
                        "description": "View",
                        "name": "View"
                      },
                      {
                        "description": "Run build",
                        "name": "RunBuild"
                      },
                      {
                        "description": "Update settings",
                        "name": "Update"
                      },
                      {
                        "description": "Delete project",
                        "name": "Delete"
                      }
                    ],
                    "roleAces": [
                      {
                        "accessRights": [
                          {
                            "allowed": true,
                            "name": "View"
                          },
                          {
                            "allowed": true,
                            "name": "RunBuild"
                          },
                          {
                            "allowed": true,
                            "name": "Update"
                          },
                          {
                            "allowed": true,
                            "name": "Delete"
                          }
                        ],
                        "isAdmin": true,
                        "name": "Administrator",
                        "roleId": 4
                      },
                      {
                        "accessRights": [
                          {
                            "name": "View"
                          },
                          {
                            "name": "RunBuild"
                          },
                          {
                            "name": "Update"
                          },
                          {
                            "name": "Delete"
                          }
                        ],
                        "isAdmin": false,
                        "name": "User",
                        "roleId": 5
                      }
                    ]
                  },
                  "skipBranchesWithoutAppveyorYml": false,
                  "slug": "simple-web",
                  "updated": "2014-07-14T10:16:26.9351867+00:00",
                  "versionFormat": "1.0.{build}",
                  "webhookId": "k783di7br",
                  "webhookUrl": "https://ci.appveyor.com/api/github/webhook?id=k783di7br"
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectSettingsResults"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get project settings",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        }
      ]
    },
    "/projects/{accountName}/{projectSlug}/settings/build-number": {
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        }
      ],
      "put": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#update-project-build-number"
        },
        "operationId": "updateProjectBuildNumber",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProjectBuildNumberUpdate"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Update project build number",
        "tags": [
          "Project"
        ]
      }
    },
    "/projects/{accountName}/{projectSlug}/settings/environment-variables": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#get-project-environment-variables"
        },
        "operationId": "getProjectEnvironmentVariables",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": [
                {
                  "name": "api_key",
                  "value": {
                    "isEncrypted": true,
                    "value": "very-secret-key-encrypted"
                  }
                },
                {
                  "name": "var1",
                  "value": {
                    "isEncrypted": false,
                    "value": "current-value"
                  }
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/StoredNameValue"
              },
              "type": "array"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get project environment variables",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        }
      ],
      "put": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#update-project-environment-variables"
        },
        "operationId": "updateProjectEnvironmentVariables",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/StoredNameValue"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Update project environment variables",
        "tags": [
          "Project"
        ]
      }
    },
    "/projects/{accountName}/{projectSlug}/settings/yaml": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#get-project-settings-in-yaml"
        },
        "operationId": "getProjectSettingsYaml",
        "produces": [
          "text/plain"
        ],
        "responses": {
          "200": {
            "description": "Success\n\nThe schema type of this response could be specified as `file` to\ndenote opaque binary data.  The generated Java code for `file`\nsaves the response as a temporary file, making it a little more\ndifficult to use and less efficient for common cases.  If `string`\ncauses problems for other generators, can switch to `file` type.\n",
            "examples": {
              "text/plain": "version: 1.0.{build}\nbuild:\n  project: MySolution.sln\n  verbosity: minimal\n  publish_wap: true\n  ...\n"
            },
            "schema": {
              "type": "string"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get project settings in YAML",
        "tags": [
          "Project"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/accountName"
        },
        {
          "$ref": "#/parameters/projectSlug"
        }
      ],
      "put": {
        "consumes": [
          "text/plain"
        ],
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/projects-builds/#update-project-settings-in-yaml"
        },
        "operationId": "updateProjectSettingsYaml",
        "parameters": [
          {
            "description": "The body of requests should contain YAML data.  It is unclear how\nto specify this since the OpenAPI spec requires `schema` without\n`type` for `in: body` parameters and does not allow `type: file` in\n`schema`.  See https://github.com/OAI/OpenAPI-Specification/issues/326\nswagger-codegen (for Java, probably others) allows a binary\nstring body parameter with non-application/json `consumes` to be\npassed through in the request body without conversion to JSON.\n",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "format": "binary",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Update project settings in YAML",
        "tags": [
          "Project"
        ]
      }
    },
    "/roles": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#get-roles"
        },
        "operationId": "getRoles",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": [
                {
                  "created": "2013-09-26T19:23:39.3615105+00:00",
                  "isSystem": true,
                  "name": "Administrator",
                  "roleId": 4
                },
                {
                  "created": "2013-09-26T19:23:39.3645117+00:00",
                  "isSystem": true,
                  "name": "User",
                  "roleId": 5
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Role"
              },
              "type": "array"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get roles",
        "tags": [
          "Role"
        ]
      },
      "post": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#add-role"
        },
        "operationId": "addRole",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RoleAddition"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RoleWithGroups"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Add role",
        "tags": [
          "Role"
        ]
      },
      "put": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#update-role"
        },
        "operationId": "updateRole",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RoleWithGroups"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RoleWithGroups"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Update role",
        "tags": [
          "Role"
        ]
      }
    },
    "/roles/{roleId}": {
      "delete": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#delete-role"
        },
        "operationId": "deleteRole",
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Delete role",
        "tags": [
          "Role"
        ]
      },
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#get-role"
        },
        "operationId": "getRole",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "created": "2014-03-18T20:12:08.4749886+00:00",
                "groups": [
                  {
                    "name": "Projects",
                    "permissions": [
                      {
                        "allowed": false,
                        "description": "Create, delete projects, update project settings",
                        "name": "ManageProjects"
                      },
                      {
                        "allowed": false,
                        "description": "Update project settings",
                        "name": "UpdateProjectSettings"
                      },
                      {
                        "allowed": false,
                        "description": "Run project builds",
                        "name": "RunProjectBuild"
                      },
                      {
                        "allowed": false,
                        "description": "Delete project builds",
                        "name": "DeleteProjectBuilds"
                      }
                    ]
                  },
                  {
                    "name": "Environments",
                    "permissions": [
                      {
                        "allowed": false,
                        "description": "Create, delete projects, update environment settings",
                        "name": "ManageEnvironments"
                      },
                      {
                        "allowed": false,
                        "description": "Update environment settings",
                        "name": "UpdateEnvironmentSettings"
                      },
                      {
                        "allowed": false,
                        "description": "Deploy to environment",
                        "name": "DeployToEnvironment"
                      }
                    ]
                  },
                  {
                    "name": "Account",
                    "permissions": [
                      {
                        "allowed": false,
                        "description": "Update account details",
                        "name": "UpdateAccountDetails"
                      }
                    ]
                  },
                  {
                    "name": "Users",
                    "permissions": [
                      {
                        "allowed": false,
                        "description": "Add new user",
                        "name": "AddUser"
                      },
                      {
                        "allowed": false,
                        "description": "Update user details",
                        "name": "UpdateUserDetails"
                      },
                      {
                        "allowed": false,
                        "description": "Delete user",
                        "name": "DeleteUser"
                      }
                    ]
                  },
                  {
                    "name": "Roles",
                    "permissions": [
                      {
                        "allowed": false,
                        "description": "Add new role",
                        "name": "AddRole"
                      },
                      {
                        "allowed": false,
                        "description": "Update role details",
                        "name": "UpdateRoleDetails"
                      },
                      {
                        "allowed": false,
                        "description": "Delete role",
                        "name": "DeleteRole"
                      }
                    ]
                  },
                  {
                    "name": "User",
                    "permissions": [
                      {
                        "allowed": false,
                        "description": "Generate API keys",
                        "name": "ConfigureApiKeys"
                      }
                    ]
                  }
                ],
                "isSystem": false,
                "name": "My Role",
                "roleId": 3040
              }
            },
            "schema": {
              "$ref": "#/definitions/RoleWithGroups"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get role",
        "tags": [
          "Role"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/roleId"
        }
      ]
    },
    "/user/join-account": {
      "put": {
        "operationId": "joinAccount",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/JoinAccountRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "accounts": [
                  {
                    "accountId": 2,
                    "allowCustomBuildEnvironment": false,
                    "blocked": false,
                    "created": "2016-12-30T05:00:43.038419+00:00",
                    "featureFlags": "distv2",
                    "gitHubPlan": false,
                    "isCollaborator": true,
                    "isEnterprisePlan": false,
                    "isOwner": false,
                    "manualPayments": false,
                    "name": "NuGet",
                    "permissions": [],
                    "planId": "free",
                    "planStart": "2016-09-09T23:01:29.941128+00:00",
                    "planStatus": "active",
                    "roleId": 5,
                    "roleName": "User",
                    "unpaid": false,
                    "unverified": false,
                    "updated": "2017-01-01T21:21:10.1292694+00:00"
                  },
                  {
                    "accountId": 2,
                    "allowCustomBuildEnvironment": false,
                    "blocked": false,
                    "created": "2016-09-09T23:01:29.941128+00:00",
                    "featureFlags": "distv2",
                    "gitHubPlan": false,
                    "isCollaborator": false,
                    "isEnterprisePlan": false,
                    "isOwner": true,
                    "manualPayments": false,
                    "name": "nuget",
                    "permissions": [
                      "ManageProjects",
                      "UpdateProjectSettings",
                      "RunProjectBuild",
                      "ManageEnvironments",
                      "UpdateEnvironmentSettings",
                      "DeployToEnvironment",
                      "ConfigureBuildEnvironment",
                      "UpdateAccountDetails",
                      "UpdateBillingDetails",
                      "ManageApplicationAuthorizations",
                      "AddUser",
                      "UpdateUserDetails",
                      "DeleteUser",
                      "AddRole",
                      "UpdateRoleDetails",
                      "DeleteRole"
                    ],
                    "planId": "free",
                    "planStart": "2016-09-09T23:01:29.941128+00:00",
                    "planStatus": "active",
                    "roleId": 4,
                    "roleName": "Administrator",
                    "unpaid": false,
                    "unverified": false,
                    "updated": "2016-09-21T00:08:35.0728561+00:00"
                  }
                ],
                "setupRequired": false,
                "twoFactorAuthRequired": false,
                "user": {
                  "created": "2016-09-09T23:01:29.941128+00:00",
                  "email": "nuget@appveyor.com",
                  "fullName": "NuGet",
                  "gitHubUsername": "nuget",
                  "gravatarHash": "142e1aa89b96190de9f4ce6569ebb421",
                  "pageSize": 10,
                  "twoFactorAuthEnabled": false,
                  "updated": "2017-01-03T02:06:50.0238036+00:00",
                  "userId": 2019
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/SessionModel"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Join Account",
        "tags": [
          "User"
        ]
      }
    },
    "/users": {
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#get-users"
        },
        "operationId": "getUsers",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": [
                {
                  "accountId": 2,
                  "accountName": "FeodorFitsner",
                  "created": "2014-02-12T19:21:15.0618564+00:00",
                  "email": "nuget@appveyor.com",
                  "failedBuildNotification": "all",
                  "fullName": "NuGet",
                  "isCollaborator": false,
                  "isOwner": false,
                  "notifyWhenBuildStatusChangedOnly": true,
                  "roleId": 5,
                  "roleName": "User",
                  "successfulBuildNotification": "all",
                  "updated": "2014-03-06T22:47:44.9706252+00:00",
                  "userId": 2019
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/UserAccount"
              },
              "type": "array"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get users",
        "tags": [
          "User"
        ]
      },
      "put": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#update-user"
        },
        "operationId": "updateUser",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UserAccount"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Update user",
        "tags": [
          "User"
        ]
      }
    },
    "/users/invitations": {
      "get": {
        "operationId": "getUserInvitations",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": [
                {
                  "accountId": 2,
                  "accountName": "FeodorFitsner",
                  "created": "2019-03-20T16:22:50.2504181+00:00",
                  "email": "nuget@appveyor.com",
                  "roleId": 5,
                  "roleName": "User",
                  "userInvitationId": "6i9w9rcp5us7lxnbdo63"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/UserInvitationModel"
              },
              "type": "array"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get user invitations",
        "tags": [
          "User"
        ]
      },
      "post": {
        "operationId": "inviteUser",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InviteUserRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Invite user",
        "tags": [
          "User"
        ]
      }
    },
    "/users/invitations/{userInvitationId}": {
      "delete": {
        "operationId": "cancelUserInvitation",
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Cancel user invitation",
        "tags": [
          "User"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/userInvitationId"
        }
      ]
    },
    "/users/{userId}": {
      "delete": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#delete-user"
        },
        "operationId": "deleteUser",
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Delete user",
        "tags": [
          "User"
        ]
      },
      "get": {
        "externalDocs": {
          "url": "https://www.appveyor.com/docs/api/team/#get-user"
        },
        "operationId": "getUser",
        "responses": {
          "200": {
            "description": "Success",
            "examples": {
              "application/json": {
                "roles": [
                  {
                    "created": "2013-09-26T19:23:39.3615105+00:00",
                    "isSystem": true,
                    "name": "Administrator",
                    "roleId": 4
                  },
                  {
                    "created": "2013-09-26T19:23:39.3645117+00:00",
                    "isSystem": true,
                    "name": "User",
                    "roleId": 5
                  }
                ],
                "user": {
                  "accountId": 2,
                  "accountName": "FeodorFitsner",
                  "created": "2014-02-12T19:21:15.0618564+00:00",
                  "email": "nuget@appveyor.com",
                  "failedBuildNotification": "all",
                  "fullName": "NuGet",
                  "isCollaborator": false,
                  "isOwner": false,
                  "notifyWhenBuildStatusChangedOnly": true,
                  "roleId": 5,
                  "roleName": "User",
                  "successfulBuildNotification": "all",
                  "updated": "2014-03-06T22:47:44.9706252+00:00",
                  "userId": 2019
                }
              }
            },
            "schema": {
              "$ref": "#/definitions/UserAccountRolesResults"
            }
          },
          "default": {
            "$ref": "#/responses/Error"
          }
        },
        "summary": "Get user",
        "tags": [
          "User"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/userId"
        }
      ]
    }
  },
  "definitions": {
    "AccessRightName": {
      "enum": [
        "Delete",
        "Deploy",
        "RunBuild",
        "Update",
        "View"
      ],
      "type": "string"
    },
    "AceAccessRight": {
      "properties": {
        "allowed": {
          "description": "true to allow, false to deny, undefined to inherit",
          "type": "boolean"
        },
        "name": {
          "$ref": "#/definitions/AccessRightName"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "AceAccessRightDefinition": {
      "properties": {
        "description": {
          "type": "string"
        },
        "name": {
          "$ref": "#/definitions/AccessRightName"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "Artifact": {
      "properties": {
        "name": {
          "minLength": 0,
          "title": "Deployment name",
          "type": "string"
        },
        "path": {
          "description": "Path glob of artifact files.\nNote that updateProject does not require path, but omitting path\nresults in post-build error \"Collecting artifacts... Value cannot\nbe null.  Parameter name: input\"\n",
          "type": "string"
        },
        "type": {
          "$ref": "#/definitions/ArtifactType"
        }
      },
      "required": [
        "path"
      ],
      "type": "object"
    },
    "ArtifactModel": {
      "properties": {
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "fileName": {
          "type": "string"
        },
        "name": {
          "title": "Deployment name",
          "type": "string"
        },
        "size": {
          "minimum": 0,
          "type": "integer"
        },
        "type": {
          "$ref": "#/definitions/ArtifactType"
        },
        "url": {
          "description": "This property has not been observed in JSON responses, but is\npresent and nil in XML responses.\n",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ArtifactType": {
      "description": "Possible values from `Push-AppveyorArtifact` cmdlet `-Type` parameter.\n\nThe web UI only allows selection of `Auto`, `WebDeployPackage`, and\nunspecified (which it sends as the empty string but functions like\nomitting the property) for `updateProject`.\n\nAny string can be sent and will be saved/returned, but only these\nvalues have a function (as far as I am aware).",
      "enum": [
        "Auto",
        "AzureCloudService",
        "AzureCloudServiceConfig",
        "ElasticBeanstalkPackage",
        "File",
        "NuGetPackage",
        "OctopusPackage",
        "SsdtPackage",
        "WebDeployPackage",
        "Zip"
      ],
      "type": "string"
    },
    "Build": {
      "allOf": [
        {
          "$ref": "#/definitions/BuildLookupModel"
        },
        {
          "$ref": "#/definitions/Timestamped"
        },
        {
          "properties": {
            "authorName": {
              "type": "string"
            },
            "authorUsername": {
              "type": "string"
            },
            "buildNumber": {
              "minimum": 0,
              "type": "integer"
            },
            "commitId": {
              "type": "string"
            },
            "committed": {
              "format": "date-time",
              "type": "string"
            },
            "committerName": {
              "type": "string"
            },
            "committerUsername": {
              "type": "string"
            },
            "finished": {
              "format": "date-time",
              "type": "string"
            },
            "isTag": {
              "type": "boolean"
            },
            "jobs": {
              "description": "Always empty in getProjectHistory and startDeployment responses.",
              "items": {
                "$ref": "#/definitions/BuildJob"
              },
              "type": "array"
            },
            "messageExtended": {
              "type": "string"
            },
            "messages": {
              "items": {
                "$ref": "#/definitions/BuildMessage"
              },
              "type": "array"
            },
            "projectId": {
              "minimum": 0,
              "type": "integer"
            },
            "pullRequestId": {
              "minimum": 1,
              "type": "integer"
            },
            "pullRequestName": {
              "type": "string"
            },
            "started": {
              "format": "date-time",
              "type": "string"
            },
            "status": {
              "$ref": "#/definitions/Status"
            }
          },
          "type": "object"
        }
      ]
    },
    "BuildCloudName": {
      "enum": [
        "azure-westus",
        "gce",
        "pro-ubuntu",
        "pro-ubuntu18",
        "pro-vs2013",
        "pro-win2016",
        "pro-vs2017",
        "ubuntu"
      ],
      "type": "string"
    },
    "BuildJob": {
      "allOf": [
        {
          "$ref": "#/definitions/Job"
        },
        {
          "properties": {
            "allowFailure": {
              "type": "boolean"
            },
            "artifactsCount": {
              "minimum": 0,
              "type": "integer"
            },
            "compilationErrorsCount": {
              "minimum": 0,
              "type": "integer"
            },
            "compilationMessagesCount": {
              "minimum": 0,
              "type": "integer"
            },
            "compilationWarningsCount": {
              "minimum": 0,
              "type": "integer"
            },
            "failedTestsCount": {
              "minimum": 0,
              "type": "integer"
            },
            "messagesCount": {
              "minimum": 0,
              "type": "integer"
            },
            "osType": {
              "$ref": "#/definitions/OSType"
            },
            "passedTestsCount": {
              "minimum": 0,
              "type": "integer"
            },
            "testsCount": {
              "minimum": 0,
              "type": "integer"
            }
          },
          "type": "object"
        }
      ]
    },
    "BuildLookupModel": {
      "properties": {
        "branch": {
          "type": "string"
        },
        "buildId": {
          "minimum": 0,
          "type": "integer"
        },
        "message": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "BuildMessage": {
      "properties": {
        "category": {
          "$ref": "#/definitions/BuildMessageCategory"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "BuildMessageCategory": {
      "enum": [
        "information",
        "warning"
      ],
      "type": "string"
    },
    "BuildMode": {
      "enum": [
        "msbuild",
        "none",
        "script"
      ],
      "type": "string"
    },
    "BuildNotificationFrequency": {
      "enum": [
        "all",
        "myCommits",
        "none"
      ],
      "type": "string"
    },
    "BuildStartRequest": {
      "example": {
        "accountName": "your-account-name",
        "branch": "master",
        "environmentVariables": {
          "another_var": "another value",
          "my_var": "value"
        },
        "projectSlug": "project-slug-from-url"
      },
      "properties": {
        "accountName": {
          "minLength": 1,
          "type": "string"
        },
        "branch": {
          "type": "string"
        },
        "commitId": {
          "type": "string"
        },
        "environmentVariables": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "projectSlug": {
          "minLength": 1,
          "type": "string"
        },
        "pullRequestId": {
          "description": "Can not be used with `branch` or `commitId`",
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "accountName",
        "projectSlug"
      ],
      "type": "object"
    },
    "BuildWorkerImage": {
      "properties": {
        "buildCloudName": {
          "$ref": "#/definitions/BuildCloudName"
        },
        "buildWorkerImageId": {
          "minimum": 0,
          "type": "integer"
        },
        "name": {
          "$ref": "#/definitions/BuildWorkerImageName"
        },
        "osType": {
          "$ref": "#/definitions/OSType"
        }
      },
      "required": [
        "buildWorkerImageId",
        "name"
      ],
      "type": "object"
    },
    "BuildWorkerImageName": {
      "description": "Defines the available build worker image templates used to provision a virtual machine for a build.  Images are updated regularly.  \"Previous\" selects the previous version of an image, for use as a temporary workaround for regressions.\n`Ubuntu` is the same as `Ubuntu1604`. `Previous Ubuntu` is the same as `Previous Ubuntu1604`.\nSee https://www.appveyor.com/docs/build-environment/#build-worker-images for details.",
      "enum": [
        "Previous Ubuntu",
        "Previous Ubuntu1604",
        "Previous Ubuntu1804",
        "Previous Visual Studio 2013",
        "Previous Visual Studio 2015",
        "Previous Visual Studio 2017",
        "Ubuntu",
        "Ubuntu1604",
        "Ubuntu1804",
        "Visual Studio 2013",
        "Visual Studio 2015",
        "Visual Studio 2015 2",
        "Visual Studio 2017",
        "Visual Studio 2017 Preview",
        "Visual Studio 2019 Preview",
        "WMF 5",
        "Windows Server 2019"
      ],
      "type": "string"
    },
    "CollaboratorUpdate": {
      "description": "Technically `userId` and `roleId` have default value 0 and are not\nrequired, but since user 0 and role 0 never exist it would always cause\na 404 response.\n",
      "example": {
        "roleId": 3040,
        "userId": 2018
      },
      "properties": {
        "roleId": {
          "minimum": 0,
          "type": "integer"
        },
        "userId": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "userId",
        "roleId"
      ],
      "type": "object"
    },
    "DeployMode": {
      "enum": [
        "providers",
        "none",
        "script"
      ],
      "type": "string"
    },
    "Deployment": {
      "allOf": [
        {
          "$ref": "#/definitions/DeploymentLookupModel"
        },
        {
          "$ref": "#/definitions/Timestamped"
        },
        {
          "properties": {
            "build": {
              "$ref": "#/definitions/Build"
            },
            "environment": {
              "$ref": "#/definitions/DeploymentEnvironment"
            },
            "jobs": {
              "items": {
                "$ref": "#/definitions/DeploymentJob"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ]
    },
    "DeploymentCancellation": {
      "example": {
        "deploymentId": 123
      },
      "properties": {
        "deploymentId": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "deploymentId"
      ],
      "type": "object"
    },
    "DeploymentEnvironment": {
      "allOf": [
        {
          "$ref": "#/definitions/DeploymentEnvironmentLookupModel"
        },
        {
          "$ref": "#/definitions/Timestamped"
        },
        {
          "properties": {
            "accountId": {
              "type": "integer"
            },
            "projectsMode": {
              "$ref": "#/definitions/DeploymentProjectSelectionMode"
            },
            "securityDescriptor": {
              "$ref": "#/definitions/SecurityDescriptor"
            },
            "tags": {
              "description": "Comma-separated list of environment tags for dynamic grouping.\nAppears that any input is accepted.  The returned value only\ncontains case-preserving but insensitive unique values where\nspaces around \",\" are removed but otherwise preserved.  Empty\nvalues and items are allowed.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ]
    },
    "DeploymentEnvironmentAddition": {
      "example": {
        "name": "production",
        "provider": "FTP",
        "settings": {
          "environmentVariables": [
            {
              "name": "my-var",
              "value": {
                "isEncrypted": false,
                "value": "123"
              }
            }
          ],
          "providerSettings": [
            {
              "name": "server",
              "value": {
                "isEncrypted": false,
                "value": "ftp.myserver.com"
              }
            },
            {
              "name": "username",
              "value": {
                "isEncrypted": false,
                "value": "ftp-user"
              }
            },
            {
              "name": "password",
              "value": {
                "isEncrypted": true,
                "value": "password"
              }
            }
          ]
        }
      },
      "properties": {
        "name": {
          "type": "string"
        },
        "provider": {
          "$ref": "#/definitions/DeploymentProviderType"
        },
        "settings": {
          "$ref": "#/definitions/DeploymentEnvironmentSettings"
        }
      },
      "required": [
        "name",
        "provider",
        "settings"
      ],
      "type": "object"
    },
    "DeploymentEnvironmentDeploymentsResults": {
      "properties": {
        "deployments": {
          "items": {
            "$ref": "#/definitions/EnvironmentDeploymentModel"
          },
          "type": "array"
        },
        "environment": {
          "$ref": "#/definitions/DeploymentEnvironment"
        }
      },
      "required": [
        "environment",
        "deployments"
      ],
      "type": "object"
    },
    "DeploymentEnvironmentLookupModel": {
      "properties": {
        "deploymentEnvironmentId": {
          "minimum": 0,
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "provider": {
          "$ref": "#/definitions/DeploymentProviderType"
        }
      },
      "type": "object"
    },
    "DeploymentEnvironmentProject": {
      "properties": {
        "isSelected": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "projectId": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "projectId",
        "name",
        "isSelected"
      ],
      "type": "object"
    },
    "DeploymentEnvironmentSettings": {
      "properties": {
        "environmentVariables": {
          "items": {
            "$ref": "#/definitions/StoredNameValue"
          },
          "type": "array"
        },
        "notifications": {
          "items": {
            "$ref": "#/definitions/NotificationProviderSettings"
          },
          "type": "array"
        },
        "providerSettings": {
          "items": {
            "$ref": "#/definitions/StoredNameValue"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DeploymentEnvironmentSettingsResults": {
      "properties": {
        "environment": {
          "$ref": "#/definitions/DeploymentEnvironmentWithSettings"
        }
      },
      "type": "object"
    },
    "DeploymentEnvironmentWithSettings": {
      "allOf": [
        {
          "$ref": "#/definitions/DeploymentEnvironment"
        },
        {
          "properties": {
            "environmentAccessKey": {
              "type": "string"
            },
            "projects": {
              "description": "Projects available for selection in UI.\nOnly present in response from getEnvironmentSettings.\n",
              "items": {
                "$ref": "#/definitions/DeploymentEnvironmentProject"
              },
              "type": "array"
            },
            "selectedProjects": {
              "description": "Project IDs of selected projects",
              "items": {
                "minimum": 1,
                "type": "integer"
              },
              "type": "array"
            },
            "settings": {
              "$ref": "#/definitions/DeploymentEnvironmentSettings"
            }
          },
          "type": "object"
        }
      ],
      "example": {
        "deploymentEnvironmentId": 3018,
        "environmentAccessKey": "gi3ttevuk7123",
        "name": "production",
        "settings": {
          "environmentVariables": [
            {
              "name": "my-var",
              "value": {
                "isEncrypted": false,
                "value": "123"
              }
            }
          ],
          "provider": "FTP",
          "providerSettings": [
            {
              "name": "server",
              "value": {
                "isEncrypted": false,
                "value": "ftp.myserver.com"
              }
            },
            {
              "name": "username",
              "value": {
                "isEncrypted": false,
                "value": "ftp-user"
              }
            },
            {
              "name": "password",
              "value": {
                "isEncrypted": true,
                "value": "password"
              }
            }
          ]
        }
      }
    },
    "DeploymentJob": {
      "allOf": [
        {
          "$ref": "#/definitions/Job"
        },
        {
          "properties": {
            "messagesCount": {
              "minimum": 0,
              "type": "integer"
            }
          },
          "type": "object"
        }
      ]
    },
    "DeploymentLookupModel": {
      "properties": {
        "build": {
          "$ref": "#/definitions/BuildLookupModel"
        },
        "deploymentId": {
          "minimum": 0,
          "type": "integer"
        },
        "finished": {
          "format": "date-time",
          "type": "string"
        },
        "started": {
          "format": "date-time",
          "type": "string"
        },
        "status": {
          "$ref": "#/definitions/Status"
        }
      },
      "type": "object"
    },
    "DeploymentNotificationFrequency": {
      "enum": [
        "all",
        "none"
      ],
      "type": "string"
    },
    "DeploymentProjectSelectionMode": {
      "description": "Project selection mode for deployment environments.",
      "enum": [
        0,
        1,
        2
      ],
      "type": "integer",
      "x-enum-descriptions": [
        "Any project can be deployed to the environment.",
        "Only selected projects can be deployed to the environment.",
        "All projects except the selected projects can be deployed to the environment."
      ],
      "x-enum-varnames": [
        "Any",
        "Only Selected",
        "All Except Selected"
      ]
    },
    "DeploymentProvider": {
      "properties": {
        "onBranch": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "onEnvironmentVariables": {
          "items": {
            "$ref": "#/definitions/StoredNameValue"
          },
          "type": "array"
        },
        "provider": {
          "$ref": "#/definitions/DeploymentProviderType"
        },
        "providerSettings": {
          "items": {
            "$ref": "#/definitions/StoredNameValue"
          },
          "type": "array"
        }
      },
      "required": [
        "provider"
      ],
      "type": "object"
    },
    "DeploymentProviderType": {
      "enum": [
        "Agent",
        "AzureBlob",
        "AzureCS",
        "AzureWebJob",
        "BinTray",
        "FTP",
        "GitHub",
        "NuGet",
        "S3",
        "SqlDatabase",
        "WebDeploy",
        "Webhook"
      ],
      "type": "string"
    },
    "DeploymentStartRequest": {
      "example": {
        "accountName": "your-account-name",
        "buildJobId": "sfke9239ydzf",
        "buildVersion": "1.2.0",
        "environmentName": "environment-to-deploy",
        "environmentVariables": {
          "another_var": "another value",
          "server": "myserver.com"
        },
        "projectSlug": "project-slug-from-url"
      },
      "properties": {
        "accountName": {
          "minLength": 1,
          "type": "string"
        },
        "buildJobId": {
          "description": "Optional job id with artifacts if build contains multiple jobs.",
          "type": "string"
        },
        "buildVersion": {
          "description": "Build to deploy",
          "minLength": 1,
          "type": "string"
        },
        "environmentName": {
          "minLength": 1,
          "type": "string"
        },
        "environmentVariables": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "projectSlug": {
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "environmentName",
        "accountName",
        "projectSlug",
        "buildVersion"
      ],
      "type": "object"
    },
    "EncryptRequest": {
      "example": {
        "plainValue": "encryptme"
      },
      "properties": {
        "plainValue": {
          "default": "",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EnvironmentDeploymentModel": {
      "allOf": [
        {
          "$ref": "#/definitions/DeploymentLookupModel"
        },
        {
          "properties": {
            "project": {
              "$ref": "#/definitions/ProjectLookupModel"
            }
          },
          "type": "object"
        }
      ]
    },
    "Error": {
      "description": "Schema of object returned in 4XX and 5XX responses.\nNote:  The name is unfortunate, since it conflicts with `java.lang.Error`\nand other generic error classes.  It is the name used in XML responses,\nso it is used for consistency and possible future XML deserialization\nsupport.\n",
      "properties": {
        "message": {
          "type": "string"
        },
        "modelState": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "When present, this property is a map of property names in the format\n`request.<capitalized name>` to an `Array` of validation error\nmessage strings for the property.\n",
          "type": "object"
        }
      },
      "required": [
        "message"
      ],
      "type": "object"
    },
    "FeatureFlags": {
      "enum": [
        "distv2"
      ],
      "type": "string"
    },
    "GroupName": {
      "enum": [
        "Account",
        "BuildEnvironment",
        "Deny",
        "Environments",
        "Projects",
        "Roles",
        "User",
        "Users"
      ],
      "type": "string"
    },
    "GroupPermissions": {
      "properties": {
        "name": {
          "$ref": "#/definitions/GroupName"
        },
        "permissions": {
          "items": {
            "$ref": "#/definitions/PermissionState"
          },
          "type": "array"
        }
      },
      "required": [
        "name",
        "permissions"
      ],
      "type": "object"
    },
    "HostEntry": {
      "properties": {
        "host": {
          "minLength": 1,
          "type": "string"
        },
        "ip": {
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "host",
        "ip"
      ],
      "type": "object"
    },
    "HttpMethodRestricted": {
      "enum": [
        "GET",
        "POST"
      ],
      "type": "string"
    },
    "InviteUserRequest": {
      "properties": {
        "email": {
          "format": "email",
          "type": "string"
        },
        "roleId": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "email",
        "roleId"
      ],
      "type": "object"
    },
    "Job": {
      "allOf": [
        {
          "$ref": "#/definitions/Timestamped"
        },
        {
          "properties": {
            "finished": {
              "format": "date-time",
              "type": "string"
            },
            "jobId": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "started": {
              "format": "date-time",
              "type": "string"
            },
            "status": {
              "$ref": "#/definitions/Status"
            }
          },
          "type": "object"
        }
      ]
    },
    "JoinAccountRequest": {
      "properties": {
        "invitationId": {
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "invitationId"
      ],
      "type": "object"
    },
    "MSBuildVerbosity": {
      "enum": [
        "quiet",
        "minimal",
        "normal",
        "detailed"
      ],
      "type": "string"
    },
    "NotificationProviderSettings": {
      "properties": {
        "provider": {
          "$ref": "#/definitions/NotificationProviderType"
        },
        "settings": {
          "$ref": "#/definitions/NotificationSettings"
        }
      },
      "required": [
        "provider",
        "settings"
      ],
      "type": "object"
    },
    "NotificationProviderType": {
      "enum": [
        "Campfire",
        "Email",
        "GitHubPullRequest",
        "HipChat",
        "Slack",
        "Webhook",
        "VSOTeamRoom"
      ],
      "type": "string"
    },
    "NotificationSettings": {
      "description": "This type is the union of the settings types for each of the various\nnotification types supported by the API.  The properties correspond to\nthe following notification types:\n\n#### All Types\n- onBuildSuccess\n- onBuildFailure\n- onBuildStatusChanged\n\n#### Campfire\n- account\n- authToken\n- room\n- template\n\n#### Email\n- subjectTemplate\n- bodyTemplate\n- recipients\n- recipientsValue\n\n#### GitHubPullRequest\n- authToken\n- template\n\n#### HipChat\n- authToken\n- from\n- room\n- template\n- serverUrl\n\n#### Slack\n- incomingWebhookUrl\n- authToken\n- channel\n- template\n\n#### Webhook\n- method\n- url\n- headers\n- headersValue\n- addCustomRequestBody\n- customRequestBodyContentType\n- customRequestBody\n\n#### VSOTeamRoom\n- vsoAccount\n- username\n- password\n- room\n- template\n",
      "properties": {
        "$type": {
          "$ref": "#/definitions/NotificationSettingsType"
        },
        "account": {
          "type": "string"
        },
        "addCustomRequestBody": {
          "type": "boolean"
        },
        "authToken": {
          "$ref": "#/definitions/StoredValue"
        },
        "bodyTemplate": {
          "type": "string"
        },
        "channel": {
          "type": "string"
        },
        "customRequestBody": {
          "type": "string"
        },
        "customRequestBodyContentType": {
          "type": "string"
        },
        "from": {
          "type": "string"
        },
        "headers": {
          "items": {
            "$ref": "#/definitions/StoredNameValue"
          },
          "type": "array"
        },
        "headersValue": {
          "type": "string"
        },
        "incomingWebhookUrl": {
          "format": "uri",
          "type": "string"
        },
        "method": {
          "$ref": "#/definitions/HttpMethodRestricted"
        },
        "onBuildFailure": {
          "type": "boolean"
        },
        "onBuildStatusChanged": {
          "type": "boolean"
        },
        "onBuildSuccess": {
          "type": "boolean"
        },
        "password": {
          "$ref": "#/definitions/StoredValue"
        },
        "recipients": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "recipientsValue": {
          "type": "string"
        },
        "room": {
          "type": "string"
        },
        "serverUrl": {
          "format": "uri",
          "type": "string"
        },
        "subjectTemplate": {
          "type": "string"
        },
        "template": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "vsoAccount": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "NotificationSettingsType": {
      "enum": [
        "Appveyor.Models.CampfireNotificationSettings, Appveyor.Models",
        "Appveyor.Models.EmailNotificationSettings, Appveyor.Models",
        "Appveyor.Models.GitHubPullRequestNotificationSettings, Appveyor.Models",
        "Appveyor.Models.HipChatNotificationSettings, Appveyor.Models",
        "Appveyor.Models.SlackNotificationSettings, Appveyor.Models",
        "Appveyor.Models.WebhookNotificationSettings, Appveyor.Models",
        "Appveyor.Models.VSOTeamRoomNotificationSettings, Appveyor.Models"
      ],
      "type": "string"
    },
    "NuGetFeed": {
      "allOf": [
        {
          "$ref": "#/definitions/Timestamped"
        },
        {
          "properties": {
            "accountId": {
              "minimum": 0,
              "type": "integer"
            },
            "id": {
              "type": "string"
            },
            "isPrivateProject": {
              "type": "boolean"
            },
            "name": {
              "type": "string"
            },
            "nuGetFeedId": {
              "type": "integer"
            },
            "projectId": {
              "minimum": 0,
              "type": "integer"
            },
            "publishingEnabled": {
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ]
    },
    "OSServiceName": {
      "enum": [
        "iis",
        "mongodb",
        "msmq",
        "mssql2008r2sp2",
        "mssql2008r2sp2rs",
        "mssql2012sp1",
        "mssql2012sp1rs",
        "mssql2014",
        "mssql2014rs",
        "mssql2016",
        "mysql",
        "postgresql"
      ],
      "type": "string"
    },
    "OSType": {
      "enum": [
        "Ubuntu",
        "Windows"
      ],
      "type": "string"
    },
    "PermissionName": {
      "description": "Available permission names.  The names correspond to the following groups:\n#### AccountPermission\n- ManageApplicationAuthorizations\n- UpdateAccountDetails\n- UpdateBillingDetails\n#### BuildEnvironmentPermission\n- ConfigureBuildEnvironment\n#### DenyPermission\n- DenyAllProjectsEnvironments\n#### EnvironmentsPermission\n- DeployToEnvironment\n- ManageEnvironments\n- UpdateEnvironmentSettings\n#### ProjectsPermission\n- ManageProjects\n- RunProjectBuild\n- UpdateProjectSettings\n#### RolesPermission\n- AddRole\n- DeleteRole\n- UpdateRoleDetails\n#### UserPermission\n- ConfigureApiKeys\n#### UsersPermission\n- AddUser\n- DeleteUser\n- UpdateUserDetails\n",
      "enum": [
        "ManageApplicationAuthorizations",
        "UpdateAccountDetails",
        "UpdateBillingDetails",
        "ConfigureBuildEnvironment",
        "DenyAllProjectsEnvironments",
        "DeployToEnvironment",
        "ManageEnvironments",
        "UpdateEnvironmentSettings",
        "ManageProjects",
        "RunProjectBuild",
        "UpdateProjectSettings",
        "AddRole",
        "DeleteRole",
        "UpdateRoleDetails",
        "ConfigureApiKeys",
        "AddUser",
        "DeleteUser",
        "UpdateUserDetails"
      ],
      "type": "string"
    },
    "PermissionState": {
      "properties": {
        "allowed": {
          "description": "State of the named permission.  `true` to allow, `false` to deny,\nmissing to inherit.\n",
          "type": "boolean"
        },
        "description": {
          "type": "string"
        },
        "name": {
          "$ref": "#/definitions/PermissionName"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "PlanName": {
      "enum": [
        "free"
      ],
      "type": "string"
    },
    "PlanStatus": {
      "enum": [
        "active"
      ],
      "type": "string"
    },
    "PlatformName": {
      "enum": [
        "ARM",
        "Any CPU",
        "x64",
        "x86"
      ],
      "type": "string"
    },
    "Project": {
      "allOf": [
        {
          "$ref": "#/definitions/ProjectLookupModel"
        },
        {
          "$ref": "#/definitions/Timestamped"
        },
        {
          "properties": {
            "accountId": {
              "minimum": 0,
              "readOnly": true,
              "type": "integer"
            },
            "alwaysBuildClosedPullRequests": {
              "type": "boolean"
            },
            "builds": {
              "description": "Only non-empty for response from getProjects.",
              "items": {
                "$ref": "#/definitions/Build"
              },
              "readOnly": true,
              "type": "array"
            },
            "currentBuildId": {
              "minimum": 0,
              "type": "integer"
            },
            "disablePullRequestWebhooks": {
              "type": "boolean"
            },
            "disablePushWebhooks": {
              "type": "boolean"
            },
            "enableDeploymentInPullRequests": {
              "type": "boolean"
            },
            "enableSecureVariablesInPullRequests": {
              "type": "boolean"
            },
            "enableSecureVariablesInPullRequestsFromSameRepo": {
              "type": "boolean"
            },
            "isGitHubApp": {
              "type": "boolean"
            },
            "isPrivate": {
              "type": "boolean"
            },
            "nuGetFeed": {
              "$ref": "#/definitions/NuGetFeed",
              "description": "Not present in response from addProject."
            },
            "repositoryBranch": {
              "description": "Not present in response from addProject.",
              "type": "string"
            },
            "repositoryName": {
              "type": "string"
            },
            "repositoryScm": {
              "$ref": "#/definitions/RepositoryScm"
            },
            "repositoryType": {
              "$ref": "#/definitions/RepositoryProvider"
            },
            "rollingBuilds": {
              "type": "boolean"
            },
            "rollingBuildsDoNotCancelRunningBuilds": {
              "type": "boolean"
            },
            "rollingBuildsOnlyForPullRequests": {
              "type": "boolean"
            },
            "saveBuildCacheInPullRequests": {
              "type": "boolean"
            },
            "securityDescriptor": {
              "$ref": "#/definitions/SecurityDescriptor",
              "description": "Not present in response from addProject. Not always present in response from getProjects (only after updateProject or startBuild?)."
            },
            "skipBranchesWithoutAppveyorYml": {
              "type": "boolean"
            },
            "tags": {
              "description": "Comma-separated list of project tags for dynamic grouping.\nAppears that any input is accepted.  The returned value only\ncontains case-preserving but insensitive unique values where\nspaces around \",\" are removed but otherwise preserved.  Empty\nvalues and items are allowed.",
              "type": "string"
            }
          },
          "required": [
            "repositoryName"
          ],
          "type": "object"
        }
      ]
    },
    "ProjectAddition": {
      "description": "`repositoryAuthentication` is only used for git, mercurial, subversion `repositoryProvider`.",
      "example": {
        "repositoryName": "FeodorFitsner/demo-app",
        "repositoryProvider": "gitHub"
      },
      "properties": {
        "repositoryAuthentication": {
          "$ref": "#/definitions/RepositoryAuthenticationType"
        },
        "repositoryName": {
          "description": "URL when repositoryProvider is git, mercurial, subversion username/project when repositoryProvider is gitHub",
          "minLength": 1,
          "type": "string"
        },
        "repositoryPassword": {
          "description": "Required if repositoryAuthentication is credentials",
          "format": "password",
          "type": "string"
        },
        "repositoryProvider": {
          "$ref": "#/definitions/RepositoryProvider"
        },
        "repositoryUsername": {
          "description": "Required if repositoryAuthentication is credentials",
          "type": "string"
        }
      },
      "required": [
        "repositoryProvider",
        "repositoryName"
      ],
      "type": "object"
    },
    "ProjectBranchesMode": {
      "enum": [
        "exclude",
        "include"
      ],
      "type": "string"
    },
    "ProjectBuildNumberUpdate": {
      "example": {
        "nextBuildNumber": 35
      },
      "properties": {
        "nextBuildNumber": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "nextBuildNumber"
      ],
      "type": "object"
    },
    "ProjectBuildResults": {
      "properties": {
        "build": {
          "$ref": "#/definitions/Build"
        },
        "project": {
          "$ref": "#/definitions/Project"
        }
      },
      "type": "object"
    },
    "ProjectConfiguration": {
      "properties": {
        "afterBuildScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "afterDeployScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "afterTestScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "artifacts": {
          "items": {
            "$ref": "#/definitions/Artifact"
          },
          "type": "array"
        },
        "assemblyFileVersionFormat": {
          "type": "string"
        },
        "assemblyInfoFile": {
          "type": "string"
        },
        "assemblyInformationalVersionFormat": {
          "type": "string"
        },
        "assemblyVersionFormat": {
          "type": "string"
        },
        "beforeBuildScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "beforeDeployScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "beforePackageScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "beforeTestScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "branchesMode": {
          "$ref": "#/definitions/ProjectBranchesMode"
        },
        "buildCloud": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "buildMode": {
          "$ref": "#/definitions/BuildMode"
        },
        "buildScripts": {
          "description": "Only set/used when `buildMode` is `script`.",
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "cacheEntries": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "cloneDepth": {
          "minimum": 1,
          "type": "integer"
        },
        "cloneFolder": {
          "type": "string"
        },
        "cloneScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "configuration": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "configureNuGetAccountSource": {
          "type": "boolean"
        },
        "configureNuGetProjectSource": {
          "type": "boolean"
        },
        "deployMode": {
          "$ref": "#/definitions/DeployMode"
        },
        "deployScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "deployments": {
          "items": {
            "$ref": "#/definitions/DeploymentProvider"
          },
          "type": "array"
        },
        "disableNuGetPublishForOctopusPackages": {
          "type": "boolean"
        },
        "disableNuGetPublishOnPullRequests": {
          "type": "boolean"
        },
        "doNotIncrementBuildNumberOnPullRequests": {
          "type": "boolean"
        },
        "dotnetCsprojAssemblyVersionFormat": {
          "type": "string"
        },
        "dotnetCsprojFile": {
          "type": "string"
        },
        "dotnetCsprojFileVersionFormat": {
          "type": "string"
        },
        "dotnetCsprojInformationalVersionFormat": {
          "type": "string"
        },
        "dotnetCsprojPackageVersionFormat": {
          "type": "string"
        },
        "dotnetCsprojVersionFormat": {
          "type": "string"
        },
        "environmentVariables": {
          "items": {
            "$ref": "#/definitions/StoredNameValue"
          },
          "type": "array"
        },
        "environmentVariablesMatrix": {
          "items": {
            "$ref": "#/definitions/StoredNameValueMatrix"
          },
          "type": "array"
        },
        "excludeBranches": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "forceHttpsClone": {
          "type": "boolean"
        },
        "hostsEntries": {
          "items": {
            "$ref": "#/definitions/HostEntry"
          },
          "type": "array"
        },
        "hotFixScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "includeBranches": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "includeNuGetReferences": {
          "type": "boolean"
        },
        "initScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "installScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "matrixAllowFailures": {
          "description": "Although the names and values are not enforced, the combinations which are meaningful are documented at https://www.appveyor.com/docs/build-configuration/#allow-failing-jobs",
          "items": {
            "$ref": "#/definitions/StoredNameValueMatrix"
          },
          "type": "array"
        },
        "matrixExcept": {
          "items": {
            "$ref": "#/definitions/StoredNameValueMatrix"
          },
          "type": "array"
        },
        "matrixExclude": {
          "items": {
            "$ref": "#/definitions/StoredNameValueMatrix"
          },
          "type": "array"
        },
        "matrixFastFinish": {
          "type": "boolean"
        },
        "matrixOnly": {
          "items": {
            "$ref": "#/definitions/StoredNameValueMatrix"
          },
          "type": "array"
        },
        "maxJobs": {
          "minimum": 1,
          "type": "integer"
        },
        "msBuildInParallel": {
          "type": "boolean"
        },
        "msBuildProjectFileName": {
          "type": "string"
        },
        "msBuildVerbosity": {
          "$ref": "#/definitions/MSBuildVerbosity"
        },
        "notifications": {
          "items": {
            "$ref": "#/definitions/NotificationProviderSettings"
          },
          "type": "array"
        },
        "onBuildErrorScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "onBuildFinishScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "onBuildSuccessScripts": {
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "onlyCommitsFiles": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "operatingSystem": {
          "items": {
            "properties": {
              "value": {
                "$ref": "#/definitions/BuildWorkerImageName"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          },
          "title": "Build worker image",
          "type": "array"
        },
        "packageAspNetCoreProjects": {
          "type": "boolean"
        },
        "packageAzureCloudServiceProjects": {
          "type": "boolean"
        },
        "packageDotnetConsoleProjects": {
          "type": "boolean"
        },
        "packageNuGetProjects": {
          "type": "boolean"
        },
        "packageNuGetSymbols": {
          "type": "boolean"
        },
        "packageWebApplicationProjects": {
          "type": "boolean"
        },
        "packageWebApplicationProjectsBeanstalk": {
          "type": "boolean"
        },
        "packageWebApplicationProjectsOctopus": {
          "type": "boolean"
        },
        "packageWebApplicationProjectsXCopy": {
          "type": "boolean"
        },
        "patchAssemblyInfo": {
          "type": "boolean"
        },
        "patchDotnetCsproj": {
          "type": "boolean"
        },
        "platform": {
          "items": {
            "properties": {
              "value": {
                "$ref": "#/definitions/PlatformName"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "services": {
          "items": {
            "properties": {
              "value": {
                "$ref": "#/definitions/OSServiceName"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          },
          "title": "OS services to start during the build process",
          "type": "array"
        },
        "shallowClone": {
          "type": "boolean"
        },
        "skipBranchWithPullRequests": {
          "type": "boolean"
        },
        "skipCommitsFiles": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "skipNonTags": {
          "type": "boolean"
        },
        "skipTags": {
          "type": "boolean"
        },
        "stacks": {
          "items": {
            "$ref": "#/definitions/UnknownType"
          },
          "maxItems": 0,
          "type": "array"
        },
        "testAssemblies": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "testCategories": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "testCategoriesMatrix": {
          "items": {
            "properties": {
              "categories": {
                "items": {
                  "$ref": "#/definitions/StringValueObject"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "testCategoriesMode": {
          "enum": [
            "exclude",
            "include"
          ],
          "type": "string"
        },
        "testMode": {
          "$ref": "#/definitions/TestMode"
        },
        "testScripts": {
          "description": "Only set/used when `testMode` is `script`.",
          "items": {
            "$ref": "#/definitions/Script"
          },
          "type": "array"
        },
        "xamarinRegisterAndroidProduct": {
          "type": "boolean"
        },
        "xamarinRegisterIosProduct": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "ProjectDeployment": {
      "properties": {
        "deployment": {
          "$ref": "#/definitions/Deployment"
        },
        "project": {
          "$ref": "#/definitions/Project"
        }
      },
      "required": [
        "project",
        "deployment"
      ],
      "type": "object"
    },
    "ProjectDeploymentModel": {
      "allOf": [
        {
          "$ref": "#/definitions/DeploymentLookupModel"
        },
        {
          "properties": {
            "environment": {
              "$ref": "#/definitions/DeploymentEnvironmentLookupModel"
            }
          },
          "type": "object"
        }
      ]
    },
    "ProjectDeploymentsResults": {
      "properties": {
        "deployments": {
          "items": {
            "$ref": "#/definitions/ProjectDeploymentModel"
          },
          "type": "array"
        },
        "project": {
          "$ref": "#/definitions/Project"
        }
      },
      "type": "object"
    },
    "ProjectHistory": {
      "properties": {
        "builds": {
          "items": {
            "$ref": "#/definitions/Build"
          },
          "type": "array"
        },
        "project": {
          "$ref": "#/definitions/Project"
        }
      },
      "type": "object"
    },
    "ProjectLookupModel": {
      "properties": {
        "accountName": {
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "projectId": {
          "minimum": 0,
          "type": "integer"
        },
        "slug": {
          "readOnly": true,
          "type": "string"
        }
      },
      "required": [
        "projectId"
      ],
      "type": "object"
    },
    "ProjectSettingsResults": {
      "example": {
        "build": {
          "project": "MySolution.sln",
          "publish_wap": true,
          "verbosity": "minimal"
        },
        "version": "1.0.{build}"
      },
      "properties": {
        "buildClouds": {
          "items": {
            "$ref": "#/definitions/StringValueObject"
          },
          "type": "array"
        },
        "defaultImageName": {
          "type": "string"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/BuildWorkerImage"
          },
          "type": "array"
        },
        "project": {
          "$ref": "#/definitions/Project"
        },
        "settings": {
          "$ref": "#/definitions/ProjectWithConfiguration"
        }
      },
      "type": "object"
    },
    "ProjectWithConfiguration": {
      "allOf": [
        {
          "$ref": "#/definitions/Project"
        },
        {
          "example": {
            "accountId": 2,
            "accountName": "appvyr",
            "builds": [],
            "configuration": {
              "afterBuildScripts": [],
              "afterDeployScripts": [],
              "afterTestScripts": [],
              "artifacts": [],
              "assemblyFileVersionFormat": "{version}",
              "assemblyInfoFile": "**\\AssemblyInfo.*",
              "assemblyInformationalVersionFormat": "{version}",
              "assemblyVersionFormat": "{version}",
              "beforeBuildScripts": [],
              "beforeDeployScripts": [],
              "beforeTestScripts": [],
              "buildMode": "msbuild",
              "buildScripts": [],
              "configuration": [],
              "deployMode": "providers",
              "deployScripts": [],
              "deployments": [],
              "environmentVariables": [],
              "environmentVariablesMatrix": [],
              "excludeBranches": [],
              "hostsEntries": [],
              "includeBranches": [],
              "initScripts": [],
              "installScripts": [],
              "matrixAllowFailures": [],
              "matrixFastFinish": false,
              "msBuildVerbosity": "minimal",
              "notifications": [],
              "onBuildErrorScripts": [],
              "onBuildSuccessScripts": [],
              "operatingSystem": [],
              "packageAzureCloudServiceProjects": false,
              "packageNuGetProjects": false,
              "packageWebApplicationProjects": false,
              "packageWebApplicationProjectsXCopy": false,
              "patchAssemblyInfo": false,
              "platform": [],
              "services": [],
              "shallowClone": false,
              "testAssemblies": [],
              "testCategories": [],
              "testCategoriesMatrix": [],
              "testMode": "auto",
              "testScripts": []
            },
            "created": "2014-08-16T00:52:15.6604826+00:00",
            "ignoreAppveyorYml": false,
            "isPrivate": false,
            "name": "demo-app",
            "nextBuildNumber": 1,
            "nuGetFeed": {
              "created": "2014-08-16T00:52:16.9886427+00:00",
              "id": "demo-app-tw5iw2wk3bl1",
              "name": "Project demo-app",
              "publishingEnabled": false
            },
            "projectId": 43682,
            "repositoryBranch": "master",
            "repositoryName": "FeodorFitsner/demo-app",
            "repositoryScm": "git",
            "repositoryType": "gitHub",
            "securityDescriptor": {
              "accessRightDefinitions": [
                {
                  "description": "View",
                  "name": "View"
                },
                {
                  "description": "Run build",
                  "name": "RunBuild"
                },
                {
                  "description": "Update settings",
                  "name": "Update"
                },
                {
                  "description": "Delete project",
                  "name": "Delete"
                }
              ],
              "roleAces": [
                {
                  "accessRights": [
                    {
                      "allowed": true,
                      "name": "View"
                    },
                    {
                      "allowed": true,
                      "name": "RunBuild"
                    },
                    {
                      "allowed": true,
                      "name": "Update"
                    },
                    {
                      "allowed": true,
                      "name": "Delete"
                    }
                  ],
                  "isAdmin": true,
                  "name": "Administrator",
                  "roleId": 4
                },
                {
                  "accessRights": [
                    {
                      "name": "View"
                    },
                    {
                      "name": "RunBuild"
                    },
                    {
                      "name": "Update"
                    },
                    {
                      "name": "Delete"
                    }
                  ],
                  "isAdmin": false,
                  "name": "User",
                  "roleId": 5
                }
              ]
            },
            "skipBranchesWithoutAppveyorYml": false,
            "slug": "demo-app-335",
            "versionFormat": "1.0.{build}",
            "webhookId": "rca5vb5qqu",
            "webhookUrl": "https://ci.appveyor.com/api/github/webhook?id=rca5vb5qqu"
          },
          "properties": {
            "buildPriority": {
              "minimum": 1,
              "type": "integer"
            },
            "configuration": {
              "$ref": "#/definitions/ProjectConfiguration"
            },
            "customYmlName": {
              "type": "string"
            },
            "ignoreAppveyorYml": {
              "type": "boolean"
            },
            "nextBuildNumber": {
              "type": "integer"
            },
            "repositoryAuthentication": {
              "$ref": "#/definitions/RepositoryAuthenticationType"
            },
            "repositoryUsername": {
              "type": "string"
            },
            "scheduleCrontabExpression": {
              "description": "Build schedule as an NCrontab Expression.  See https://github.com/atifaziz/NCrontab/wiki/Crontab-Expression",
              "externalDocs": {
                "url": "https://www.appveyor.com/docs/build-configuration/#scheduled-builds"
              },
              "type": "string"
            },
            "sshPublicKey": {
              "type": "string"
            },
            "statusBadgeId": {
              "type": "string"
            },
            "versionFormat": {
              "minLength": 7,
              "pattern": "[{]build[}]",
              "type": "string"
            },
            "webhookId": {
              "type": "string"
            },
            "webhookUrl": {
              "format": "uri",
              "type": "string"
            }
          },
          "required": [
            "versionFormat",
            "configuration"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "ReRunBuildRequest": {
      "example": {
        "buildId": 23864,
        "reRunIncomplete": true
      },
      "properties": {
        "buildId": {
          "minimum": 0,
          "type": "integer"
        },
        "reRunIncomplete": {
          "description": "Set `reRunIncomplete` set to `false` (default value) for full build re-run. Set it set to `true` to rerun only failed or cancelled jobs in multijob build.",
          "type": "boolean"
        }
      },
      "required": [
        "buildId"
      ],
      "type": "object"
    },
    "RepositoryAuthenticationType": {
      "enum": [
        "credentials",
        "ssh"
      ],
      "type": "string"
    },
    "RepositoryProvider": {
      "enum": [
        "bitBucket",
        "git",
        "gitHub",
        "gitLab",
        "kiln",
        "mercurial",
        "stash",
        "subversion",
        "vso"
      ],
      "type": "string"
    },
    "RepositoryScm": {
      "enum": [
        "git",
        "mercurial",
        "subversion"
      ],
      "type": "string"
    },
    "Role": {
      "allOf": [
        {
          "$ref": "#/definitions/Timestamped"
        },
        {
          "properties": {
            "isSystem": {
              "readOnly": true,
              "type": "boolean"
            },
            "name": {
              "minLength": 1,
              "type": "string"
            },
            "roleId": {
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "roleId",
            "name"
          ],
          "type": "object"
        }
      ],
      "description": "Technically `roleId` has default value 0 and is not required, but\nsince role 0 never exists it would always cause a 404 response.\n"
    },
    "RoleAce": {
      "properties": {
        "accessRights": {
          "items": {
            "$ref": "#/definitions/AceAccessRight"
          },
          "type": "array"
        },
        "isAdmin": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "roleId": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "RoleAddition": {
      "example": {
        "name": "My Role"
      },
      "properties": {
        "name": {
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "RoleWithGroups": {
      "allOf": [
        {
          "$ref": "#/definitions/Role"
        },
        {
          "properties": {
            "groups": {
              "items": {
                "$ref": "#/definitions/GroupPermissions"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "example": {
        "created": "2014-03-18T20:12:08.4749886+00:00",
        "groups": [
          {
            "name": "Deny",
            "permissions": [
              {
                "allowed": false,
                "description": "Deny all projects and environments, unless explicitly allowed",
                "name": "DenyAllProjectsEnvironments"
              }
            ]
          },
          {
            "name": "Projects",
            "permissions": [
              {
                "allowed": true,
                "description": "Create, delete projects, update project settings",
                "name": "ManageProjects"
              },
              {
                "allowed": true,
                "description": "Update project settings",
                "name": "UpdateProjectSettings"
              },
              {
                "allowed": false,
                "description": "Run project builds",
                "name": "RunProjectBuild"
              },
              {
                "allowed": false,
                "description": "Delete project builds",
                "name": "DeleteProjectBuilds"
              }
            ]
          },
          {
            "name": "Environments",
            "permissions": [
              {
                "allowed": false,
                "description": "Create, delete projects, update environment settings",
                "name": "ManageEnvironments"
              },
              {
                "allowed": false,
                "description": "Update environment settings",
                "name": "UpdateEnvironmentSettings"
              },
              {
                "allowed": false,
                "description": "Deploy to environment",
                "name": "DeployToEnvironment"
              }
            ]
          },
          {
            "name": "Account",
            "permissions": [
              {
                "allowed": false,
                "description": "Update account details",
                "name": "UpdateAccountDetails"
              }
            ]
          },
          {
            "name": "Users",
            "permissions": [
              {
                "allowed": false,
                "description": "Add new user",
                "name": "AddUser"
              },
              {
                "allowed": false,
                "description": "Update user details",
                "name": "UpdateUserDetails"
              },
              {
                "allowed": false,
                "description": "Delete user",
                "name": "DeleteUser"
              }
            ]
          },
          {
            "name": "Roles",
            "permissions": [
              {
                "allowed": false,
                "description": "Add new role",
                "name": "AddRole"
              },
              {
                "allowed": false,
                "description": "Update role details",
                "name": "UpdateRoleDetails"
              },
              {
                "allowed": false,
                "description": "Delete role",
                "name": "DeleteRole"
              }
            ]
          },
          {
            "name": "User",
            "permissions": [
              {
                "allowed": false,
                "description": "Generate API keys",
                "name": "ConfigureApiKeys"
              }
            ]
          }
        ],
        "isSystem": false,
        "name": "My Role",
        "roleId": 3040
      }
    },
    "Script": {
      "properties": {
        "language": {
          "$ref": "#/definitions/ScriptLanguage"
        },
        "script": {
          "type": "string"
        }
      },
      "required": [
        "script"
      ],
      "type": "object"
    },
    "ScriptLanguage": {
      "enum": [
        "cmd",
        "ps",
        "pwsh",
        "sh"
      ],
      "type": "string",
      "x-enum-descriptions": [
        "Command Prompt/Batch Script/cmd.exe",
        "PowerShell",
        "PowerShell Core",
        "POSIX shell"
      ]
    },
    "SecurityDescriptor": {
      "properties": {
        "accessRightDefinitions": {
          "items": {
            "$ref": "#/definitions/AceAccessRightDefinition"
          },
          "type": "array"
        },
        "roleAces": {
          "items": {
            "$ref": "#/definitions/RoleAce"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SessionModel": {
      "properties": {
        "accounts": {
          "items": {
            "$ref": "#/definitions/SessionUserAccountModel"
          },
          "type": "array"
        },
        "setupRequired": {
          "type": "boolean"
        },
        "twoFactorAuthRequired": {
          "type": "boolean"
        },
        "user": {
          "$ref": "#/definitions/SessionUserModel"
        }
      },
      "type": "object"
    },
    "SessionUserAccountModel": {
      "allOf": [
        {
          "$ref": "#/definitions/Timestamped"
        },
        {
          "properties": {
            "accountId": {
              "minimum": 0,
              "readOnly": true,
              "type": "integer"
            },
            "allowCustomBuildEnvironment": {
              "type": "boolean"
            },
            "blocked": {
              "type": "boolean"
            },
            "featureFlags": {
              "$ref": "#/definitions/FeatureFlags"
            },
            "gitHubPlan": {
              "type": "boolean"
            },
            "gitHubPlanOrg": {
              "type": "string"
            },
            "isCollaborator": {
              "readOnly": true,
              "type": "boolean"
            },
            "isEnterprisePlan": {
              "type": "boolean"
            },
            "isOwner": {
              "readOnly": true,
              "type": "boolean"
            },
            "manualPayments": {
              "type": "boolean"
            },
            "name": {
              "readOnly": true,
              "type": "string"
            },
            "permissions": {
              "items": {
                "$ref": "#/definitions/PermissionName"
              },
              "type": "array"
            },
            "planEnd": {
              "format": "date-time",
              "readOnly": true,
              "type": "string"
            },
            "planId": {
              "$ref": "#/definitions/PlanName"
            },
            "planStart": {
              "format": "date-time",
              "readOnly": true,
              "type": "string"
            },
            "planStatus": {
              "$ref": "#/definitions/PlanStatus"
            },
            "roleId": {
              "minimum": 0,
              "type": "integer"
            },
            "roleName": {
              "readOnly": true,
              "type": "string"
            },
            "timeZoneId": {
              "type": "string"
            },
            "unpaid": {
              "type": "boolean"
            },
            "unverified": {
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ]
    },
    "SessionUserModel": {
      "allOf": [
        {
          "$ref": "#/definitions/Timestamped"
        },
        {
          "properties": {
            "bitBucketUsername": {
              "type": "string"
            },
            "email": {
              "format": "email",
              "type": "string"
            },
            "fullName": {
              "type": "string"
            },
            "gitHubUsername": {
              "type": "string"
            },
            "gitLabUserId": {
              "type": "string"
            },
            "gravatarHash": {
              "type": "string"
            },
            "pageSize": {
              "minimum": 0,
              "readOnly": true,
              "type": "integer"
            },
            "twoFactorAuthEnabled": {
              "type": "boolean"
            },
            "userId": {
              "minimum": 0,
              "readOnly": true,
              "type": "integer"
            },
            "vsoUsername": {
              "type": "string"
            }
          },
          "required": [
            "userId",
            "email"
          ],
          "type": "object"
        }
      ]
    },
    "Status": {
      "enum": [
        "cancelled",
        "cancelling",
        "failed",
        "queued",
        "running",
        "starting",
        "success"
      ],
      "type": "string"
    },
    "StoredNameValue": {
      "properties": {
        "name": {
          "minLength": 1,
          "type": "string"
        },
        "value": {
          "$ref": "#/definitions/StoredValue"
        }
      },
      "required": [
        "name",
        "value"
      ],
      "type": "object"
    },
    "StoredNameValueMatrix": {
      "properties": {
        "variables": {
          "$ref": "#/definitions/StoredNameValue"
        }
      },
      "type": "object"
    },
    "StoredValue": {
      "properties": {
        "isEncrypted": {
          "type": "boolean"
        },
        "value": {
          "description": "Encrypted values can be created using the encryptValue operation.\n\nEmpty environment variables are represented by missing (null) value\nrather than an empty string.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StringValueObject": {
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestMode": {
      "enum": [
        "auto",
        "none",
        "script"
      ],
      "type": "string"
    },
    "Timestamped": {
      "properties": {
        "created": {
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "updated": {
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "UnknownType": {
      "description": "A schema for values which have an undocumented/unknown type.\n\nAlthough the type of such values could be left unspecified according to\nJSON Schema (and by extension OpenAPI 2.0), such unspecified types cause\ntool failures (e.g. swagger-codegen).  So this type can be used as a\nplaceholder to prevent errors and document the behavior.\n",
      "enum": [
        "unknown"
      ],
      "type": "string"
    },
    "UserAccount": {
      "allOf": [
        {
          "$ref": "#/definitions/Timestamped"
        },
        {
          "properties": {
            "accountId": {
              "minimum": 0,
              "readOnly": true,
              "type": "integer"
            },
            "accountName": {
              "readOnly": true,
              "type": "string"
            },
            "email": {
              "format": "email",
              "type": "string"
            },
            "fullName": {
              "type": "string"
            },
            "isCollaborator": {
              "readOnly": true,
              "type": "boolean"
            },
            "isOwner": {
              "readOnly": true,
              "type": "boolean"
            },
            "pageSize": {
              "minimum": 0,
              "readOnly": true,
              "type": "integer"
            },
            "password": {
              "format": "password",
              "minLength": 1,
              "type": "string"
            },
            "roleId": {
              "minimum": 0,
              "type": "integer"
            },
            "roleName": {
              "readOnly": true,
              "type": "string"
            },
            "twoFactorAuthEnabled": {
              "type": "boolean"
            },
            "userId": {
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "fullName",
            "email"
          ],
          "type": "object"
        }
      ],
      "example": {
        "email": "john@smith.com",
        "failedBuildNotification": "all",
        "fullName": "John Smith",
        "notifyWhenBuildStatusChangedOnly": true,
        "roleId": 4,
        "successfulBuildNotification": "all",
        "userId": 3019
      }
    },
    "UserAccountRolesResults": {
      "description": "The roles property contains all roles, not only the role for which the user is a member.",
      "properties": {
        "roles": {
          "items": {
            "$ref": "#/definitions/Role"
          },
          "type": "array"
        },
        "user": {
          "$ref": "#/definitions/UserAccount"
        }
      },
      "type": "object"
    },
    "UserAccountSettings": {
      "properties": {
        "failedBuildNotification": {
          "$ref": "#/definitions/BuildNotificationFrequency"
        },
        "failedDeploymentNotification": {
          "$ref": "#/definitions/DeploymentNotificationFrequency"
        },
        "notifyWhenBuildStatusChangedOnly": {
          "default": false,
          "description": "Note that this value is `true` on user creation, but behaves as\n`false` when not specified on update.\n",
          "type": "boolean"
        },
        "notifyWhenDeploymentStatusChangedOnly": {
          "default": false,
          "description": "Note that this value is `true` on user creation, but behaves as\n`false` when not specified on update.\n",
          "type": "boolean"
        },
        "successfulBuildNotification": {
          "$ref": "#/definitions/BuildNotificationFrequency"
        },
        "successfulDeploymentNotification": {
          "$ref": "#/definitions/DeploymentNotificationFrequency"
        }
      },
      "required": [
        "successfulBuildNotification",
        "failedBuildNotification",
        "successfulDeploymentNotification",
        "failedDeploymentNotification"
      ],
      "type": "object"
    },
    "UserInvitationModel": {
      "properties": {
        "accountId": {
          "readOnly": true,
          "type": "integer"
        },
        "accountName": {
          "readOnly": true,
          "type": "string"
        },
        "created": {
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "email": {
          "format": "email",
          "type": "string"
        },
        "roleId": {
          "minimum": 0,
          "type": "integer"
        },
        "roleName": {
          "readOnly": true,
          "type": "string"
        },
        "userInvitationId": {
          "minLength": 1,
          "readOnly": true,
          "type": "string"
        }
      },
      "required": [
        "userInvitationId",
        "email",
        "roleId",
        "accountId",
        "created"
      ],
      "type": "object"
    }
  }
}