Ellipse Gradient for Header

Acquia Integration Guide

Acquia integrates with enterprise systems through Acquia Cloud Platform APIs, Drupal JSON:API, REST and optionally GraphQL, plus product-specific DAM and callback interfaces.

Acquia integration options at a glance

Acquia integration depends on the product and tenant. Acquia Cloud Platform provides management APIs for applications, environments and deployment-related operations, while Drupal sites commonly expose JSON:API or Drupal REST for content entities. Drupal GraphQL is available when the GraphQL module is enabled and configured. Acquia DAM uses separate asset APIs, and webhook-style notifications or callbacks are product- and event-specific rather than universal. Martini can consume these APIs, authenticate with OAuth 2.0 or configured Drupal and DAM credentials, paginate and checkpoint content synchronization, orchestrate asynchronous operations, transform data, and expose APIs for inbound publishing workflows.

Integration pointSupported by Acquia?Common use casesHow Martini supports it
REST APIsYesAcquia Cloud Platform exposes management APIs, while Drupal sites can expose JSON:API and Drupal REST for content, users, taxonomy and media resources.Martini can consume documented REST endpoints, manage authentication, paginate responses, transform payloads and orchestrate downstream writes.
GraphQL APIsLimitedDrupal GraphQL is available when the GraphQL module is installed, configured and exposed by the specific site; it can support custom query shapes.Martini can consume the configured GraphQL endpoint, map the response and handle endpoint-specific authentication and errors.
Webhooks / outbound callbacksLimitedPlatform, DAM or Drupal callback capabilities may exist for selected events, but Acquia does not provide one universal content-change webhook stream.Martini can receive supported webhook-style callbacks and route them into workflows; scheduled incremental synchronization is the fallback when callbacks are unavailable.
Bulk / async / batch APIsLimitedAcquia Cloud Platform operations may be asynchronous, while Drupal JSON:API is not a universal bulk-write interface.Martini can batch requests, paginate resources, persist operation identifiers, poll documented statuses and retry transient failures.
File / attachment APIsYesDrupal JSON:API can expose Media and Files when configured, and Acquia DAM provides separate APIs for assets and metadata.Martini can coordinate metadata and binary transfer, associate files with content, and apply access and rendition rules.
Database / analytics accessLimitedAcquia-hosted databases may support controlled administration or reporting use cases, but direct database access is not the preferred public application interface.Martini can connect to databases where access is explicitly provisioned, while API-based integration remains the preferred approach for Drupal application behavior.
AuthenticationYesAcquia Cloud Platform APIs use OAuth 2.0-based authentication; Drupal authentication depends on enabled modules, site configuration and permissions, and DAM credentials are tenant-specific.Martini can store credentials and secrets in environment configuration, call OAuth-protected APIs and apply endpoint-specific authorization settings.

How Acquia exposes data and business events

Acquia and Drupal REST APIs

REST is the primary integration approach for Acquia Cloud Platform management APIs and for Drupal applications exposing JSON:API or Drupal REST. Available resources, fields and operations depend on configuration and permissions.

Martini implementation pattern

Martini implementation pattern: Martini authenticates to the selected Acquia or Drupal endpoint, retrieves paginated resources or accepts an inbound request, applies content-state and relationship rules, maps the result to a canonical model, and writes to the target system.

Implementation sequence

Authenticate using the configured Acquia, Drupal or site-specific credentials
Retrieve the current page of Nodes, Media, Users or other documented resources
Apply publication, revision, language and permission-aware filters
Resolve pagination and related resources
Map fields and identifiers to the target model
Write the result with idempotent keys and record the checkpoint

Drupal GraphQL APIs

Drupal GraphQL can provide custom query shapes when the GraphQL module is enabled, configured and exposed by the specific Acquia-hosted site. It is not automatically available on every Drupal application.

Martini implementation pattern

Martini implementation pattern: Martini consumes the configured GraphQL endpoint, sends the approved query and variables, validates the response shape, transforms nested data and routes GraphQL or authorization errors through workflow error handling.

Implementation sequence

Confirm that the Drupal GraphQL module and endpoint are enabled
Authenticate to the configured GraphQL endpoint
Submit the approved query and variables
Validate the returned data shape and required fields
Map nested content, references and media to the target model
Handle GraphQL errors and persist synchronization state

Acquia webhook-style callbacks

Acquia Cloud Platform, Acquia DAM or a Drupal application may provide notifications or outbound callbacks for selected events. Coverage is product- and event-specific, and JSON:API alone does not guarantee content-change notifications.

Martini implementation pattern

Martini implementation pattern: Martini exposes or receives the documented callback, validates its authenticity, retrieves the authoritative resource when necessary, and starts an idempotent workflow. If callbacks are unavailable, a scheduled incremental API workflow provides the fallback.

Implementation sequence

Confirm the selected Acquia product and event support callbacks
Receive the callback notification in a Martini API or workflow trigger
Validate authentication, signature or source controls where configured
Retrieve the authoritative resource when the notification is not complete
Apply idempotency and business-state checks
Process the event or route it to scheduled reconciliation

Acquia Cloud Platform asynchronous operations

Acquia Cloud Platform management operations such as deployment-related activities may be asynchronous. The workflow should not report completion until the documented operation status indicates success.

Martini implementation pattern

Martini implementation pattern: Martini validates a release or change request, calls the management API, stores the returned operation identifier, polls or receives the documented completion signal, and notifies downstream systems of the final state.

Implementation sequence

Authenticate with an Acquia Cloud Platform API client
Validate the requested application, environment and change
Invoke the documented platform operation
Store the returned operation identifier
Poll or receive the documented completion status
Report success or route the failed operation for investigation

Acquia DAM asset APIs

Acquia DAM exposes product-specific APIs for assets and metadata. Authentication, asset selection, binary access and event capabilities must be confirmed for the specific DAM tenant.

Martini implementation pattern

Martini implementation pattern: Martini retrieves selected DAM assets and metadata, maps them to a target content or commerce model, transfers files or references as permitted, and records the source identifier for repeatable synchronization.

Implementation sequence

Confirm the DAM tenant API and authentication model
Retrieve selected assets and metadata
Validate asset permissions, rendition requirements and file availability
Map metadata and identifiers to the target model
Transfer the file or durable reference
Record the DAM identifier and synchronization result

Common Acquia integration patterns

Pattern 1: Synchronize Drupal content to a CRM

When to use this pattern

Use this pattern when published Drupal Articles, Landing Pages, Users or related content must be represented in a CRM. A scheduled workflow is appropriate when the site does not provide reliable callbacks for content changes.

Integration direction
Drupal on Acquia
Martini
Salesforce
Example Mapping
Acquia FieldCanonical FieldTarget Field
uuidsourceIdExternal_Id__c
titlecontentTitleName
changedlastModifiedAtLast_Modified__c
statuspublicationStatePublication_Status__c
Martini implementation pattern

Martini retrieves filtered and paginated resources, uses an overlap window or stable checkpoint for changed content, resolves required Taxonomy Terms and Media, validates publication state, and performs idempotent CRM upserts. Rate limits and transient failures are retried with bounded backoff, while invalid records are isolated for review.

Martini capabilities used
  • workflows
  • API consumption
  • scheduling
  • data mapping
  • business rules
  • error handling

Pattern 2: Publish approved content into Drupal

When to use this pattern

Use this pattern when an editorial, CRM or product system is the source of approved content and Drupal on Acquia is the publishing destination.

Integration direction
Salesforce
Martini
Drupal on Acquia
Example Mapping
Acquia FieldCanonical FieldTarget Field
campaignTitletitletitle
campaignSummarysummarybody
externalCategoryIdcategoryIdfield_category
approvalStatepublicationStatemoderation_state
Martini implementation pattern

Martini exposes an API or consumes the source system, validates required fields and approval status, resolves taxonomy identifiers, associates Media or Files, and calls Drupal JSON:API or REST. Stable external identifiers prevent duplicates, and permission, validation and conflict errors are returned or queued without marking the publication successful.

Martini capabilities used
  • API exposure
  • workflows
  • data mapping
  • business rules
  • API consumption
  • error handling

Pattern 3: Synchronize Acquia DAM assets to digital channels

When to use this pattern

