- deferred-gates.md: Gate 0.8 RESOLVED — clean-room Postgres 17 + Redis 7 in a dedicated Dokploy project; service names, hosts, env-var locations recorded. - linkedin-apps.md: app created (Client ID 78s8f53y5spyo4), company-page + business-email verified, Community Management API Development Tier submitted (review in progress). Notes that other products grey out while CMA is pending. - docs/handoffs/2026-05-13-handoff.md: committed (was untracked). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7.6 KiB
LinkedIn Developer Portal — Application Registry
Status tracker for Stargue's LinkedIn apps. Every row must stay current — Claude Code verifies against this file during Stage 0 DoD 0.9.
App: Stargue Publishing Engine (created 2026-06-03)
- Client ID:
78s8f53y5spyo4 - Client Secret: present on Auth tab (Primary Client Secret) — copy to Dokploy secret
LINKEDIN_CLIENT_SECRET, never commit - App type: Standalone app
- LinkedIn Page: Stargue (
urn:li:organization:2605890) — association is permanent, NOT yet verified (see below) - Privacy policy URL: https://stargue.com/privacy (live 2026-06-03) ✅
- Business email:
info@stargue.com— verified 2026-06-03 ✅ (required for CMA) - Access-token TTL: 2 months / 5,184,000 s (confirms the 60-day re-auth design; programmatic refresh is MDP-gated)
- Authorized redirect URLs: none added yet
- OAuth scopes: none yet
Status update — 2026-06-03 13:15
Community Management API (Development Tier) = SUBMITTED → "Review in progress." Access form completed (legal name Stargue N.V., Curaçao address Dwarsweg 9 Julianadorp LP71, website stargue.com, 3 use cases: Page management + Page analytics + Profile management, first-party compliance description). Decision comes by email to info@stargue.com. (Note: the Qualtrics "session expired" end-screen was a false alarm — it did submit.)
⚠️ NEW OBSERVATION — once CMA was requested, ALL other products greyed out (Share on LinkedIn, Sign In with OpenID Connect, etc. now show disabled "Request access"). Uncertain (not yet confirmed) whether this is:
- (a) temporary — a lock while CMA is in review, that lifts on approval; or
- (b) permanent — CMA apps are meant to be CMA-only (consistent with FAQ #1/#2 treating CMA + other products as a separate-app pattern).
Architecture decision deferred pending CMA outcome:
- If other products un-grey after CMA approval → keep single app, add Sign In + Share here.
- If they stay greyed → two-app split after all: this app = CMA (company + profile posting via CMA), a second app = Sign In (OIDC identity) + Share on LinkedIn (
w_member_social). - Possible simplification: CMA's Profile management use case may already cover posting to Angelo's own profile, reducing/eliminating the need for a separate "Share on LinkedIn" product. Confirm when wiring OAuth scopes.
⚠️ Why the Community Management API is greyed — VERIFIED (2026-06-03)
The app has no other products, so FAQ #4 ("greyed because the app already has other products") is not the cause here. The real prerequisites — confirmed against LinkedIn docs and visible on the app's Settings tab — are:
- Company-Page verification (PRIMARY GATE). Settings shows "This app is not verified as being associated with this company" + a Verify button. A super-admin of the Stargue Company Page must approve the app↔page association. CMA stays greyed until done. Dependency: Angelo must be, or have access to, a super-admin of the Stargue Page.
- Business-email verification. Settings banner: "Update your business email…". The CMA access form requires a verified business email.
- Access-form requirements. CMA is for registered legal organizations, commercial use only. Form asks for: legal org name, registered address (Curaçao), website, privacy policy URL (✅ live), verified business email.
- Secondary — product order (FAQ #4). If an app already has other products, the CMA request greys out. Not our cause today (clean app), but it means: request CMA before adding Share/Sign In, or keep CMA on its own app.
Corrected recommendation: single app, CMA-first
- Verify the app ↔ Stargue Page (super-admin approves).
- Set + verify the business email.
- Request Community Management API first → complete access form → Development Tier (limits: 500 req/app, 100 req/member).
- Apply Standard Tier (access form + screencast demonstrating each use case).
- Then add Share on LinkedIn + Sign In with OpenID Connect (instant) for personal posting + identity.
(Two-app split — CMA on its own app, Share/Sign In on another — remains a fallback if Page verification cannot be completed on this app.)
Products — observed state (2026-06-03 Products tab)
| Product | Needed for | Self-service? | State on this app |
|---|---|---|---|
| Community Management API | Company-page posts (w_organization_social, r_organization_social) |
No — needs verification + Dev→Standard | 🔒 Greyed — pending Page verification + business email |
| Sign In with OpenID Connect | Identity / whoami (openid profile email) |
Yes (instant) | Available — request AFTER CMA |
| Share on LinkedIn | Personal-profile posts (w_member_social) |
Yes (instant) | Available — request AFTER CMA |
| Marketing Developer Platform / Advertising / Lead / Conversions | Programmatic refresh tokens; marketing | No (partner review) | Greyed; optional (60-day re-auth fallback exists) |
Other products present but not needed: LinkedIn Ad Library, Verified on LinkedIn (available); Live Events, Events Mgmt, Member/Pages Data Portability (greyed).
OAuth redirect URIs
Add under the app's Auth tab (not yet done):
- Production:
https://publishing.stargue.net/auth/linkedin/callback(note:publishing.stargue.netsubdomain is Stage 5+; admin app not built yet) - Local dev:
http://localhost:3002/auth/linkedin/callback
Client credentials
Dokploy secrets on sg-paas-s1.stargue.net (project stargue-publishing-engine, once app services exist in Stage 5+):
LINKEDIN_CLIENT_ID=78s8f53y5spyo4LINKEDIN_CLIENT_SECRET= (from Auth tab — pending copy)LINKEDIN_TOKEN_ENCRYPTION_KEY(32-byte; AES-256-GCM per D-001 — seedeferred-gates.md)
Manual setup checklist (Stage 0.9)
- ✅ Sign in to
https://www.linkedin.com/developers/as Angelo. - ✅ Create app "Stargue Publishing Engine" linked to Page
urn:li:organization:2605890(Client ID78s8f53y5spyo4). - ✅ Privacy policy URL live at https://stargue.com/privacy.
- ✅ Verify app ↔ Company Page (done 2026-06-03 — un-greyed all products). PRIMARY gate for CMA.
- ✅ Business email verified —
info@stargue.com(2026-06-03). - ☐ ← NEXT: Request Community Management API FIRST: add product → complete access form (legal name Stargue Inc., Curaçao address, website, privacy URL, business email
info@stargue.com) → Dev Tier → apply Standard Tier later (screencast). - ☐ THEN request Sign In + Share on LinkedIn (instant).
- ☐ Auth tab: add redirect URIs above.
- ☐ Copy Client Secret → Dokploy secret
LINKEDIN_CLIENT_SECRET(never commit). - ☐ Keep this file current with app IDs + states.