Features
WebsitesPortfolioMediaConservationClient deliveryCoursesCommerceTeam
FoundationSolutionsPricing
DocumentationDeveloper APISoftwareGuides
About
AboutCommitmentNewsroom
Sign In
ArtInStack

The creative operating system

Product

  • Features overview
  • Websites
  • Portfolio
  • Media
  • Conservation
  • Client delivery
  • Courses
  • Commerce
  • Team
  • Solutions

Resources

  • Guides
  • Software
  • Documentation
  • Developer API
  • Platform foundation
  • Pricing
  • Changelog
  • Roadmap

About

  • About
  • Commitment
  • Newsroom
  • Status
  • Talk to us

Customer login

© 2026 ArtInStack. All rights reserved.

Privacy policyTerms of service

ArtInStack Developer Platform

Build custom integrations, automate workflows, and connect official clients like Lightroom Classic using the ArtInStack HTTP API. Open API reference.

Developer API
  • Overview
  • Authentication
  • OAuth 2.0
  • Personal access tokens
  • Scopes
  • Errors
  • Idempotency
  • Media
  • Portfolios
  • Lightroom Classic
  • Capture One
  • Photoshop
  • Developer settings
API reference
Developer API

Lightroom Classic

Install the ArtInStack publish service, OAuth-connect, pick a portfolio, and publish from Lightroom Classic on macOS or Windows.

This is the integration how-to for the official Lightroom Classic Publish Service. API reference: OAuth, Media, Portfolios.

Prerequisites

  • Lightroom Classic (supported min version per Software release notes)
  • ArtInStack account with at least one portfolio created in the dashboard
  • .zip from Software (unzips to ArtInStack.lrplugin)

Install

  1. Download ArtInStack-Lightroom-latest.zip from Software
  2. Unzip. You should get a folder named ArtInStack.lrplugin
  3. Lightroom Classic → Plug-in Manager → Add. Select that folder (macOS and Windows use the same zip)
  4. Enable the ArtInStack publish service

Connect (OAuth PKCE)

  1. In Publishing Manager, open the ArtInStack service
  2. Click Connect. The browser opens /oauth/authorize
  3. Sign in if prompted, then approve scopes
  4. Browser redirects to loopback; plugin stores access + refresh tokens
  5. Connected apps in Settings → Developer lists ArtInStack after consent

Pick a portfolio

  1. Destination → Portfolio loads GET /api/v1/portfolios
  2. Choose the portfolio for this publish collection
  3. Create one publish collection per portfolio (Lightroom left rail)

Publish

  1. Drag photos into the publish collection
  2. Click Publish. Lightroom renders per export settings (the plugin uploads JPEG today)
  3. Plugin uploads via POST /api/v1/media with Idempotency-Key and portfolio_id
  4. On success, plugin stores remote media_id on the photo for re-publish support

Supported API types (JPEG, PNG, GIF, WebP, TIFF) are listed on Media.

Troubleshooting

SymptomCheck
Connect failsLoopback redirect URI registered on platform OAuth client; firewall blocking localhost
Empty portfolio listportfolios:read granted; portfolio exists in same workspace as consent
Upload 403Missing media:write or portfolios:write
Duplicate uploads on retryStable Idempotency-Key per publish attempt

Disconnect

Use Disconnect in the plugin or Revoke access under Connected apps in the dashboard.