Features
Websites & publishingPortfolio engineMedia & deliveryConservation & fieldworkClient deliveryCoursesCommerce & operationsTeam & workflow
FoundationSolutionsPricing
DocumentationDeveloper APIGuides
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
  • API reference
  • Media
  • Portfolios
  • Lightroom Classic
  • Developer settings
Developer API

Lightroom Classic

Install the ArtInStack publish service, OAuth-connect, pick a portfolio, and publish rendered JPEGs 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-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 — browser opens /oauth/authorize
  3. Sign in if prompted → 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 JPEG per export settings
  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

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.