How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Marketo Data Ingestion API

A separate high-volume asynchronous ingestion surface hosted on Adobe's developer platform at mkto-ingestion-api.adobe.io rather than on the per-subscription Munchkin host. Seven operations sync persons, companies, custom objects, program member status and static list membership into a Marketo subscription. It is the only Marketo API published as OpenAPI 3.0.1 and the only one that uses real HTTP status semantics — 202 Accepted for asynchronous acceptance, 400 for validation failure, 401 for an invalid OAuth token — instead of the HTTP-200 error envelope the REST APIs use.

Marketo Data Ingestion API is one of 68 APIs that Marketo publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Data Ingestion, Streaming, and Bulk. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 7 operations across 7 paths, organized into 5 resource areas, and defines 15 schemas. It is described by OpenAPI 3.0.1, at version v1.

Requests are made against a single base URL, https://mkto-ingestion-api.adobe.io.

7 operations 7 paths 15 schemas 7 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
v1
Base URL
https://mkto-ingestion-api.adobe.io
Resource Areas
5

Paths & Operations 7

Across 7 paths, the API surfaces 7 operations — 7 POST. They span 5 resource areas: Persons, Custom Objects, Companies, Program Members, Lists. Each is listed below with its method, path, parameters, and response codes.

Persons 1

Upsert (insert or update) person/lead records

POST
/subscriptions/{munchkinId}/persons
Sync Persons
syncPersons 4 params body → 202400401
Custom Objects 1

Upsert (insert or update) custom object records

POST
/subscriptions/{munchkinId}/customobjects/{customObjectAPIName}
Sync Custom Objects
syncCustomObjects 5 params body → 202400401
Companies 1

Sync company records (createOnly, updateOnly, or createOrUpdate)

POST
/subscriptions/{munchkinId}/companies
Sync Companies
syncCompanies 4 params body → 202400401
Program Members 2

Sync program member status or delete (remove) members from programs

POST
/subscriptions/{munchkinId}/programmembers
Sync Program Member Status
syncProgramMembers 4 params body → 202400401
POST
/subscriptions/{munchkinId}/programmembers/delete
Delete Program Members
deleteProgramMembers 4 params body → 202400401
Lists 2

Add leads to or remove leads from static lists

POST
/subscriptions/{munchkinId}/lists
Add Leads to List
addToList 4 params body → 202400401
POST
/subscriptions/{munchkinId}/lists/remove
Remove Leads from List
removeFromList 4 params body → 202400401

Schemas 15

The contract defines 15 schemas that model the data the API accepts and returns. The most detailed are SyncPersonsRequest (4 properties), Company (3 properties), ProgramOperation (3 properties), SyncCompaniesRequest (3 properties). Each schema is shown below with its type and property counts.

SyncPersonsRequest
object
4 properties 1 required
DedupeFields
object
Attributes to deduplicate on. One or two attribute names are allowed. Two attributes are used in an AND operation. Supported attributes: id, email, sfdcAccount…
2 properties
Person
object
Person/lead record. May contain any standard or custom lead field as key-value pairs.
SyncCustomObjectsRequest
object
3 properties 1 required
CustomObject
object
Custom object record. Fields depend on the custom object schema definition.
SyncCompaniesRequest
object
3 properties 1 required
Company
object
Company record. When dedupeBy=dedupeFields, externalCompanyId is required. When dedupeBy=idField, id is required. Additional standard or custom company fields…
3 properties
SyncProgramMembersRequest
object
1 property 1 required
ProgramOperation
object
A program sync operation.
3 properties 3 required
DeleteProgramMembersRequest
object
1 property 1 required
DeleteProgramOperation
object
A program delete operation.
2 properties 2 required
ProgramMember
object
Lead reference for program membership.
1 property 1 required
ListOperationRequest
object
2 properties 2 required
Lead
object
Lead reference for list membership.
1 property 1 required
ErrorResponse
object
Error response body returned for non-202 responses.
2 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

marketo-data-ingestion-openapi-original.json Raw ↑

Other APIs Marketo publishes across the network.

Marketo Approve API
Marketo Assets API
Marketo Campaigns API
Marketo Cc API
Marketo Channel API
Marketo Channels API
Marketo Clone.json API
Marketo Content API
Marketo Content.json API
Marketo Delete.json API
Marketo Discard API
Marketo Dynamic API
Where this information came from

This is an independent, third-party profile of Marketo Data Ingestion API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.