Kittl · OAuth Scopes

Kittl OAuth Scopes

OAuth 2.0 searched

Kittl publishes 12 OAuth 2.0 scopes. Scopes are the fine-grained permissions an application requests at authorization time to act against the Kittl API on a user’s behalf.

This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.

CompanyDesignGraphic DesignCreative ToolsSDKDeveloper PlatformExtensionsPrint on DemandE-CommerceArtificial IntelligenceMockupsTypography
Scopes: 12 Flows: Method: searched

Scopes (12)

ScopeDescriptionFlows
design:state:read Read design and editor state via SDK APIs.
design:state:write Update design state (for example add, remove, and update objects).
uploads:create Upload files with kittl.upload.image.upload({ blob }); apps can then use their own uploaded files.
uploads:global:read Allows an app to read all uploads available in the current workspace (not limited to the current user's uploads).
ai:credit:spend Spend AI credits via kittl.ai.spendCredits.
fonts:read Read fonts created by the extension.
fonts:write Create or modify fonts created by the extension via kittl.data.fonts.
fonts:read:global Read all custom fonts available to the user.
fonts:write:global Modify all custom fonts available to the user.
data:mockups:read Browse and search the mockup catalog via kittl.data.mockups.
workspace:state:read Reserved for workspace state reads.
workspace:state:write Reserved for workspace state writes.

Source

OAuth Scopes

kittl-scopes.yml Raw ↑
generated: '2026-07-19'
method: searched
source: https://sdk-docs.kittl.dev/getting-started/scopes
docs: https://sdk-docs.kittl.dev/getting-started/scopes
schema: https://api.kittl.com/extensions/manifest/schema.json
model: sdk-scopes
model_note: >-
  These are NOT OAuth 2.0 authorization-server scopes. Kittl's scope system governs which
  SDK operations a sandboxed app may call inside the editor host. Scopes are declared
  statically by the developer in manifest.json under `config.scopes` (a required field)
  and enforced by the host at call time. Kittl separately supports OAuth as a *client*
  — an app may declare third-party OAuth providers under `config.oauthProviders` and run
  the flow via kittl.auth — but Kittl does not publish an authorization server of its own.
  See authentication/kittl-authentication.yml.
declaration:
  file: manifest.json
  path: config.scopes
  required: true
  empty_allowed: true
  empty_behavior: >-
    An empty array ([]) is valid; with an empty scope set many SDK calls will be denied
    by scope checks.
error_behavior: >-
  Calling a method without the required scope fails with an SDK error result
  (isOk: false) and a permission-denied style message. Kittl advises requesting the
  smallest scope set that covers all methods the app calls.
scopes:
- scope: design:state:read
  description: Read design and editor state via SDK APIs.
  methods:
  - kittl.design.canvas.getPreviewImage
  - kittl.design.canvas.getScreenshot
  - kittl.design.canvas.getExport
  - kittl.design.object.getObject
  - kittl.design.object.getAllByFilter
  - kittl.state.viewport.get
  - kittl.state.getSelectedObjectsIds
  - kittl.state.getSelectedLayersIds
  - kittl.state.getSelectedArtboardIds
  - kittl.state.getCanvasMode
  - kittl.state.getActiveTool
  - kittl.state.getHighlightedObjectId
- scope: design:state:write
  description: >-
    Update design state (for example add, remove, and update objects).
  methods:
  - kittl.design.board.createStandardBoard
  - kittl.design.board.cloneArtboard
  - kittl.design.board.updateArtboard
  - kittl.design.text.addText
  - kittl.design.text.updateText
  - kittl.design.text.updateRenderPlugin
  - kittl.design.text.updateDecorationPlugin
  - kittl.design.shape.createPredefinedShape
  - kittl.design.shape.createBasicShape
  - kittl.design.shape.updateShape
  - kittl.design.shape.convertShapeToMask
  - kittl.design.image.addImage
  - kittl.design.image.updateImage
  - kittl.design.video.addVideo
  - kittl.design.video.updateVideo
  - kittl.design.video.updatePlaylistItem
  - kittl.design.video.removePlaylistItem
  - kittl.design.object.removeObject
  - kittl.design.object.setLockedState
  - kittl.design.object.setHiddenState
  - kittl.design.object.rotateObject
  - kittl.design.object.rename
  - kittl.design.config.setConfig
  - kittl.design.loadingCard.createLoadingCard
  - kittl.design.loadingCard.updateLoadingCard
  - kittl.design.mockupboard.addMockupBoard
  - kittl.design.mockupboard.addMockupDesignObject
  - kittl.design.mockupboard.updateMockupBoard
  - kittl.state.setSelectedObjectsIds
  - kittl.state.setSelectedLayersIds
  - kittl.state.setSelectedArtboardIds
  - kittl.state.setCanvasMode
  - kittl.state.setActiveTool
  - kittl.state.setHighlightedObjectId
  - kittl.state.setMany
  - kittl.state.viewport.set
- scope: uploads:create
  description: >-
    Upload files with kittl.upload.image.upload({ blob }); apps can then use their own
    uploaded files.
  methods:
  - kittl.upload.image.upload
- scope: uploads:global:read
  description: >-
    Allows an app to read all uploads available in the current workspace (not limited to
    the current user's uploads).
- scope: ai:credit:spend
  description: Spend AI credits via kittl.ai.spendCredits.
  methods:
  - kittl.ai.spendCredits
  - kittl.ai.startGeneration
  - kittl.ai.registerHandler
- scope: fonts:read
  description: Read fonts created by the extension.
  methods:
  - kittl.data.fonts.listExtensionFonts
  - kittl.data.fonts.get
  - kittl.data.fonts.find
  method_note: These methods accept fonts:read or fonts:read:global.
- scope: fonts:write
  description: Create or modify fonts created by the extension via kittl.data.fonts.
  methods:
  - kittl.data.fonts.create
  - kittl.data.fonts.update
  - kittl.data.fonts.delete
  - kittl.data.fonts.destroy
  - kittl.data.fonts.addStyle
  - kittl.data.fonts.updateStyle
  method_note: >-
    kittl.data.fonts.create requires fonts:write specifically; the remaining write
    methods accept fonts:write or fonts:write:global.
- scope: fonts:read:global
  description: Read all custom fonts available to the user.
  methods:
  - kittl.data.fonts.listUserFonts
- scope: fonts:write:global
  description: Modify all custom fonts available to the user.
- scope: data:mockups:read
  description: Browse and search the mockup catalog via kittl.data.mockups.
  methods:
  - kittl.data.mockups.get
  - kittl.data.mockups.getOverview
  - kittl.data.mockups.getGroup
  - kittl.data.mockups.search
  - kittl.data.mockups.getSuggestions
- scope: workspace:state:read
  description: Reserved for workspace state reads.
  status: reserved
- scope: workspace:state:write
  description: Reserved for workspace state writes.
  status: reserved
exempt_methods:
  note: Always allowed regardless of declared scopes.
  methods:
  - method: kittl.context.get
    purpose: Host context (drag-and-drop offset)
  - method: kittl.dragAndDrop.startDragImageEvent
    purpose: Client-side drag-and-drop helper
  - method: kittl.dragAndDrop.dropImage
    purpose: Client-side drag-and-drop helper
  - method: kittl.stateless.send
    purpose: Inter-extension messaging
  - method: kittl.stateless.subscribe
    purpose: Inter-extension messaging
  - method: kittl.stateless.unsubscribe
    purpose: Inter-extension messaging
  - method: kittl.onReady
    purpose: SDK readiness callback

Work with this as data

Every scope set here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for oauth scopes

4 MCP tools reach this
  • find_scopesBrowse and filter every scope set in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This scope set
curl "https://apis.io/api/v1/scopes/kittl-scopes"
All oauth scopes
curl "https://apis.io/api/v1/scopes?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.