Create a new integration.
curl --request POST \
--url https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"name": "my-integration",
"provider": "<string>",
"latestRevision": {
"specVersion": "1.0.0",
"content": {
"name": "<string>",
"provider": "<string>",
"displayName": "<string>",
"module": "<string>",
"read": {
"objects": [
{
"objectName": "<string>",
"destination": "<string>",
"schedule": "<string>",
"mapToName": "people",
"mapToDisplayName": "People",
"requiredFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFieldsAuto": "all",
"delivery": {
"mode": "auto",
"pageSize": 275
},
"enabled": "always"
}
]
},
"write": {
"objects": [
{
"objectName": "<string>",
"inheritMapping": true,
"valueDefaults": {
"allowAnyFields": true
}
}
]
},
"proxy": {
"enabled": true,
"useModule": true
},
"subscribe": {
"objects": [
{
"objectName": "<string>",
"destination": "<string>",
"inheritFieldsAndMapping": true,
"createEvent": {
"enabled": "always"
},
"updateEvent": {
"enabled": "always",
"watchFieldsAuto": "all",
"requiredWatchFields": [
[
"name",
"domain"
]
]
},
"deleteEvent": {
"enabled": "always"
},
"associationChangeEvent": {
"enabled": "always",
"includeFullRecords": true
},
"otherEvents": [
[
"object.merged",
"object.restored"
]
]
}
]
}
}
}
}
'import requests
url = "https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations"
payload = {
"name": "my-integration",
"provider": "<string>",
"latestRevision": {
"specVersion": "1.0.0",
"content": {
"name": "<string>",
"provider": "<string>",
"displayName": "<string>",
"module": "<string>",
"read": { "objects": [
{
"objectName": "<string>",
"destination": "<string>",
"schedule": "<string>",
"mapToName": "people",
"mapToDisplayName": "People",
"requiredFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFieldsAuto": "all",
"delivery": {
"mode": "auto",
"pageSize": 275
},
"enabled": "always"
}
] },
"write": { "objects": [
{
"objectName": "<string>",
"inheritMapping": True,
"valueDefaults": { "allowAnyFields": True }
}
] },
"proxy": {
"enabled": True,
"useModule": True
},
"subscribe": { "objects": [
{
"objectName": "<string>",
"destination": "<string>",
"inheritFieldsAndMapping": True,
"createEvent": { "enabled": "always" },
"updateEvent": {
"enabled": "always",
"watchFieldsAuto": "all",
"requiredWatchFields": [["name", "domain"]]
},
"deleteEvent": { "enabled": "always" },
"associationChangeEvent": {
"enabled": "always",
"includeFullRecords": True
},
"otherEvents": [["object.merged", "object.restored"]]
}
] }
}
}
}
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({
name: 'my-integration',
provider: '<string>',
latestRevision: {
specVersion: '1.0.0',
content: {
name: '<string>',
provider: '<string>',
displayName: '<string>',
module: '<string>',
read: {
objects: [
{
objectName: '<string>',
destination: '<string>',
schedule: '<string>',
mapToName: 'people',
mapToDisplayName: 'People',
requiredFields: [
{fieldName: '<string>', mapToName: 'account_id', mapToDisplayName: 'Account ID'}
],
optionalFields: [
{fieldName: '<string>', mapToName: 'account_id', mapToDisplayName: 'Account ID'}
],
optionalFieldsAuto: 'all',
delivery: {mode: 'auto', pageSize: 275},
enabled: 'always'
}
]
},
write: {
objects: [
{
objectName: '<string>',
inheritMapping: true,
valueDefaults: {allowAnyFields: true}
}
]
},
proxy: {enabled: true, useModule: true},
subscribe: {
objects: [
{
objectName: '<string>',
destination: '<string>',
inheritFieldsAndMapping: true,
createEvent: {enabled: 'always'},
updateEvent: {
enabled: 'always',
watchFieldsAuto: 'all',
requiredWatchFields: [['name', 'domain']]
},
deleteEvent: {enabled: 'always'},
associationChangeEvent: {enabled: 'always', includeFullRecords: true},
otherEvents: [['object.merged', 'object.restored']]
}
]
}
}
}
})
};
fetch('https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations', 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",
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([
'name' => 'my-integration',
'provider' => '<string>',
'latestRevision' => [
'specVersion' => '1.0.0',
'content' => [
'name' => '<string>',
'provider' => '<string>',
'displayName' => '<string>',
'module' => '<string>',
'read' => [
'objects' => [
[
'objectName' => '<string>',
'destination' => '<string>',
'schedule' => '<string>',
'mapToName' => 'people',
'mapToDisplayName' => 'People',
'requiredFields' => [
[
'fieldName' => '<string>',
'mapToName' => 'account_id',
'mapToDisplayName' => 'Account ID'
]
],
'optionalFields' => [
[
'fieldName' => '<string>',
'mapToName' => 'account_id',
'mapToDisplayName' => 'Account ID'
]
],
'optionalFieldsAuto' => 'all',
'delivery' => [
'mode' => 'auto',
'pageSize' => 275
],
'enabled' => 'always'
]
]
],
'write' => [
'objects' => [
[
'objectName' => '<string>',
'inheritMapping' => true,
'valueDefaults' => [
'allowAnyFields' => true
]
]
]
],
'proxy' => [
'enabled' => true,
'useModule' => true
],
'subscribe' => [
'objects' => [
[
'objectName' => '<string>',
'destination' => '<string>',
'inheritFieldsAndMapping' => true,
'createEvent' => [
'enabled' => 'always'
],
'updateEvent' => [
'enabled' => 'always',
'watchFieldsAuto' => 'all',
'requiredWatchFields' => [
[
'name',
'domain'
]
]
],
'deleteEvent' => [
'enabled' => 'always'
],
'associationChangeEvent' => [
'enabled' => 'always',
'includeFullRecords' => true
],
'otherEvents' => [
[
'object.merged',
'object.restored'
]
]
]
]
]
]
]
]),
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"
payload := strings.NewReader("{\n \"name\": \"my-integration\",\n \"provider\": \"<string>\",\n \"latestRevision\": {\n \"specVersion\": \"1.0.0\",\n \"content\": {\n \"name\": \"<string>\",\n \"provider\": \"<string>\",\n \"displayName\": \"<string>\",\n \"module\": \"<string>\",\n \"read\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"schedule\": \"<string>\",\n \"mapToName\": \"people\",\n \"mapToDisplayName\": \"People\",\n \"requiredFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFieldsAuto\": \"all\",\n \"delivery\": {\n \"mode\": \"auto\",\n \"pageSize\": 275\n },\n \"enabled\": \"always\"\n }\n ]\n },\n \"write\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"inheritMapping\": true,\n \"valueDefaults\": {\n \"allowAnyFields\": true\n }\n }\n ]\n },\n \"proxy\": {\n \"enabled\": true,\n \"useModule\": true\n },\n \"subscribe\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"inheritFieldsAndMapping\": true,\n \"createEvent\": {\n \"enabled\": \"always\"\n },\n \"updateEvent\": {\n \"enabled\": \"always\",\n \"watchFieldsAuto\": \"all\",\n \"requiredWatchFields\": [\n [\n \"name\",\n \"domain\"\n ]\n ]\n },\n \"deleteEvent\": {\n \"enabled\": \"always\"\n },\n \"associationChangeEvent\": {\n \"enabled\": \"always\",\n \"includeFullRecords\": true\n },\n \"otherEvents\": [\n [\n \"object.merged\",\n \"object.restored\"\n ]\n ]\n }\n ]\n }\n }\n }\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")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"my-integration\",\n \"provider\": \"<string>\",\n \"latestRevision\": {\n \"specVersion\": \"1.0.0\",\n \"content\": {\n \"name\": \"<string>\",\n \"provider\": \"<string>\",\n \"displayName\": \"<string>\",\n \"module\": \"<string>\",\n \"read\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"schedule\": \"<string>\",\n \"mapToName\": \"people\",\n \"mapToDisplayName\": \"People\",\n \"requiredFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFieldsAuto\": \"all\",\n \"delivery\": {\n \"mode\": \"auto\",\n \"pageSize\": 275\n },\n \"enabled\": \"always\"\n }\n ]\n },\n \"write\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"inheritMapping\": true,\n \"valueDefaults\": {\n \"allowAnyFields\": true\n }\n }\n ]\n },\n \"proxy\": {\n \"enabled\": true,\n \"useModule\": true\n },\n \"subscribe\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"inheritFieldsAndMapping\": true,\n \"createEvent\": {\n \"enabled\": \"always\"\n },\n \"updateEvent\": {\n \"enabled\": \"always\",\n \"watchFieldsAuto\": \"all\",\n \"requiredWatchFields\": [\n [\n \"name\",\n \"domain\"\n ]\n ]\n },\n \"deleteEvent\": {\n \"enabled\": \"always\"\n },\n \"associationChangeEvent\": {\n \"enabled\": \"always\",\n \"includeFullRecords\": true\n },\n \"otherEvents\": [\n [\n \"object.merged\",\n \"object.restored\"\n ]\n ]\n }\n ]\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations")
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 \"name\": \"my-integration\",\n \"provider\": \"<string>\",\n \"latestRevision\": {\n \"specVersion\": \"1.0.0\",\n \"content\": {\n \"name\": \"<string>\",\n \"provider\": \"<string>\",\n \"displayName\": \"<string>\",\n \"module\": \"<string>\",\n \"read\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"schedule\": \"<string>\",\n \"mapToName\": \"people\",\n \"mapToDisplayName\": \"People\",\n \"requiredFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFieldsAuto\": \"all\",\n \"delivery\": {\n \"mode\": \"auto\",\n \"pageSize\": 275\n },\n \"enabled\": \"always\"\n }\n ]\n },\n \"write\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"inheritMapping\": true,\n \"valueDefaults\": {\n \"allowAnyFields\": true\n }\n }\n ]\n },\n \"proxy\": {\n \"enabled\": true,\n \"useModule\": true\n },\n \"subscribe\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"inheritFieldsAndMapping\": true,\n \"createEvent\": {\n \"enabled\": \"always\"\n },\n \"updateEvent\": {\n \"enabled\": \"always\",\n \"watchFieldsAuto\": \"all\",\n \"requiredWatchFields\": [\n [\n \"name\",\n \"domain\"\n ]\n ]\n },\n \"deleteEvent\": {\n \"enabled\": \"always\"\n },\n \"associationChangeEvent\": {\n \"enabled\": \"always\",\n \"includeFullRecords\": true\n },\n \"otherEvents\": [\n [\n \"object.merged\",\n \"object.restored\"\n ]\n ]\n }\n ]\n }\n }\n }\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"
}Integration
Create a new integration.
POST
/
projects
/
{projectIdOrName}
/
integrations
Create a new integration.
curl --request POST \
--url https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"name": "my-integration",
"provider": "<string>",
"latestRevision": {
"specVersion": "1.0.0",
"content": {
"name": "<string>",
"provider": "<string>",
"displayName": "<string>",
"module": "<string>",
"read": {
"objects": [
{
"objectName": "<string>",
"destination": "<string>",
"schedule": "<string>",
"mapToName": "people",
"mapToDisplayName": "People",
"requiredFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFieldsAuto": "all",
"delivery": {
"mode": "auto",
"pageSize": 275
},
"enabled": "always"
}
]
},
"write": {
"objects": [
{
"objectName": "<string>",
"inheritMapping": true,
"valueDefaults": {
"allowAnyFields": true
}
}
]
},
"proxy": {
"enabled": true,
"useModule": true
},
"subscribe": {
"objects": [
{
"objectName": "<string>",
"destination": "<string>",
"inheritFieldsAndMapping": true,
"createEvent": {
"enabled": "always"
},
"updateEvent": {
"enabled": "always",
"watchFieldsAuto": "all",
"requiredWatchFields": [
[
"name",
"domain"
]
]
},
"deleteEvent": {
"enabled": "always"
},
"associationChangeEvent": {
"enabled": "always",
"includeFullRecords": true
},
"otherEvents": [
[
"object.merged",
"object.restored"
]
]
}
]
}
}
}
}
'import requests
url = "https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations"
payload = {
"name": "my-integration",
"provider": "<string>",
"latestRevision": {
"specVersion": "1.0.0",
"content": {
"name": "<string>",
"provider": "<string>",
"displayName": "<string>",
"module": "<string>",
"read": { "objects": [
{
"objectName": "<string>",
"destination": "<string>",
"schedule": "<string>",
"mapToName": "people",
"mapToDisplayName": "People",
"requiredFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFieldsAuto": "all",
"delivery": {
"mode": "auto",
"pageSize": 275
},
"enabled": "always"
}
] },
"write": { "objects": [
{
"objectName": "<string>",
"inheritMapping": True,
"valueDefaults": { "allowAnyFields": True }
}
] },
"proxy": {
"enabled": True,
"useModule": True
},
"subscribe": { "objects": [
{
"objectName": "<string>",
"destination": "<string>",
"inheritFieldsAndMapping": True,
"createEvent": { "enabled": "always" },
"updateEvent": {
"enabled": "always",
"watchFieldsAuto": "all",
"requiredWatchFields": [["name", "domain"]]
},
"deleteEvent": { "enabled": "always" },
"associationChangeEvent": {
"enabled": "always",
"includeFullRecords": True
},
"otherEvents": [["object.merged", "object.restored"]]
}
] }
}
}
}
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({
name: 'my-integration',
provider: '<string>',
latestRevision: {
specVersion: '1.0.0',
content: {
name: '<string>',
provider: '<string>',
displayName: '<string>',
module: '<string>',
read: {
objects: [
{
objectName: '<string>',
destination: '<string>',
schedule: '<string>',
mapToName: 'people',
mapToDisplayName: 'People',
requiredFields: [
{fieldName: '<string>', mapToName: 'account_id', mapToDisplayName: 'Account ID'}
],
optionalFields: [
{fieldName: '<string>', mapToName: 'account_id', mapToDisplayName: 'Account ID'}
],
optionalFieldsAuto: 'all',
delivery: {mode: 'auto', pageSize: 275},
enabled: 'always'
}
]
},
write: {
objects: [
{
objectName: '<string>',
inheritMapping: true,
valueDefaults: {allowAnyFields: true}
}
]
},
proxy: {enabled: true, useModule: true},
subscribe: {
objects: [
{
objectName: '<string>',
destination: '<string>',
inheritFieldsAndMapping: true,
createEvent: {enabled: 'always'},
updateEvent: {
enabled: 'always',
watchFieldsAuto: 'all',
requiredWatchFields: [['name', 'domain']]
},
deleteEvent: {enabled: 'always'},
associationChangeEvent: {enabled: 'always', includeFullRecords: true},
otherEvents: [['object.merged', 'object.restored']]
}
]
}
}
}
})
};
fetch('https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations', 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",
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([
'name' => 'my-integration',
'provider' => '<string>',
'latestRevision' => [
'specVersion' => '1.0.0',
'content' => [
'name' => '<string>',
'provider' => '<string>',
'displayName' => '<string>',
'module' => '<string>',
'read' => [
'objects' => [
[
'objectName' => '<string>',
'destination' => '<string>',
'schedule' => '<string>',
'mapToName' => 'people',
'mapToDisplayName' => 'People',
'requiredFields' => [
[
'fieldName' => '<string>',
'mapToName' => 'account_id',
'mapToDisplayName' => 'Account ID'
]
],
'optionalFields' => [
[
'fieldName' => '<string>',
'mapToName' => 'account_id',
'mapToDisplayName' => 'Account ID'
]
],
'optionalFieldsAuto' => 'all',
'delivery' => [
'mode' => 'auto',
'pageSize' => 275
],
'enabled' => 'always'
]
]
],
'write' => [
'objects' => [
[
'objectName' => '<string>',
'inheritMapping' => true,
'valueDefaults' => [
'allowAnyFields' => true
]
]
]
],
'proxy' => [
'enabled' => true,
'useModule' => true
],
'subscribe' => [
'objects' => [
[
'objectName' => '<string>',
'destination' => '<string>',
'inheritFieldsAndMapping' => true,
'createEvent' => [
'enabled' => 'always'
],
'updateEvent' => [
'enabled' => 'always',
'watchFieldsAuto' => 'all',
'requiredWatchFields' => [
[
'name',
'domain'
]
]
],
'deleteEvent' => [
'enabled' => 'always'
],
'associationChangeEvent' => [
'enabled' => 'always',
'includeFullRecords' => true
],
'otherEvents' => [
[
'object.merged',
'object.restored'
]
]
]
]
]
]
]
]),
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"
payload := strings.NewReader("{\n \"name\": \"my-integration\",\n \"provider\": \"<string>\",\n \"latestRevision\": {\n \"specVersion\": \"1.0.0\",\n \"content\": {\n \"name\": \"<string>\",\n \"provider\": \"<string>\",\n \"displayName\": \"<string>\",\n \"module\": \"<string>\",\n \"read\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"schedule\": \"<string>\",\n \"mapToName\": \"people\",\n \"mapToDisplayName\": \"People\",\n \"requiredFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFieldsAuto\": \"all\",\n \"delivery\": {\n \"mode\": \"auto\",\n \"pageSize\": 275\n },\n \"enabled\": \"always\"\n }\n ]\n },\n \"write\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"inheritMapping\": true,\n \"valueDefaults\": {\n \"allowAnyFields\": true\n }\n }\n ]\n },\n \"proxy\": {\n \"enabled\": true,\n \"useModule\": true\n },\n \"subscribe\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"inheritFieldsAndMapping\": true,\n \"createEvent\": {\n \"enabled\": \"always\"\n },\n \"updateEvent\": {\n \"enabled\": \"always\",\n \"watchFieldsAuto\": \"all\",\n \"requiredWatchFields\": [\n [\n \"name\",\n \"domain\"\n ]\n ]\n },\n \"deleteEvent\": {\n \"enabled\": \"always\"\n },\n \"associationChangeEvent\": {\n \"enabled\": \"always\",\n \"includeFullRecords\": true\n },\n \"otherEvents\": [\n [\n \"object.merged\",\n \"object.restored\"\n ]\n ]\n }\n ]\n }\n }\n }\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")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"my-integration\",\n \"provider\": \"<string>\",\n \"latestRevision\": {\n \"specVersion\": \"1.0.0\",\n \"content\": {\n \"name\": \"<string>\",\n \"provider\": \"<string>\",\n \"displayName\": \"<string>\",\n \"module\": \"<string>\",\n \"read\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"schedule\": \"<string>\",\n \"mapToName\": \"people\",\n \"mapToDisplayName\": \"People\",\n \"requiredFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFieldsAuto\": \"all\",\n \"delivery\": {\n \"mode\": \"auto\",\n \"pageSize\": 275\n },\n \"enabled\": \"always\"\n }\n ]\n },\n \"write\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"inheritMapping\": true,\n \"valueDefaults\": {\n \"allowAnyFields\": true\n }\n }\n ]\n },\n \"proxy\": {\n \"enabled\": true,\n \"useModule\": true\n },\n \"subscribe\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"inheritFieldsAndMapping\": true,\n \"createEvent\": {\n \"enabled\": \"always\"\n },\n \"updateEvent\": {\n \"enabled\": \"always\",\n \"watchFieldsAuto\": \"all\",\n \"requiredWatchFields\": [\n [\n \"name\",\n \"domain\"\n ]\n ]\n },\n \"deleteEvent\": {\n \"enabled\": \"always\"\n },\n \"associationChangeEvent\": {\n \"enabled\": \"always\",\n \"includeFullRecords\": true\n },\n \"otherEvents\": [\n [\n \"object.merged\",\n \"object.restored\"\n ]\n ]\n }\n ]\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations")
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 \"name\": \"my-integration\",\n \"provider\": \"<string>\",\n \"latestRevision\": {\n \"specVersion\": \"1.0.0\",\n \"content\": {\n \"name\": \"<string>\",\n \"provider\": \"<string>\",\n \"displayName\": \"<string>\",\n \"module\": \"<string>\",\n \"read\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"schedule\": \"<string>\",\n \"mapToName\": \"people\",\n \"mapToDisplayName\": \"People\",\n \"requiredFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFields\": [\n {\n \"fieldName\": \"<string>\",\n \"mapToName\": \"account_id\",\n \"mapToDisplayName\": \"Account ID\"\n }\n ],\n \"optionalFieldsAuto\": \"all\",\n \"delivery\": {\n \"mode\": \"auto\",\n \"pageSize\": 275\n },\n \"enabled\": \"always\"\n }\n ]\n },\n \"write\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"inheritMapping\": true,\n \"valueDefaults\": {\n \"allowAnyFields\": true\n }\n }\n ]\n },\n \"proxy\": {\n \"enabled\": true,\n \"useModule\": true\n },\n \"subscribe\": {\n \"objects\": [\n {\n \"objectName\": \"<string>\",\n \"destination\": \"<string>\",\n \"inheritFieldsAndMapping\": true,\n \"createEvent\": {\n \"enabled\": \"always\"\n },\n \"updateEvent\": {\n \"enabled\": \"always\",\n \"watchFieldsAuto\": \"all\",\n \"requiredWatchFields\": [\n [\n \"name\",\n \"domain\"\n ]\n ]\n },\n \"deleteEvent\": {\n \"enabled\": \"always\"\n },\n \"associationChangeEvent\": {\n \"enabled\": \"always\",\n \"includeFullRecords\": true\n },\n \"otherEvents\": [\n [\n \"object.merged\",\n \"object.restored\"\n ]\n ]\n }\n ]\n }\n }\n }\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.
Body
application/json
Response
Was this page helpful?
⌘I