Use this pattern when approved DAM assets and metadata must be made available to Drupal, Shopify or another digital channel while preserving source identifiers and asset governance.

Integration direction
Acquia DAM
Martini
Drupal on Acquia
Example Mapping
Acquia FieldCanonical FieldTarget Field
assetIdsourceAssetIdfield_dam_asset_id
assetTitletitlename
assetTypemediaTypemedia_type
renditionUrlassetReferencefield_media_file
Martini implementation pattern

Martini retrieves selected assets, validates permissions and rendition requirements, transforms metadata, transfers binaries or references, and links the resulting Media or Files to Drupal content. Failed transfers are retried without recreating successful assets by using the DAM identifier as the idempotency key.

Martini capabilities used
  • workflows
  • API consumption
  • file handling
  • data mapping
  • business rules
  • retry handling

Pattern 4: Orchestrate Acquia Cloud Platform deployment operations

When to use this pattern

Use this pattern when release-management processes need to coordinate an Acquia Cloud Platform operation and report its final status to an enterprise system.

Integration direction
Release management system
Martini
Acquia Cloud Platform
Example Mapping
Acquia FieldCanonical FieldTarget Field
changeRequestIdreleaseIdchange_reference
applicationIdapplicationIdapplication
environmentIdenvironmentIdenvironment
operationStatusdeploymentStatusstatus
Martini implementation pattern

Martini validates the change request and environment, invokes the documented management endpoint, persists the asynchronous operation identifier, polls or receives completion status, and notifies the release system. Authentication failures, invalid identifiers and platform failures are separated from transient polling errors.

Martini capabilities used
  • API consumption
  • workflows
  • business rules
  • asynchronous orchestration
  • error handling
  • monitoring

Applications commonly integrated with Acquia

Acquia and Drupal implementations frequently exchange content, profile, campaign, asset and operational data with adjacent enterprise applications. The exact direction and object ownership depend on the Drupal configuration, Acquia product and target application.

Application Scenario Direction Martini Pattern
Salesforce Synchronize website leads, campaign content, customer-facing profiles or consent data with Salesforce objects. Drupal on Acquia → Martini → Salesforce Martini can receive or schedule Drupal API requests, map Nodes, Users or form-derived data to Salesforce objects, apply validation and consent rules, and perform idempotent upserts with retry handling.
Marketo Exchange marketing content, website form submissions and campaign data between Drupal and Marketo. Drupal on Acquia → Martini → Marketo A Martini workflow can retrieve or receive Drupal-originated submissions, transform fields and campaign identifiers, call Marketo APIs, and route validation or rate-limit failures for retry.
HubSpot Exchange forms, contacts, campaign content and selected website engagement attributes. Drupal on Acquia → Martini → HubSpot Martini can orchestrate scheduled or API-triggered synchronization, normalize Drupal Users and content fields, apply duplicate rules, and update HubSpot through its documented APIs.
ServiceNow Submit service requests, support content or incident-related information from a digital experience into ServiceNow and return selected status data. Drupal on Acquia → Martini → ServiceNow Martini can expose an inbound API or consume Drupal resources, validate the request, map it to ServiceNow, persist the external identifier, and synchronize status changes back to Drupal.
Jira Connect editorial, development or release workflows with Jira issues and content-related requests. Drupal on Acquia → Martini → Jira A Martini workflow can translate Drupal publishing or change data into Jira issue fields, correlate identifiers, and return issue status or release information after applying business rules.
Shopify Synchronize product content, categories, media or commerce-related content between Drupal and Shopify. Drupal on Acquia → Martini → Shopify Martini can retrieve Drupal Nodes, Taxonomy Terms and Media, map them to Shopify resources, transfer permitted assets, and use stable identifiers for repeatable updates.

How to build a Acquia integration in Martini

Objective

Identify the Acquia product and endpoint, then configure the appropriate authentication and environment-specific settings.

Instructions in Martini

  • Select Acquia Cloud Platform, Drupal JSON:API, Drupal REST, GraphQL, Acquia DAM or another documented product endpoint
  • Configure OAuth 2.0, bearer, Basic Authentication, session or DAM credentials as applicable
  • Store client secrets, tokens and endpoint values in Martini environment configuration or secrets management
  • Confirm the account has the required Drupal, platform or DAM permissions

Objective

Choose an event-driven, API-led or scheduled initiation model based on the confirmed capabilities of the Acquia product and tenant.

Instructions in Martini

  • Use a Martini API or webhook trigger when the Drupal application or Acquia product provides a supported callback
  • Use a scheduler for incremental content, asset or platform-status synchronization when callbacks are unavailable
  • Define the source event, polling interval, overlap window and checkpoint strategy

Objective

Retrieve authoritative Acquia or Drupal resources while respecting pagination, permissions, revisions and relationships.

Instructions in Martini

  • Call the documented REST, JSON:API, GraphQL or DAM endpoint
  • Process pagination rather than assuming one response contains all resources
  • Apply publication, moderation, language and modification-time filters
  • Resolve related Nodes, Taxonomy Terms, Media or Files where required

Objective

Build the Martini workflow that coordinates source retrieval, transformation, target calls and durable state.

Instructions in Martini

  • Separate source acquisition, validation, mapping, target writes and status recording into clear workflow stages
  • Persist source identifiers, checkpoints and asynchronous operation identifiers
  • Use conditional routing for product-specific rules and unsupported or incomplete records

Objective

Convert configurable Drupal and Acquia structures into the target application’s canonical and target-specific models.

Instructions in Martini

  • Map content-type-specific fields explicitly
  • Normalize dates, languages, publication states, references and identifiers
  • Distinguish file metadata, binary content, public URLs and private access requirements
  • Validate required fields before downstream writes

Objective

Enforce publication, approval, permission, idempotency and ownership rules before changing the target system.

Instructions in Martini

  • Process only approved or published content when required
  • Use UUIDs, external IDs or durable keys instead of titles or aliases for identity
  • Decide how drafts, revisions, translations and moderation states are handled
  • Reject or quarantine records that fail validation or authorization rules

Common Acquia data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
Content items / NodesArticles, landing pages, product pages, news items and other editorial content.Salesforce, Marketo, HubSpot, search services, data warehouses and external websitesMartini retrieves or receives Nodes through JSON:API, REST or configured GraphQL, filters by publication and modification state, maps fields and performs idempotent downstream writes.
UsersDrupal accounts, roles and profile information.Salesforce, HubSpot, ServiceNow and identity-related systemsMartini applies permission-aware retrieval, maps profile attributes and identifiers, and enforces validation and consent rules before synchronization.
Taxonomy termsCategories, tags, subjects, regions and other classification values.CRM, commerce platforms, search indexes and analytics storesMartini resolves term references, maintains identifier maps and transforms vocabularies into target-specific classification models.
MediaReusable images, videos, documents and other media references.Acquia DAM, Shopify, Adobe Commerce, external websites and content distribution servicesMartini maps metadata and relationships, transfers permitted assets or references, and handles access and rendition requirements explicitly.
FilesFile entities associated with Media or content.Acquia DAM, document repositories, websites and downstream content channelsMartini distinguishes metadata from binary transfer, validates permissions and associates the file with its target content or media object.
Content typesDrupal definitions that determine fields and behavior for content items.Mapping configuration, validation services and downstream content modelsMartini uses content-type-specific mappings and validation rather than assuming every Drupal resource has the same schema.

Authentication and security considerations

Product-specific authentication

Acquia Cloud Platform APIs use OAuth 2.0-based authentication with permissions, clients and scopes or roles appropriate to the API. Drupal JSON:API and REST authentication depends on site configuration and may use sessions, Basic Authentication, bearer tokens or configured OAuth 2.0 mechanisms. Acquia DAM uses tenant-specific credentials and authorization.

Permission-aware access

Drupal permissions determine which content types, fields, revisions and unpublished resources can be read or changed. Martini workflows should use least-privilege accounts and validate access in each environment.

Secret management

  • Store OAuth client secrets, bearer tokens, passwords and DAM credentials in Martini environment configuration or secrets management.
  • Use separate credentials and base URLs for development, staging and production.
  • Do not embed credentials in mappings, payloads or source-controlled workflow definitions.

Operational considerations for Acquia integrations

Pagination and incremental synchronization

