curl --request POST \
--url https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/installations \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"groupRef": "group-123",
"connectionId": "a1c4e7b2-8f3d-4a6e-9c2b-5d8f1e4a7b3c",
"config": {
"content": {
"provider": "salesforce",
"write": {
"objects": {
"contacts": {
"objectName": "contacts"
}
}
}
}
}
}
'{
"id": "<string>",
"projectId": "project-456",
"integrationId": "<string>",
"healthStatus": "healthy",
"connection": {
"id": "connection-123",
"projectId": "project-456",
"provider": "salesforce",
"group": {
"groupRef": "group-123",
"groupName": "Super Customer",
"projectId": "project-456",
"createTime": "2023-07-13T21:34:44.816354Z",
"updateTime": "2023-07-13T21:34:44.816354Z"
},
"consumer": {
"consumerRef": "consumer-123",
"consumerName": "Super Customer",
"projectId": "project-456",
"createTime": "2023-07-13T21:34:44.816354Z",
"updateTime": "2023-07-13T21:34:44.816354Z"
},
"createTime": "2023-07-13T21:34:44.816354Z",
"authScheme": "oauth2/authorizationCode",
"status": "working",
"providerApp": {
"id": "provider-app-123",
"projectId": "project-456",
"provider": "salesforce",
"clientId": "client-id-123",
"createTime": "2023-11-07T05:31:56Z",
"externalRef": "external-id-123",
"scopes": [
[
"oauth",
"offline",
"crm.read"
]
],
"metadata": {
"authQueryParams": {
"optional_scope": [
"automation.sequences.read"
]
},
"providerParams": {
"packageInstallURL": "https://login.salesforce.com/packaging/installPackage.apexp?p0=04t123456789",
"gcpProjectId": "my-gcp-project",
"gcpPubSubTopicName": "my-topic"
}
},
"updateTime": "2023-11-07T05:31:56Z"
},
"providerWorkspaceRef": "provider-workspace-123",
"providerConsumerRef": "provider-consumer-123",
"updateTime": "2023-07-13T21:34:44.816354Z",
"oauth2AuthorizationCode": {
"accessToken": {
"token": "<string>",
"issuedAt": "2024-04-22T18:55:28.456076Z",
"expiresAt": "2024-10-22T18:55:28.456076Z"
},
"refreshToken": {
"token": "<string>",
"issuedAt": "2024-04-22T18:55:28.456076Z",
"expiresAt": "2024-10-22T18:55:28.456076Z"
},
"scopes": [
"<string>"
]
},
"apiKey": "api-key-123",
"providerMetadata": {}
},
"createTime": "2023-11-07T05:31:56Z",
"createdBy": "consumer:consumer-123",
"config": {
"id": "config-123",
"revisionId": "revision-123",
"createTime": "2023-11-07T05:31:56Z",
"createdBy": "builder:builder-123",
"content": {
"provider": "hubspot",
"read": {
"objects": {}
},
"write": {
"objects": {}
},
"proxy": {
"enabled": true
},
"subscribe": {
"objects": {}
}
}
},
"group": {
"groupRef": "group-123",
"groupName": "Super Customer",
"projectId": "project-456",
"createTime": "2023-07-13T21:34:44.816354Z",
"updateTime": "2023-07-13T21:34:44.816354Z"
},
"lastOperationStatus": "success",
"updateTime": "2023-11-07T05:31:56Z"
}{
"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"
}Create a new installation
Install an integration for a specific group. The group must already have a SaaS connection — either provide its connectionId, or omit it to use the group’s default. To create a connection, use the OAuth Connect endpoint or the prebuilt UI components.
curl --request POST \
--url https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations/{integrationId}/installations \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"groupRef": "group-123",
"connectionId": "a1c4e7b2-8f3d-4a6e-9c2b-5d8f1e4a7b3c",
"config": {
"content": {
"provider": "salesforce",
"write": {
"objects": {
"contacts": {
"objectName": "contacts"
}
}
}
}
}
}
'{
"id": "<string>",
"projectId": "project-456",
"integrationId": "<string>",
"healthStatus": "healthy",
"connection": {
"id": "connection-123",
"projectId": "project-456",
"provider": "salesforce",
"group": {
"groupRef": "group-123",
"groupName": "Super Customer",
"projectId": "project-456",
"createTime": "2023-07-13T21:34:44.816354Z",
"updateTime": "2023-07-13T21:34:44.816354Z"
},
"consumer": {
"consumerRef": "consumer-123",
"consumerName": "Super Customer",
"projectId": "project-456",
"createTime": "2023-07-13T21:34:44.816354Z",
"updateTime": "2023-07-13T21:34:44.816354Z"
},
"createTime": "2023-07-13T21:34:44.816354Z",
"authScheme": "oauth2/authorizationCode",
"status": "working",
"providerApp": {
"id": "provider-app-123",
"projectId": "project-456",
"provider": "salesforce",
"clientId": "client-id-123",
"createTime": "2023-11-07T05:31:56Z",
"externalRef": "external-id-123",
"scopes": [
[
"oauth",
"offline",
"crm.read"
]
],
"metadata": {
"authQueryParams": {
"optional_scope": [
"automation.sequences.read"
]
},
"providerParams": {
"packageInstallURL": "https://login.salesforce.com/packaging/installPackage.apexp?p0=04t123456789",
"gcpProjectId": "my-gcp-project",
"gcpPubSubTopicName": "my-topic"
}
},
"updateTime": "2023-11-07T05:31:56Z"
},
"providerWorkspaceRef": "provider-workspace-123",
"providerConsumerRef": "provider-consumer-123",
"updateTime": "2023-07-13T21:34:44.816354Z",
"oauth2AuthorizationCode": {
"accessToken": {
"token": "<string>",
"issuedAt": "2024-04-22T18:55:28.456076Z",
"expiresAt": "2024-10-22T18:55:28.456076Z"
},
"refreshToken": {
"token": "<string>",
"issuedAt": "2024-04-22T18:55:28.456076Z",
"expiresAt": "2024-10-22T18:55:28.456076Z"
},
"scopes": [
"<string>"
]
},
"apiKey": "api-key-123",
"providerMetadata": {}
},
"createTime": "2023-11-07T05:31:56Z",
"createdBy": "consumer:consumer-123",
"config": {
"id": "config-123",
"revisionId": "revision-123",
"createTime": "2023-11-07T05:31:56Z",
"createdBy": "builder:builder-123",
"content": {
"provider": "hubspot",
"read": {
"objects": {}
},
"write": {
"objects": {}
},
"proxy": {
"enabled": true
},
"subscribe": {
"objects": {}
}
}
},
"group": {
"groupRef": "group-123",
"groupName": "Super Customer",
"projectId": "project-456",
"createTime": "2023-07-13T21:34:44.816354Z",
"updateTime": "2023-07-13T21:34:44.816354Z"
},
"lastOperationStatus": "success",
"updateTime": "2023-11-07T05:31:56Z"
}{
"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
Path Parameters
The Ampersand project ID or project name.
The integration ID.
Body
The ID of the user group that has access to this installation.
"group-123"
The config of the installation.
Show child attributes
Show child attributes
The ID of the SaaS connection tied to this installation. If omitted the default connection for this group will be used.
"a1c4e7b2-8f3d-4a6e-9c2b-5d8f1e4a7b3c"
Response
Created
The installation ID.
The Ampersand project ID.
"project-456"
The integration ID.
The health status of the installation.
healthy, unhealthy "healthy"
Show child attributes
Show child attributes
The time the installation was created.
The person who did the installation, in the format of "consumer:{consumer-id}".
"consumer:consumer-123"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The status of the latest operation for this installation.
success, failure, in_progress "success"
The time the installation was last updated with a new config.
Was this page helpful?

