Create a new revision.
curl --request POST \
--url https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"sourceZipUrl": "https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip",
"sourceYaml": "<string>"
}
'import requests
url = "https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions"
payload = {
"sourceZipUrl": "https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip",
"sourceYaml": "<string>"
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
sourceZipUrl: 'https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip',
sourceYaml: '<string>'
})
};
fetch('https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'sourceZipUrl' => 'https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip',
'sourceYaml' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions"
payload := strings.NewReader("{\n \"sourceZipUrl\": \"https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip\",\n \"sourceYaml\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"sourceZipUrl\": \"https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip\",\n \"sourceYaml\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sourceZipUrl\": \"https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip\",\n \"sourceYaml\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyThis response has no body data.{
"type": "about:blank",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Bad Request",
"status": 400,
"detail": "The input message is incorrect",
"instance": "123456-1234-1235-4567489798",
"issues": [
{
"type": "about:blank",
"detail": "exampleNumericProperty should be numeric",
"in": "path",
"name": "exampleNumericProperty",
"value": "abc"
},
{
"type": "about:blank",
"title": "Input isn't valid with respect to schema",
"detail": "examplePropertyWithPattern a2345678901 doesn't match pattern '^\\d{11}$'",
"in": "body",
"name": "items[0].examplePropertyWithPattern",
"value": "a2345678901"
}
]
}{
"type": "about:blank",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Bad Request",
"status": 400,
"detail": "The input message is incorrect",
"instance": "123456-1234-1235-4567489798",
"issues": [
{
"type": "about:blank",
"detail": "exampleNumericProperty should be numeric",
"in": "path",
"name": "exampleNumericProperty",
"value": "abc"
},
{
"type": "about:blank",
"title": "Input isn't valid with respect to schema",
"detail": "examplePropertyWithPattern a2345678901 doesn't match pattern '^\\d{11}$'",
"in": "body",
"name": "items[0].examplePropertyWithPattern",
"value": "a2345678901"
}
]
}{
"type": "urn:problem-type:exampleOrganization:exampleProblem",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Description of the type of problem that occurred",
"status": 400,
"detail": "Description of specific occurrence of the problem",
"instance": "urn:uuid:123e4567-e89b-12d3-a456-426614174000"
}Revision
Create a new revision.
We recommend using the CLI’s deploy command rather than this API endpoint directly, unless you have an advanced use case.
POST
/
projects
/
{projectIdOrName}
/
integrations
/
{integrationId}
/
revisions
Create a new revision.
curl --request POST \
--url https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"sourceZipUrl": "https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip",
"sourceYaml": "<string>"
}
'import requests
url = "https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions"
payload = {
"sourceZipUrl": "https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip",
"sourceYaml": "<string>"
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
sourceZipUrl: 'https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip',
sourceYaml: '<string>'
})
};
fetch('https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'sourceZipUrl' => 'https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip',
'sourceYaml' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions"
payload := strings.NewReader("{\n \"sourceZipUrl\": \"https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip\",\n \"sourceYaml\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"sourceZipUrl\": \"https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip\",\n \"sourceYaml\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/revisions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sourceZipUrl\": \"https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip\",\n \"sourceYaml\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyThis response has no body data.{
"type": "about:blank",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Bad Request",
"status": 400,
"detail": "The input message is incorrect",
"instance": "123456-1234-1235-4567489798",
"issues": [
{
"type": "about:blank",
"detail": "exampleNumericProperty should be numeric",
"in": "path",
"name": "exampleNumericProperty",
"value": "abc"
},
{
"type": "about:blank",
"title": "Input isn't valid with respect to schema",
"detail": "examplePropertyWithPattern a2345678901 doesn't match pattern '^\\d{11}$'",
"in": "body",
"name": "items[0].examplePropertyWithPattern",
"value": "a2345678901"
}
]
}{
"type": "about:blank",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Bad Request",
"status": 400,
"detail": "The input message is incorrect",
"instance": "123456-1234-1235-4567489798",
"issues": [
{
"type": "about:blank",
"detail": "exampleNumericProperty should be numeric",
"in": "path",
"name": "exampleNumericProperty",
"value": "abc"
},
{
"type": "about:blank",
"title": "Input isn't valid with respect to schema",
"detail": "examplePropertyWithPattern a2345678901 doesn't match pattern '^\\d{11}$'",
"in": "body",
"name": "items[0].examplePropertyWithPattern",
"value": "a2345678901"
}
]
}{
"type": "urn:problem-type:exampleOrganization:exampleProblem",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Description of the type of problem that occurred",
"status": 400,
"detail": "Description of specific occurrence of the problem",
"instance": "urn:uuid:123e4567-e89b-12d3-a456-426614174000"
}Authorizations
APIKeyHeaderBearer
Path Parameters
The Ampersand project ID or project name.
The integration ID.
Query Parameters
Defaults to false. This flag controls whether to perform destructive actions when deploying integrations, like pausing all read actions for an object that was removed in the latest revision.
Body
application/json
The source of the revision to create. One of sourceZipUrl or sourceYaml is required.
Response
Was this page helpful?
⌘I

