---
updatedAt: 2025-06-09T23:49:13.000Z
agentTools:
  projectIndex: https://support.speedcurve.com/llms.txt
---

# Add a deploy

Triggers tests for the site

> 📘 API V2
>
> Our API V2 has improved flexibility and more options. You can now create deploys as part of the [snapshots](/reference/create-a-snapshot) endpoint.

Add a deployment and trigger an additional round of testing for one of the sites in your team. A note is also automatically added to your charts.

Depending on the number of URLs you have it can take a few min to complete a round of tests across your site so we don't recommend making this a dependency for deployments. Rather you should trigger a post deployment request to the API to trigger a round of testing once your release is live.

Common reasons of getting 403 HTTP error status when submitting a new deploy:

* a deploy is in progress - only one deploy at a time is allowed on a specific site\_id or url\_id. You must wait for it to complete before kicking off another deploy.
* checks per month quota exceeded for the team - please [increase checks quota](https://support.speedcurve.com/docs/manage-checks) for your team.
* some tests failed to be added - try later or contact the support team.

## Error codes

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        HTTP code
      </th>

      <th>
        Error
      </th>

      <th>
        Reason
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        400
      </td>

      <td>
        `No site_id or url_id provided for deploy.`
      </td>

      <td>
        Please provide `site_id` or `url_id` with your request.
      </td>
    </tr>

    <tr>
      <td>
        403
      </td>

      <td>
        `Unable to add a deploy. Checks per month budget exceeded for this Team. Please contact your Admin to increase the budget for your Team or chat to SpeedCurve support about upgrading your account with more checks.`
      </td>

      <td>
        Not enough checks to add a deploy. Increase your [checks quota](https://support.speedcurve.com/docs/manage-checks) or contact support.
      </td>
    </tr>

    <tr>
      <td>
        403
      </td>

      <td>
        `Deploy testing is currently in progress. Only one deploy at a time is allowed on a specific site or URL.`
      </td>

      <td>
        Deploy is in progress. Please try later.
      </td>
    </tr>

    <tr>
      <td>
        403
      </td>

      <td>
        `There are no tests to request for deployment. Do you have any sites in your team?`
      </td>

      <td>
        No URLs found to test, please make sure you have at least one active site.
      </td>
    </tr>

    <tr>
      <td>
        404
      </td>

      <td>
        `Team not found.`  

        `URL not found. You can check the url_id using the /urls endpoint.`  

        `No site found. You can check the site_id using the /sites endpoint.`
      </td>

      <td>
        Provided team ID, site ID or URL ID is not found.
      </td>
    </tr>

    <tr>
      <td>
        500
      </td>

      <td>
        `Failed to add a note for this deploy.`
      </td>

      <td>
        Server error, please contact support.
      </td>
    </tr>

    <tr>
      <td>
        503
      </td>

      <td>
        `The deploy API is not available at the moment. Please try again later.`
      </td>

      <td>
        Server maintenance is in progress, please try later.
      </td>
    </tr>
  </tbody>
</Table>

Please also see the list of [generic API error codes](https://support.speedcurve.com/reference/troubleshooting-api#error-codes).

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "speedcurve-api",
    "version": "2.1.0"
  },
  "servers": [
    {
      "url": "https://api.speedcurve.com/v1"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/deploys": {
      "post": {
        "summary": "Add a deploy",
        "description": "Triggers tests for the site",
        "operationId": "add-a-deploy",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "site_id"
                ],
                "properties": {
                  "site_id": {
                    "type": "integer",
                    "description": "The ID of the site you'd like to trigger a round of testing on. Not required if a url_id is specified.",
                    "format": "int32"
                  },
                  "url_id": {
                    "type": "integer",
                    "description": "The ID of the URL within the site you'd like to trigger a round of testing on.",
                    "format": "int32"
                  },
                  "note": {
                    "type": "string",
                    "description": "Short URL encoded note to display globally across all charts for the main site. (Max: 255 characters)."
                  },
                  "detail": {
                    "type": "string",
                    "description": "URL encoded note detail to display if people want more context."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"status\": \"success\",\n  \"deploy_id\": 2643141,\n  \"note_id\": 2643141,\n  \"site_id\": 299,\n  \"timestamp\": 1632718449,\n  \"message\": \"A deployment has been added and testing is underway.\",\n  \"info\": {\n    \"tests-added\": [\n      {\n        \"test\": \"210927_QA_0018a0533831f93deca0c6c74820c5a9\",\n        \"browser\": \"Apple iPad\",\n        \"region\": {\n          \"value\": \"ap-northeast-2\"\n        }\n      },\n      {\n        \"test\": \"210927_SV_ce76b159a9473ddf266137046beb2d6d\",\n        \"browser\": \"Apple iPhone 7\",\n        \"region\": {\n          \"value\": \"ap-northeast-2\"\n        }\n      }\n    ],\n    \"tests-requested\": 2\n  },\n  \"tests-requested\": 2\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    },
                    "deploy_id": {
                      "type": "integer",
                      "example": 2643141,
                      "default": 0
                    },
                    "note_id": {
                      "type": "integer",
                      "example": 2643141,
                      "default": 0
                    },
                    "site_id": {
                      "type": "integer",
                      "example": 299,
                      "default": 0
                    },
                    "timestamp": {
                      "type": "integer",
                      "example": 1632718449,
                      "default": 0
                    },
                    "message": {
                      "type": "string",
                      "example": "A deployment has been added and testing is underway."
                    },
                    "info": {
                      "type": "object",
                      "properties": {
                        "tests-added": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "test": {
                                "type": "string",
                                "example": "210927_QA_0018a0533831f93deca0c6c74820c5a9"
                              },
                              "browser": {
                                "type": "string",
                                "example": "Apple iPad"
                              },
                              "region": {
                                "type": "object",
                                "properties": {
                                  "value": {
                                    "type": "string",
                                    "example": "ap-northeast-2"
                                  }
                                }
                              }
                            }
                          }
                        },
                        "tests-requested": {
                          "type": "integer",
                          "example": 2,
                          "default": 0
                        }
                      }
                    },
                    "tests-requested": {
                      "type": "integer",
                      "example": 2,
                      "default": 0
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "403",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"status\": \"error\",\n  \"message\": \"Deploy testing is currently in progress. Only one deploy at a time is allowed on a specific site or URL.\",\n  \"deploy_id\": 2643141\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string",
                      "example": "Deploy testing is currently in progress. Only one deploy at a time is allowed on a specific site or URL."
                    },
                    "deploy_id": {
                      "type": "integer",
                      "example": 2643141,
                      "default": 0
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```