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

Scopes

Capability strings granted at consent or PAT creation; v1 Lightroom uses media and portfolio scopes only.

Scopes are capabilities, not dashboard roles. Identity, workspace binding, and resource ownership still apply after scope checks.

v1 scope table

ScopeIntent
media:readRead library media
media:writeUpload media
media:deleteDelete media (dangerous — separate scope)
portfolios:readList and read portfolios
portfolios:writeAttach media to portfolios; portfolio_id on media create

Lightroom Classic (platform client) uses: media:read, media:write, portfolios:read, portfolios:write.

Later scopes

ScopeIntent
observations:read / observations:writeDwC / taxon on media_id
surveys:read / surveys:writeConservation surveys
deployments:read / deployments:writeDeployments
media:geo:readUnrestricted geo (future)

Out of scope for API Bearer auth

These stay on dashboard session RBAC — not API scopes:

  • Billing, subscription, team invite
  • workspace:admin or similar dashboard-admin capabilities

Consent UI shows human-readable labels with the technical scope as secondary text.