Marketing API v24.0 ends Oct 6, 2026: pin the version in your uploader

Meta lists Marketing API v24.0 as available until October 6, 2026 and v25.0 as latest. Make the version a setting, and keep Sume render jobs separate.

5 min readSume
All posts

Meta's Marketing API changelog lists v24.0 as available until October 6, 2026, and v25.0 as the latest version. If your video ad uploader hard-codes v24.0 in a URL, change it to a setting before that date, so a version bump is a config change and not a code release.

Sume is not affected by Meta's version number: a Sume render is a durable job on api.sume.com, and only the step that hands the finished video to Meta carries a Graph or Marketing API version. Meta also states that the Marketing API has its own versioning scheme, with version numbers and schedules different from the Graph API's.

Which Marketing API versions are listed?

The changelog table gives these entries.

Marketing API versions on Meta's changelog (read 2026-10-05)
VersionIntroducedAvailable until
v25.0February 18, 2026Latest version
v24.0October 8, 2025October 6, 2026
v23.0May 29, 2025Not captured in this read

Where should the version string live?

Keep one setting for the upstream version and read it everywhere the uploader builds a URL. Keep the Sume side unchanged: submit the render with an Idempotency-Key, store the returned job id, and upload to Meta only after the job is completed. A retry with the same key returns the original job, so an upload-side failure never pays for a second render (Jobs and results).

Set the version in the environment and refuse to start without it. The sample builds URLs from a base and a version that you supply.

import os


def api_url(path: str) -> str:
    base = os.environ["META_GRAPH_BASE"].rstrip("/")
    version = os.environ.get("META_API_VERSION", "")
    if not version.startswith("v"):
        raise RuntimeError("Set META_API_VERSION, for example v25.0")
    return f"{base}/{version}/{path.lstrip('/')}"


if __name__ == "__main__":
    os.environ.setdefault("META_GRAPH_BASE", "https://graph.example.test")
    os.environ.setdefault("META_API_VERSION", "v25.0")
    print(api_url("me"))

What to check this week

The checklist is short because the render layer does not move.

  • Search the codebase for the literal v24.0 and replace each hit with the setting.
  • Re-run one end-to-end upload on v25.0 with a short Sume clip before the cutover.
  • Keep stored Sume job ids: finished renders do not need to be regenerated when the upload step changes.
  • Read the Marketing API changelog again before each quarter; the dates above are Meta's, not Sume's.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume