linkedin

Runs a LinkedIn Company Page from the harness: connect once over OAuth, then create, schedule, edit and delete posts, upload media, and address showcase pages.

Not offered for install. The source is public; the crate is Factory Zero’s own.

What it is

linkedin.

Connect a page once over OAuth and the module holds the tokens; after that it creates, schedules, edits and deletes posts, uploads media, and addresses showcase pages as well as the main one. Everything except the OAuth callback sits under /v1/linkedin/admin/* behind an admin token.

It is not on crates.io, and that is a rule rather than an oversight. Harness ADR 0005: a crate whose name starts fz- is not published, and arrives as a pinned git dependency. This one holds long-lived credentials for our own pages, so publishing it would put a credential-bearing integration on crates.io for the convenience of nobody. Its source is in the harness repository with every other crate — ADR 0013, one repository — so the button above opens all of it.

Ports

Database · Clock · Signer · HttpClient

Routes

/v1/linkedin

  • POST/v1/linkedin/admin/connect

    Returns an authorize URL and a single-use state

  • GET/v1/linkedin/callback

    publicSpends the state, exchanges the code, stores sealed tokens

  • GET/v1/linkedin/admin/status

    Account, scopes, both expiries, today's request budget

  • DELETE/v1/linkedin/admin/account

    Forgets the tokens; keeps the post history

  • GET/v1/linkedin/admin/pages

    Pages and showcases, with roles. ?kind=showcase filters

  • POST/v1/linkedin/admin/pages/{org}/images

    Raw image body, returns an asset

  • POST/v1/linkedin/admin/pages/{org}/posts

    Creates or schedules a post

  • PATCH/v1/linkedin/admin/posts/{id}

    Commentary, CTA label, landing page

History

Changelog.

Private, and not released on its own, so it keeps no changelog.

It is the module Factory Zero runs for its own pages.