The Application Integration API lets you programmatically manage integration resources—including auth configurations, certificates, client settings, and Salesforce channels—and perform lifecycle actions such as creating, editing, publishing, executing, scheduling, and resolving suspensions for integrations, as well as handling token generation and region enumeration.
Lists all auth configs that match the filter. Restrict to auth configs belong to the current client only.
parent(path, required) — Required. The client, which owns this collection of AuthConfigs.
filter(query) — Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters.
pageSize(query, limit) — The size of entries in the response. If unspecified, defaults to 100.
pageToken(query) — The token returned in the previous response.
readMask(query) — The mask which specifies fields that need to be returned in the AuthConfig's response.
GET
/v1/callback:generateToken
Receives the auth code and auth config id to combine that with the client id and secret to retrieve access tokens from the token endpoint. Returns either a success or error message when it's done.
code(query) — The auth code for the given request
gcpProjectId(query) — The gcp project id of the request
product(query) — Which product sends the request
redirectUri(query) — Redirect uri of the auth code request
state(query) — The auth config id for the given request
GET
/v1/connectorPlatformRegions:enumerate
Enumerates the regions for which Connector Platform is provisioned.
POST
/v1/{integrationVersion}:takeoverEditLock
Clears the `locked_by` and `locked_at_timestamp`in the DRAFT version of this integration. It then performs the same action as the CreateDraftIntegrationVersion (i.e., copies the DRAFT version of the integration as a SNAPSHOT and then creates a new DRAFT version with the `locked_by` set to the `user_taking_over` and the `locked_at_timestamp` set to the current timestamp). Both the `locked_by` and `user_taking_over` are notified via email about the takeover. This RPC throws an exception if the integration is not in DRAFT status or if the `locked_by` and `locked_at_timestamp` fields are not set.The TakeoverEdit lock is treated the same as an edit of the integration, and hence shares ACLs with edit. Audit fields updated include last_modified_timestamp, last_modified_by.
integrationVersion(path, required) — Required. The version to take over edit lock. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}
DELETE
/v1/{name}
Deletes an sfdc channel.
name(path, required) — Required. The name that is associated with the SfdcChannel.
GET
/v1/{name}
Gets an sfdc channel. If the channel doesn't exist, Code.NOT_FOUND exception will be thrown.
name(path, required) — Required. The name that is associated with the SfdcChannel.
GET
/v1/{parent}/suspensions
* Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them.
pageSize(query, limit) — Maximum number of entries in the response.
pageToken(query) — Token to retrieve a specific page.
PATCH
/v1/{name}
Updates an sfdc channel. Updates the sfdc channel in spanner. Returns the sfdc channel.
name(path, required) — Resource name of the SFDC channel projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}.
updateMask(query) — Field mask specifying the fields in the above SfdcChannel that have been modified and need to be updated.
clientCertificate.passphrase(query) — 'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.
clientCertificate.sslCertificate(query) — The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----
POST
/v1/{name}:cancel
Cancellation of an execution
name(path, required) — Required. The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_id}/executions/{execution_id}
GET
/v1/{name}:download
Downloads an integration. Retrieves the `IntegrationVersion` for a given `integration_id` and returns the response as a string.
name(path, required) — Required. The version to download. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}
fileFormat(query) — File format for download request.
POST
/v1/{name}:execute
Executes integrations synchronously by passing the trigger id in the request body. The request is not returned until the requested executions are either fulfilled or experienced an error. If the integration name is not specified (passing `-`), all of the associated integration under the given trigger_id will be executed. Otherwise only the specified integration for the given `trigger_id` is executed. This is helpful for execution the integration from UI.
name(path, required) — Required. The integration resource name.
POST
/v1/{name}:lift
* Lifts suspension for advanced suspension task. Fetch corresponding suspension with provided suspension Id, resolve suspension, and set up suspension result for the Suspension Task.
name(path, required) — Required. The resource that the suspension belongs to. "projects/{project}/locations/{location}/products/{product}/integrations/{integration}/executions/{execution}/suspensions/{suspenion}" format.
POST
/v1/{name}:publish
This RPC throws an exception if the integration is in ARCHIVED or ACTIVE state. This RPC throws an exception if the version being published is DRAFT, and if the `locked_by` user is not the same as the user performing the Publish. Audit fields updated include last_published_timestamp, last_published_by, last_modified_timestamp, last_modified_by. Any existing lock is on this integration is released.
name(path, required) — Required. The version to publish. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}
POST
/v1/{name}:resolve
* Resolves (lifts/rejects) any number of suspensions. If the integration is already running, only the status of the suspension is updated. Otherwise, the suspended integration will begin execution again.
Sets the status of the ACTIVE integration to SNAPSHOT with a new tag "PREVIOUSLY_PUBLISHED" after validating it. The "HEAD" and "PUBLISH_REQUESTED" tags do not change. This RPC throws an exception if the version being snapshot is not ACTIVE. Audit fields added include action, action_by, action_timestamp.
name(path, required) — Required. The version to deactivate. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}
POST
/v1/{parent}/appsScriptProjects
Creates an Apps Script project.
parent(path, required) — Required. The project that the executed integration belongs to.
POST
/v1/{parent}/appsScriptProjects:link
Links a existing Apps Script project.
parent(path, required) — Required. The project that the executed integration belongs to.
POST
/v1/{parent}/authConfigs
Creates an auth config record. Fetch corresponding credentials for specific auth types, e.g. access token for OAuth 2.0, JWT token for JWT. Encrypt the auth config with Cloud KMS and store the encrypted credentials in Spanner. Returns the encrypted auth config.
clientCertificate.encryptedPrivateKey(query) — The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----
clientCertificate.passphrase(query) — 'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.
clientCertificate.sslCertificate(query) — The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----
GET
/v1/{parent}/certificates
List all the certificates that match the filter. Restrict to certificate of current client only.
parent(path, required) — Required. The client, which owns this collection of Certificates.
filter(query) — Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters.
pageSize(query, limit) — The size of entries in the response. If unspecified, defaults to 100.
pageToken(query) — The token returned in the previous response.
readMask(query) — The mask which specifies fields that need to be returned in the Certificate's response.
POST
/v1/{parent}/certificates
Creates a new certificate. The certificate will be registered to the trawler service and will be encrypted using cloud KMS and stored in Spanner Returns the certificate.
parent(path, required) — Required. Required: The ID of the GCP Project to be provisioned.
GET
/v1/{parent}/clients
Gets the client configuration for the given project and location resource name
parent(path, required) — Required. Required: The ID of the GCP Project to be provisioned.
POST
/v1/{parent}/clients:deprovision
Perform the deprovisioning steps to disable a user GCP project to use IP and purge all related data in a wipeout-compliant way.
parent(path, required) — Required. Required: The ID of the GCP Project to be deprovisioned.
POST
/v1/{parent}/clients:provision
Perform the provisioning steps to enable a user GCP project to use IP. If GCP project already registered on IP end via Apigee Integration, provisioning will fail.
parent(path, required) — Required. Required: The ID of the GCP Project to be provisioned.
POST
/v1/{parent}/clients:switch
Update client from GMEK to CMEK
parent(path, required) — Required. Required: The ID of the GCP Project to be provisioned.
POST
/v1/{parent}/cloudFunctions
Creates an cloud function project.
parent(path, required) — Required. The project that the executed integration belongs to.
GET
/v1/{parent}/connections
Lists Connections in a given project and location.
parent(path, required) — Required. Parent resource of the Connection, of the form: `projects/*/locations/*`
filter(query) — Filter.
orderBy(query) — Order by parameters.
pageSize(query, limit) — Page size.
pageToken(query) — Page token.
GET
/v1/{parent}/versions
Returns the list of all integration versions in the specified project.
parent(path, required) — Required. The parent resource where this version will be created. Format: projects/{project}/locations/{location}/integrations/{integration} Specifically, when parent equals: 1. projects//locations//integrations/, Meaning: "List versions (with filter) for a particular integration". 2. projects//locations//integrations/- Meaning: "List versions (with filter) for a client within a particular region". 3. projects//locations/-/integrations/- Meaning: "List versions (with filter) for a client".
fieldMask(query) — The field mask which specifies the particular data to be returned.
filter(query) — Filter on fields of IntegrationVersion. Fields can be compared with literal values by use of ":" (containment), "=" (equality), ">" (greater), " =" (greater than or equal to), "<=" (less than or equal to), and "!=" (inequality) operators. Negation, conjunction, and disjunction are written using NOT, AND, and OR keywords. For example, organization_id=\"1\" AND state=ACTIVE AND description:"test". Filtering cannot be performed on repeated fields like `task_config`.
orderBy(query) — The results would be returned in order you specified here. Currently supported sort keys are: Descending sort order for "last_modified_time", "created_time", "snapshot_number" Ascending sort order for "name".
pageSize(query, limit) — The maximum number of versions to return. The service may return fewer than this value. If unspecified, at most 50 versions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
pageToken(query) — A page token, received from a previous `ListIntegrationVersions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIntegrationVersions` must match the call that provided the page token.
GET
/v1/{parent}/executions
Lists the results of all the integration executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI.
parent(path, required) — Required. The parent resource name of the integration execution.
filter(query) — Optional. Standard filter field, we support filtering on following fields: workflow_name: the name of the integration. CreateTimestamp: the execution created time. event_execution_state: the state of the executions. execution_id: the id of the execution. trigger_id: the id of the trigger. parameter_type: the type of the parameters involved in the execution. All fields support for EQUALS, in additional: CreateTimestamp support for LESS_THAN, GREATER_THAN ParameterType support for HAS For example: "parameter_type" HAS \"string\" Also supports operators like AND, OR, NOT For example, trigger_id=\"id1\" AND workflow_name=\"testWorkflow\"
filterParams.eventStatuses(query) — List of possible event statuses.
filterParams.executionId(query) — Execution id.
filterParams.parameterKey(query) — Param key. DEPRECATED. User parameter_pair_key instead.
filterParams.parameterPairKey(query) — Param key in the key value pair filter.
filterParams.parameterPairValue(query) — Param value in the key value pair filter.
filterParams.parameterType(query) — Param type.
filterParams.parameterValue(query) — Param value. DEPRECATED. User parameter_pair_value instead.
filterParams.startTime(query) — Start timestamp.
filterParams.taskStatuses(query) — List of possible task statuses.
filterParams.workflowName(query) — Workflow name.
orderBy(query) — Optional. The results would be returned in order you specified here. Currently supporting "last_modified_time" and "create_time".
pageSize(query, limit) — Optional. The size of entries in the response.
pageToken(query) — Optional. The token returned in the previous response.
readMask(query) — Optional. View mask for the response data. If set, only the field specified will be returned as part of the result. If not set, all fields in event execution info will be filled and returned.
refreshAcl(query) — Optional. If true, the service will use the most recent acl information to list event execution infos and renew the acl cache. Note that fetching the most recent acl is synchronous, so it will increase RPC call latency.
truncateParams(query) — Optional. If true, the service will truncate the params to only keep the first 1000 characters of string params and empty the executions in order to make response smaller. Only works for UI and when the params fields are not filtered out.
GET
/v1/{parent}/integrations
Returns the list of all integrations in the specified project.
parent(path, required) — Required. Project and location from which the integrations should be listed. Format: projects/{project}
filter(query) — Filter on fields of IntegrationVersion. Fields can be compared with literal values by use of ":" (containment), "=" (equality), ">" (greater), " =" (greater than or equal to), "<=" (less than or equal to), and "!=" (inequality) operators. Negation, conjunction, and disjunction are written using NOT, AND, and OR keywords. For example, organization_id=\"1\" AND state=ACTIVE AND description:"test". Filtering cannot be performed on repeated fields like `task_config`.
orderBy(query) — The results would be returned in order you specified here. Supported sort keys are: Descending sort order by "last_modified_time", "created_time", "snapshot_number". Ascending sort order by the integration name.
pageSize(query, limit) — The page size for the resquest.
pageToken(query) — The page token for the resquest.
GET
/v1/{parent}/runtimeActionSchemas
Lists the JSON schemas for the inputs and outputs of actions, filtered by action name.
parent(path, required) — Required. Parent resource of RuntimeActionSchema. Format: projects/{project}/locations/{location}/connections/{connection}
filter(query) — Filter. Only the action field with literal equality operator is supported.
pageSize(query, limit) — Page size.
pageToken(query) — Page token.
GET
/v1/{parent}/runtimeEntitySchemas
Lists the JSON schemas for the properties of runtime entities, filtered by entity name.
parent(path, required) — Required. Parent resource of RuntimeEntitySchema. Format: projects/{project}/locations/{location}/connections/{connection}
filter(query) — Filter. Only the entity field with literal equality operator is supported.
pageSize(query, limit) — Page size.
pageToken(query) — Page token.
GET
/v1/{parent}/sfdcChannels
Lists all sfdc channels that match the filter. Restrict to sfdc channels belonging to the current client only.
parent(path, required) — Required. The client, which owns this collection of SfdcChannels.
filter(query) — Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters.
pageSize(query, limit) — The size of entries in the response. If unspecified, defaults to 100.
pageToken(query) — The token returned in the previous response.
readMask(query) — The mask which specifies fields that need to be returned in the SfdcChannel's response.
POST
/v1/{parent}/sfdcChannels
Creates an sfdc channel record. Store the sfdc channel in Spanner. Returns the sfdc channel.
Create a integration with a draft version in the specified project.
parent(path, required) — Required. The parent resource where this version will be created. Format: projects/{project}/locations/{location}/integrations/{integration}
newIntegration(query) — Set this flag to true, if draft version is to be created for a brand new integration. False, if the request is for an existing integration. For backward compatibility reasons, even if this flag is set to `false` and no existing integration is found, a new draft integration will still be created.
POST
/v1/{parent}/versions:upload
Uploads an integration. The content can be a previously downloaded integration. Performs the same function as CreateDraftIntegrationVersion, but accepts input in a string format, which holds the complete representation of the IntegrationVersion content.
parent(path, required) — Required. The version to upload. Format: projects/{project}/locations/{location}/integrations/{integration}
40 endpoints auto-detected
Authentication
This API requires authentication: OAuth.
curl -X GET \
"https://integrations.googleapis.com/v1/{parent}/authConfigs"