LinkedIn-Version has no default: pin YYYYMM in your video poster

LinkedIn does not apply the latest API version when the header is missing. Pin a YYYYMM value in config and fail loudly if it is unset.

5 min readSume
All posts

LinkedIn expects every versioned Marketing API call to carry a Linkedin-Version header in YYYYMM format, and the latest version is not applied by default. For a video poster, store the version string in one setting, send it on every call, and fail the deploy when it is empty.

LinkedIn's versioning page lists September 2026 (202609) as the latest version, and says versions follow a monthly cycle and are supported for at least one year before sunset.

What are the header rules?

The page gives these rules.

LinkedIn versioned API rules (read 2026-10-05)
RuleWhat LinkedIn says
Header nameLinkedin-Version
FormatYYYYMM, for example 202601 for January 2026
Base pathhttps://api.linkedin.com/rest/
DefaultNo default: the latest version is not applied when the header is missing
Support windowMinimum of one year before sunset
MigrationChange the YYYYMM value in the header to the newer version's

How do I keep it in one place?

Build headers in one function so a version bump is a one-line change. The sample refuses to run without a version and also sets the Rest.li protocol header that LinkedIn's own example sends.

import os


def linkedin_headers(token: str) -> dict:
    version = os.environ.get("LINKEDIN_VERSION", "")
    if len(version) != 6 or not version.isdigit():
        raise RuntimeError("Set LINKEDIN_VERSION as YYYYMM, for example 202609")
    return {
        "Authorization": f"Bearer {token}",
        "Linkedin-Version": version,
        "X-Restli-Protocol-Version": "2.0.0",
        "Content-Type": "application/json",
    }


if __name__ == "__main__":
    os.environ.setdefault("LINKEDIN_VERSION", "202609")
    print(sorted(linkedin_headers("token").keys()))

Where does Sume come in?

Sume renders the clip and returns a durable job; the LinkedIn version only matters for the posting step. Submit with an Idempotency-Key, store the job id, and post only after the job is completed, so a LinkedIn-side change never forces a second render (Jobs and results).

Sources

Related posts

More in Developers

All Developers posts

Written by Sume