Drupal responses are paginated. Use documented filters, modification timestamps, revisions or synchronization markers, with overlap windows or stable tie-breakers where timestamp collisions are possible.

Schema and content behavior

Drupal fields, content types, cardinality, references, moderation, translations and revisions are configurable. Use explicit mappings and validation rather than assuming a stable implicit schema.

Rate limits and retries

Quotas vary by product, subscription and endpoint. Use bounded concurrency, response-aware retries and backoff. Separate transient failures from permission, validation and authentication errors.

Files and idempotency

Private files, image derivatives, binary content and public URLs require separate handling. Use UUIDs, external IDs or DAM identifiers to prevent duplicate writes.

Testing and deployment

Validate mappings against each Drupal and Acquia environment because enabled modules, schemas, credentials and base URLs can differ. Test published and unpublished states, relationship resolution, failure recovery and asynchronous operation polling.

Why use Martini instead of scripts or point-to-point integrations?

Orchestrate more than API calls

Scripts can call an endpoint, but enterprise Acquia integrations often require pagination, checkpoints, content-state rules, relationship resolution, file handling and downstream coordination. Martini models these concerns as maintainable workflows.

Separate mappings and business rules

Martini provides explicit data mapping, transformation and validation so configurable Drupal fields and Acquia product models can be translated into stable target contracts without hiding logic in brittle point-to-point code.

Support multiple integration modes

One Martini implementation can combine REST or GraphQL consumption, supported callbacks, scheduled synchronization, inbound APIs and asynchronous platform operations while keeping credentials and environment settings external to workflow logic.

Improve operational control

Reusable workflows can apply idempotency, retries, error routing, checkpointing and monitoring consistently across Drupal, Acquia DAM, Acquia Cloud Platform and downstream systems.

Frequently asked questions

How can Acquia be integrated with enterprise systems?

Acquia can be integrated through Acquia Cloud Platform management APIs, Drupal JSON:API or REST resources, configured Drupal GraphQL endpoints, Acquia DAM APIs and selected product or application callbacks. Scheduled API synchronization is a practical fallback where universal content-change webhooks are not available.

Can Martini integrate with Acquia?

Yes. Martini can integrate with Acquia by consuming documented Acquia Cloud Platform, Drupal JSON:API, Drupal REST, configured GraphQL and Acquia DAM endpoints. It can also receive supported callbacks and orchestrate scheduled synchronization, transformations and downstream updates.

Do I need a connector to integrate Acquia with Martini?

No. A dedicated Acquia connector is not required. Martini can use Acquia’s confirmed native integration mechanisms, including REST-based APIs, JSON:API, configured GraphQL, DAM APIs, authentication methods and supported callbacks.

Is there any extra Lonti cost to integrate Acquia with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Acquia. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Acquia, cloud infrastructure providers or other third-party systems based on subscriptions, usage and deployment model.

Which Acquia APIs or integration methods should be used?

Use Drupal JSON:API or REST for Drupal content, Users, Taxonomy Terms, Media and Files; Drupal GraphQL when the module is enabled and custom query shapes are needed; Acquia Cloud Platform APIs for platform and deployment operations; and Acquia DAM APIs for assets and metadata. The exact endpoint and authentication model must be confirmed for the product and tenant.

Are Acquia events, webhooks or callbacks available?

Callback coverage is product- and event-specific. Acquia Cloud Platform, Acquia DAM or a customized Drupal application may provide notifications for selected events, but JSON:API does not itself guarantee a universal content-change webhook stream. Martini can receive supported callbacks or use scheduled incremental synchronization.

How does Martini synchronize and transform Acquia data?

Martini can retrieve paginated resources, apply publication and modification filters, resolve Drupal relationships, map configurable fields into a canonical model, and perform idempotent target updates. Workflows can also handle files, media, revisions, translations and asynchronous platform operations according to the implementation rules.

How are Acquia integration errors, retries and duplicates handled?

Martini can separate authentication, permission, validation, rate-limit, unavailable-resource and downstream failures. Workflows can retry transient errors with bounded backoff, use UUIDs or external IDs for idempotency, persist checkpoints and operation identifiers, and route non-retryable records for review. Martini can also expose an API façade for controlled inbound publishing or enterprise access to Acquia workflows.