HOSTED MOCK API REFERENCE
Marketo API mock: lead sync and daily quota 607
A successful HTTP exchange can still be a failed Marketo sync. Use the daily allocation fixture to test response-level errors, then select mixed-record results to check skipped leads independently of the top-level success flag.
Explore mock APIsNew registration is paused. Explore the public mock APIs; existing users can still sign in.
Existing user? Configure Marketo Leads API · Workspace pricing and limits · Supported operations and behaviours
What to assert in your client
Daily allocation exhaustion needs a different recovery policy from a short-term rate limit. Check the body before treating a sync as successful. No real quota is consumed, and selecting success later is a separate controlled test, not an automatic recovery.
CLIENT → SYNTHETIC RECEIVER → SELECTED RESPONSE → INSPECTION
Walkthrough: daily API quota exhausted (607)
1. Select the outcome on your installed receiver
Choose Marketo Leads → Sync Lead → Daily API quota reached (607). This selects a synthetic fixture; it does not exhaust a real provider quota.
2. Send a safe lead sync request and read the response
Sync Lead: Daily API quota reached
Documented Synthetic illustrative example from the catalogue, not a live capture. Run only after installing your own receiver. Replace <your-receiver-token> locally; no request is sent from this page.
HTTP 200 · 607
curl / Bash request
printf '%s' '{"action":"createOrUpdate","lookupField":"email","input":[{"email":"alex@example.test","firstName":"Alex","lastName":"Example"}]}' | \
curl -i -X POST \
'https://nottherealapi.com/r/<your-receiver-token>/rest/v1/leads.json' \
-H 'Authorization: Bearer synthetic-marketo-token' \
-H 'Content-Type: application/json' \
--data-binary @-PowerShell request
$body = '{"action":"createOrUpdate","lookupField":"email","input":[{"email":"alex@example.test","firstName":"Alex","lastName":"Example"}]}'
Invoke-WebRequest `
-UseBasicParsing `
-Uri 'https://nottherealapi.com/r/<your-receiver-token>/rest/v1/leads.json' `
-Method POST `
-Headers @{
Authorization = 'Bearer synthetic-marketo-token'
} `
-ContentType 'application/json' `
-Body ([Text.Encoding]::UTF8.GetBytes($body))Selected synthetic response
HTTP 200
content-type: application/json
{
"requestId": "example#1",
"success": false,
"errors": [
{
"code": "607",
"message": "Daily quota reached"
}
]
}The HTTP status is 200. The Marketo body reports success: false and error code 607. HTTP success alone does not mean the lead sync succeeded. No Retry-After header is supplied by this fixture.
3. Inspect what your client sent
Illustrative inspection — synthetic sample, not a live capture or interactive public sandbox. No request has been sent from this page.
- Method and path
POST /rest/v1/leads.json- Selected outcome
- Daily API quota reached · HTTP 200 · body code 607
- Example Authorization
Bearer synthetic-marketo-token(synthetic)
{
"action": "createOrUpdate",
"lookupField": "email",
"input": [
{
"email": "alex@example.test",
"firstName": "Alex",
"lastName": "Example"
}
]
}4. Test the client policy, then a controlled success
Distinguish daily quota exhaustion from transient rate limiting. Avoid thoughtless immediate retries; stop or defer according to your integration's allocation policy and report the failed sync. Select a success behaviour separately and repeat the request to test that path. The fixture does not transition or recover autonomously.
Marketing Leads REST API · REST v1
What can I test with this?
Test integrations that send leads into Adobe Marketo Engage without needing a live Marketo instance. Simulate the Sync Leads endpoint and trigger successful syncs, record validation failures, expired authentication, rate limits, exhausted daily quota and temporary API unavailability. Check both response-level errors and skipped records inside HTTP 200 responses, plus a synthetic delay for deadline testing.
Sync Leads REST v1 only. Actions and mixed results are selected fixtures; no lead lookup, writes, token refresh or autonomous bulk-import jobs occur.
Useful for
- Lead ingestion
- Marketing automation connectors
- CRM-to-Marketo synchronisation
- Record validation
- Rate limits and daily quota
Supported operations
1 operationSync Lead
POST /rest/v1/leads.json
Simulates creating, updating or upserting lead records through the Sync Leads API. The request action and lookupField describe how matching records are handled; the selected behaviour determines the returned envelope and per-record results.
Request content type: application/json
Request example
{
"action": "createOrUpdate",
"lookupField": "email",
"input": [
{
"email": "alex@example.test",
"firstName": "Alex",
"lastName": "Example"
}
]
}Available behaviours (12)
Lead synced
DocumentedSync Leads creates or updates records through one endpoint and returns per-record status results.
HTTP 200
Verify that your client handles a successful response.
- HTTP 200 with the Marketo requestId, success and result envelope.
Existing lead updated
DocumentedSelected updateOnly success; the receiver does not store or look up leads.
HTTP 200
Verify that your client handles a successful response.
Mixed record results
DocumentedHTTP 200 and success true can contain both an updated lead and a skipped input record, in input order.
HTTP 200 · 1002
Verify that your client understands this provider-specific outcome.
Invalid or expired access token
DocumentedA rejected access token is a response-level 602 error; Marketo returns it inside the API response envelope.
HTTP 200 · 602
Test credential refresh and authentication recovery.
- Clients refresh the token after 601 or 602; this mock does not perform token exchange.
Required lead lookup value missing
DocumentedA Sync Lead input record without its selected email lookup value is skipped with record-level error 1002.
HTTP 200 · 1002
Test field mapping and useful validation feedback.
- The failed lead is represented in result[].reasons while the top-level request remains successful.
Lead validation failed
DocumentedA record with an unsupported field is skipped with a record-level 1006 reason while the request envelope remains successful.
HTTP 200 · 1006
Test field mapping and useful validation feedback.
- Record-level errors appear under result[].reasons and do not set top-level success to false.
Lead not found
DocumentedThe updateOnly action skips a record when its lookup key does not match an existing lead (1004).
HTTP 200 · 1004
Check how your client handles a missing record or resource.
Lead already exists
DocumentedThe createOnly action skips a record whose lookup key already exists (1005).
HTTP 200 · 1005
Exercise conflict handling before repeating a write.
REST rate limit exceeded
DocumentedMarketo reports its shared 100-calls-per-20-seconds limit as response-level error 606.
HTTP 200 · 606
Verify bounded backoff and retry handling.
- Use exponential backoff; Marketo does not define an HTTP Retry-After header for this response.
Daily API quota reached
DocumentedMarketo reports exhausted daily subscription allocation as response-level error 607.
HTTP 200 · 607
Check that persistent allocation or billing limits do not cause endless retries.
- This daily allocation limit is distinct from short-term rate limiting.
API temporarily unavailable
DocumentedMarketo reports temporary REST API unavailability as response-level error 608.
HTTP 200 · 608
Test recovery and error reporting during simulated service failures.
Delayed sync response
SyntheticSynthetic delay for client deadline and retry testing.
HTTP 200 · 250 ms delay
Exercise client deadlines and timeout recovery.
- Artificial delay only; the Marketo response remains a normal success envelope.
What NotTheRealAPI controls
NotTheRealAPI does not call Adobe Marketo Engage. No real provider account is required. Your integration sends the request to a NotTheRealAPI receiver and receives the selected provider-shaped response.
The receiver stays under NotTheRealAPI at /r/<receiver-token> followed by the operation path. Selecting a behaviour controls the simulated response on that same receiver.
New registration is paused. Sign in to use this module
Scope and safe testing
This independent simulation has no live Adobe Marketo Engage connection or endorsement and does not claim complete API compatibility. No real provider credentials are required. Outcomes remain selected until you change them; these provider fixtures do not persist business records or transition autonomously.
Use synthetic data only. Receiver URLs are secrets. Captured headers and bounded bodies are visible to authorised workspace members without automatic redaction; see privacy and retention.
NotTheRealAPI independently simulates third-party APIs for testing. All provider names and logos are the property of their respective owners. NotTheRealAPI is not affiliated with, sponsored by or endorsed by those providers, and these modules do not connect to their live services. Twilio and all related logos are trademarks of Twilio Inc. or its affiliates.
Browse the full mock API catalogue · Salesforce Lead API mock: sessions, validation and allocation · Compare workspace limits and pricing · Sign in

