landingPage approveDraft.json not working | Community
Skip to main content
LauraIasonna
Level 2
February 23, 2026
Solved

landingPage approveDraft.json not working

  • February 23, 2026
  • 2 replies
  • 37 views

Hi everyone,

I’m trying to approve a Marketo Landing Page draft via the REST Asset API and I’m running into a strange issue.

When I call:

POST /rest/asset/v1/landingPage/{id}/approveDraft.json

the module returns [null] (and sometimes a DataError), and the landing page remains in status: "draft". There is no visible error message returned in the middleware I’m using. 

What makes this confusing is that other endpoints work perfectly in the same scenario. I can retrieve the landing page (GET /landingPage/{id}.json), confirm that a draft exists (GET ...?status=draft), and I can successfully call unapprove.json on the same landing page. Form approvals and other Asset API updates (like form visibility rules and picklist updates) also work without any issue.

I’ve tested multiple variations of the approveDraft call, including different Content-Type headers (application/json and application/x-www-form-urlencoded), sending an empty body, and sending a dummy form-encoded parameter. The behavior is always the same: the module outputs null, and the draft status does not change.

I’ve also tested this with a different landing page and observed the exact same behavior. It’s nnot about permissions, as I have all the permissions for my API user. 

Has anyone successfully used approveDraft.json for landing pages via the REST API,? I’m trying to determine whether this is a connector parsing issue, a subtle permission nuance specific to landing pages, or something about the draft state that blocks approval without returning a clear error.

 

Best answer by Praveenra2

Hi Laura,

When approveDraft.json returns [null] and the landing page stays in "draft" in Adobe Marketo Engage, it’s usually not a connector issue but an asset state or permission problem.

Most common causes:

  • API role missing “Approve Assets” permission (very common)

  • Workspace mismatch – API user doesn’t have access to that workspace

  • Landing page is locked / in an archived or restricted program

  • Template/module issue preventing approval (try approving in the UI to confirm)

I’d first verify the API role includes Read-Write Assets + Approve Assets and that the user has correct workspace access. Then test the call directly in Postman to rule out middleware parsing.

In most cases, it turns out to be permissions.

Hope that helps.

2 replies

Praveenra2Accepted solution
Level 2
February 23, 2026

Hi Laura,

When approveDraft.json returns [null] and the landing page stays in "draft" in Adobe Marketo Engage, it’s usually not a connector issue but an asset state or permission problem.

Most common causes:

  • API role missing “Approve Assets” permission (very common)

  • Workspace mismatch – API user doesn’t have access to that workspace

  • Landing page is locked / in an archived or restricted program

  • Template/module issue preventing approval (try approving in the UI to confirm)

I’d first verify the API role includes Read-Write Assets + Approve Assets and that the user has correct workspace access. Then test the call directly in Postman to rule out middleware parsing.

In most cases, it turns out to be permissions.

Hope that helps.

LauraIasonna
Level 2
February 23, 2026

Hi Prav, 

Thank you for the quick reply! 

The API role has all the available permissions related to “Access API”, including the Approve Assets one. I have also added the Edit Marketing Assets (under the Access Marketing Activity permission). 

When it comes to workspace mismatch, the API use do have access as I’m doing other actions within the same workspace. 
The landing page is not in an archived progra, but what do you mean by locked or restricted? 

And if I approve the page manually from Marketo I don’t have any issues. 



I’ll try in Postman as you suggested first and see if I get more info on the issue

Level 2
February 23, 2026

Hi Laura,

Thanks for the clarification - that rules out the usual permission/workspace causes.

Since:

  • API role includes Approve Assets

  • Workspace access is correct

  • Manual approval in the UI works

This strongly suggests an Asset API–specific behavior with landing pages in Adobe Marketo Engage rather than a role issue.

A few more things to validate:

  • Ensure the page truly has a pending draft version (sometimes status shows draft but no approvable delta exists).

  • Make a small update via API (update a title), then immediately call approveDraft to confirm it’s a fresh draft.

  • Confirm no other user session is actively editing the landing page at the time of approval.

  • Check the full raw API response (including success, errors, and requestId) in Postman — not just the parsed body.

If Postman still returns [null] with success: true and no errors, this is very likely a Marketo-side Asset API inconsistency specific to landing pages. At that point, I’d recommend opening a Support ticket and providing the requestId so they can trace it internally.

Given everything you’ve tested, this doesn’t look like a configuration mistake on your side.

Let me know what you see in the raw response.

Darshil_Shah1
Community Advisor and Adobe Champion
Community Advisor and Adobe Champion
February 23, 2026

@LauraIasonna, one quick sanity test is to try the same call on a very simple landing page (default template, no modules/segmentation). If that works, it usually points to template or asset-complexity issues rather than the endpoint itself.