This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern
Before you enable this package
The endpoint host 'marketo-instance.invalid' is a reserved .invalid placeholder that fails closed until you substitute the real host in both the endpoint URLs and the egress allowlist.
Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.
Capabilities (5)
Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/marketo.json and embeds a copy in the release binary.
Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.
On supported execution paths routed through AAES Govern, the R3 actions listed below require approval by an authorized person. Bypass paths and observation-only registrations are outside that guarantee. A provider's restoration feature does not remove this approval requirement. A provider-side approval, such as approving a GitLab merge request, is also separate from AAES Govern human approval. The capability matrix shows which execution paths are implemented, restricted to lab use, or refused at startup. Live compatibility must be tested in your environment.
Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.
marketo.leads.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://marketo-instance.invalid/rest/v1/leads.json- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-marketo-access-token- Data class
- pii
Read leads.
Query lead records by a filter type (email, id, cookie or a custom field) and filter values: names, email addresses and lead attributes, which identify named people, so the read is classified as pii (personal data). The registered path covers the collection read only — single-lead reads (GET /rest/v1/lead/{id}.json) are not registered by this pack. Requires the Read-Only Lead permission on the API user's role.
marketo.campaigns.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://marketo-instance.invalid/rest/v1/campaigns.json- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-marketo-access-token- Data class
- internal
Read campaigns.
List smart campaigns in the instance: ids, names, types, and active/requestable flags — campaign metadata revealing marketing operations, classified as internal data. The registered path covers the collection read only — single-campaign reads (GET /rest/v1/campaigns/{id}.json) are not registered by this pack. Requires the Read-Only Campaign permission.
marketo.lists.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://marketo-instance.invalid/rest/v1/lists.json- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-marketo-access-token- Data class
- internal
Read lists.
List static lists: ids, names and metadata, classified as internal data. The registered path covers the collection read only — list-membership reads (GET /rest/v1/lists/{listId}/leads.json, which returns lead records) and membership changes are not registered by this pack. Requires the Read-Only Lead permission.
marketo.activities.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://marketo-instance.invalid/rest/v1/activities.json- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-marketo-access-token- Data class
- pii
Read activities.
Read the instance's activity stream: email opens, clicks, web visits, form fills and score changes attributed to identified people, which is behavioural personal data, so the read is classified as pii (personal data). Paging dependency: activity reads require a paging token, but this pack does not register the paging-token acquisition endpoint (GET /rest/v1/activities/pagingtoken.json) — obtaining the paging token must occur through an external, separately reviewed process before the registered activities read can be paged.
Requires the Read-Only Activity permission.
marketo.campaigns.request v1.0.0R3
- Kind
- tool
- Actions
- create, send
- Endpoint
POST https://marketo-instance.invalid/rest/v1/campaigns/CAMPAIGN_ID/trigger.json- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-marketo-access-token- Data class
- pii
Request campaigns.
Request Campaign: pass up to 100 named leads through the flow of a trigger campaign configured with the 'Campaign is Requested' trigger and Web Service API as its source.
The request creates a run of the campaign for those named leads (the create action), and a trigger campaign's flow typically has Marketo send those people outbound email — not every campaign necessarily sends email, but the send declaration covers the unrestricted effect of the endpoint against an arbitrary reviewed trigger campaign, and a delivered email cannot be recalled.
The capability declares create and send, and send keeps the tier at the minimum R3 tier; send is one of the designated actions requiring human approval.
On supported execution paths mediated by AAES Govern, irreversible actions require approval by an authorized person; this does not prevent calls through bypass or observation-only paths. CAMPAIGN_ID is a placeholder the deployment binds to a concrete, reviewed campaign before enabling. Requires the Execute Campaign permission ('Request or Schedule a campaign' in Marketo's permission list).
Credential reference
The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.
- Reference
secret-ref-marketo-access-token- Custody
- customer_vault
- Injection
- header (Authorization)
Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.
Complete credential requirements
A Marketo REST API access token for the customer's own instance, held in the client's own secret manager. The stored material must be the complete Authorization header value: the scheme 'Bearer', one separating space, then the token. The token is minted by an external process from the custom service's client id and client secret (Admin > Integration > LaunchPoint) against the instance's identity endpoint (/identity/oauth/token, client_credentials grant).
A new access token has a lifespan of 3,600 seconds (one hour) and Marketo issues no refresh token: the external process re-requests a token from the token endpoint, so refresh and rotation ownership sit entirely outside the executor, which injects the stored value verbatim and performs no token lifecycle itself.
Least privilege: the API-only user's role should carry only the permissions the enabled capabilities use — Read-Only Lead, Read-Only Campaign and Read-Only Activity for the reads, and Execute Campaign (which Marketo's permission list defines as 'Request or Schedule a campaign') only if the request-campaign capability is enabled.
Revocation: disabling the custom service or deactivating its API-only user blocks issuance of further tokens, but the reviewed documentation does not state that an already-issued access token is invalidated at that moment — Marketo documents that an access token belongs to a single custom service and that its expiration is independent of tokens for other custom services in the instance — so treat an outstanding token as potentially valid for the remainder of its 3,600-second lifespan after disablement, and time disablement so that residual validity window is acceptable; an expired token fails closed.
Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.
Resources
marketo-leads(api, pii):https://marketo-instance.invalid/rest/v1/leads.jsonmarketo-campaigns(api, internal):https://marketo-instance.invalid/rest/v1/campaigns.jsonmarketo-lists(api, internal):https://marketo-instance.invalid/rest/v1/lists.jsonmarketo-activities(api, pii):https://marketo-instance.invalid/rest/v1/activities.json
Technical package and review record
Complete provider requirements and exclusions
The endpoint host 'marketo-instance.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): Marketo's REST API host is unique per instance and is visible in Admin > Integration > Web Services (the retrieved authentication documentation confirms the instance's REST API and identity URLs appear there), so substitute the customer's own REST API host before enabling, in the endpoints, the resource locators and the egress allowlist — the allowlist matches exactly, so all three must be substituted together, and substitution is a required deployment step.
Allowlisting the reserved .invalid host does not make an unsubstituted pack safe: the reserved host resolves nowhere, but that is a fail-closed default, not a review substitute — a reviewer must still bind the real host deliberately. CAMPAIGN_ID in the request-campaign path is a placeholder the deployment binds to a concrete, reviewed trigger campaign before enabling. Reads are registered against the collection endpoints only: single-record reads (GET /rest/v1/lead/{id}.json, GET /rest/v1/campaigns/{id}.json, GET /rest/v1/lists/{id}.json) and list-membership reads (GET /rest/v1/lists/{listId}/leads.json) are not registered by this pack.
Paging dependency: the activities read requires a paging token, and paging-token acquisition (GET /rest/v1/activities/pagingtoken.json) is not registered by this pack — it must occur externally, through a separately reviewed process, before the registered activities read can be paged.
Approval classification: marketing automation is send-first.
Request Campaign passes up to 100 named leads through a trigger campaign's flow — the request creates a campaign run for those leads — and a trigger campaign's flow typically sends those people outbound email (not every campaign necessarily sends, but the send declaration covers the unrestricted effect against an arbitrary reviewed trigger campaign); a delivered email cannot be recalled — so that capability declares create and send, and send keeps the tier at the minimum R3 tier; send is one of the designated actions requiring human approval.
Documented exclusions — this pack does not register: lead create, update, merge or delete (Sync Leads, Merge Leads, Delete Leads); static-list membership changes (Add to List, Remove from List); Schedule Campaign (POST /rest/v1/campaigns/{id}/schedule.json, which runs a batch campaign against its whole smart list — a second send effect a reviewer should enable separately and deliberately); smart-campaign and email asset management on the /rest/asset/v1 surface; bulk import and export; the identity endpoint (credential issuance is an external process, not a registered capability); and the access_token query-parameter authentication mode — this pack's credential contract uses the Authorization header only and does not register the query-parameter mode.
The activities read returns identified people's behaviour — email opens, clicks, web visits and score changes — so it is classified as pii (personal data) alongside the lead read. Credential review completed on 2026-09-21 for a short-lived access token held in the customer's vault and refreshed by an external process. The requirements and limits are below.
Issuance authority and delegation: the token is minted by the instance's identity endpoint (/identity/oauth/token, client_credentials grant) from a custom service's client id and client secret, which the customer's admin creates in Admin > Integration > LaunchPoint; the token acts as the custom service's API-only user and delegates that user's role permissions.
Scope: Marketo documents no OAuth scope mechanism for this grant — permissions are the API-only user's role, so least privilege is a role carrying only Read-Only Lead, Read-Only Campaign and Read-Only Activity for the reads, plus Execute Campaign ('Request or Schedule a campaign') only if the request-campaign capability is enabled.
Audience: Marketo documents that an access token belongs to a single custom service and that its expiration is independent of tokens for other custom services in the instance; beyond that single-service binding no audience claim is documented. TTL: a new access token has a lifespan of 3,600 seconds (one hour), and Marketo issues no refresh token.
Refresh ownership: the external process re-requests a token from the token endpoint, so refresh and rotation ownership sit entirely outside the executor, which injects the stored value verbatim and performs no token lifecycle itself.
Revocation: disabling the custom service or deactivating its API-only user blocks issuance of further tokens, but the reviewed documentation does not state that an already-issued token is invalidated at that moment — the completed review documents this gap: treat an outstanding token as potentially valid for the remainder of its 3,600-second lifespan, time disablement so that residual window is acceptable, and an expired token fails closed.
Executor access and replay/exposure: the executor reads only the vault reference; the token is a bearer credential replayable within its one-hour TTL, which bounds the replay window.
Alternate access paths: the Marketo UI and other custom services retain access outside this pack with independently expiring tokens, and disabling this service closes only this path. The credential review is complete. Assign accountable owners before deployment.
Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.
The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.
Review block
This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.
Review completed: 2026-09-22
6 sources, retrieved 2026-09-21
- https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/endpoint-reference (retrieved 2026-09-21)
- https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/assets/smart-campaigns (retrieved 2026-09-21)
- https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/authentication (retrieved 2026-09-21)
- https://developers.marketo.com/rest-api/endpoint-reference/lead-database-endpoint-reference/ (retrieved 2026-09-21)
- https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/custom-services (retrieved 2026-09-21)
- https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/rest-api (retrieved 2026-09-21)
Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.
Release identity
SHA-256 of the pack file bytes: 0b3791cc485354487db04ce57b5e352c8ba3644d0ef2fada561b910bfcc8ec61
Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.