# OAuth Scopes Reference

This page lists the specific OAuth scopes required in external app for each SDK method.

## Assets

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `OR.Assets` or `OR.Assets.Read` |
| `getById()` | `OR.Assets` or `OR.Assets.Read` |
| `getByName()` | `OR.Assets` or `OR.Assets.Read` |
| `updateValueById()` | `OR.Assets` or `OR.Assets.Write` |

## Jobs

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `OR.Jobs` or `OR.Jobs.Read` |
| `getById()` | `OR.Jobs` or `OR.Jobs.Read` |
| `getOutput()` | `OR.Jobs` or `OR.Jobs.Read`, `OR.Folders` or `OR.Folders.Read` |
| `stop()` | `OR.Jobs` |
| `resume()` | `OR.Jobs` or `OR.Jobs.Write` |
| `restart()` | `OR.Jobs` |

## Attachments

| Method | OAuth Scope |
|--------|-------------|
| `getById()` | `OR.Folders` or `OR.Folders.Read` |

## Buckets

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `OR.Buckets` or `OR.Buckets.Read` |
| `getById()` | `OR.Buckets` or `OR.Buckets.Read` |
| `getByName()` | `OR.Buckets` or `OR.Buckets.Read` |
| `getFileMetaData()` | `OR.Buckets` or `OR.Buckets.Read` |
| `getReadUri()` | `OR.Buckets` or `OR.Buckets.Read` |
| `uploadFile()` | `OR.Buckets` |
| `deleteFile()` | `OR.Buckets` or `OR.Buckets.Write` |
| `getFiles()` | `OR.Buckets` or `OR.Buckets.Read` |

## Entities

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `DataFabric.Schema.Read` |
| `getById()` | `DataFabric.Schema.Read` |
| `getAllRecords()` | `DataFabric.Data.Read` |
| `getRecordById()` / `getRecord()`  | `DataFabric.Data.Read` |
| `insertRecordById()` / `insertRecord()` | `DataFabric.Data.Write` |
| `insertRecordsById()` / `insertRecords()` | `DataFabric.Data.Write` |
| `deleteRecordsById()` / `deleteRecords()` | `DataFabric.Data.Write` |
| `deleteRecordById()` / `deleteRecord()` | `DataFabric.Data.Write` |
| `updateRecordById()` / `updateRecord()` | `DataFabric.Data.Write` |
| `updateRecordsById()` / `updateRecords()` | `DataFabric.Data.Write` |
| `downloadAttachment()` | `DataFabric.Data.Read` |
| `uploadAttachment()` | `DataFabric.Data.Write` |
| `deleteAttachment()` | `DataFabric.Data.Write` |
| `queryRecordsById()` / `queryRecords()` | `DataFabric.Data.Read` |
| `importRecordsById()` / `importRecords()` | `DataFabric.Data.Write` |

## ChoiceSets

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `DataFabric.Schema.Read` |
| `getById()` | `DataFabric.Data.Read` |

## Maestro Processes

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `PIMS` |
| `getIncidents()` | `PIMS` |
| `getTopRunCount()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getTopFaultedCount()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getTopElementFailedCount()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getInstanceStatusTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getIncidentsTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getTopExecutionDuration()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getElementStats()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getInstanceStats()` | `Insights.RealTimeData Insights OR.Folders.Read` |

## Maestro Process Instances

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `PIMS` |
| `getById()` | `PIMS` |
| `getExecutionHistory()` | `PIMS` `Traces.Api` |
| `getBpmn()` | `OR.Execution.Read` |
| `getVariables()` | `PIMS` |
| `getIncidents()` | `PIMS` |
| `cancel()` | `PIMS` |
| `pause()` | `PIMS` |
| `resume()` | `PIMS` |
| `retry()` | `PIMS` |

## Maestro Cases

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `PIMS` |
| `getTopRunCount()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getTopFaultedCount()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getTopElementFailedCount()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getInstanceStatusTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getIncidentsTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getTopExecutionDuration()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getElementStats()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getInstanceStats()` | `Insights.RealTimeData Insights OR.Folders.Read` |

## Maestro Case Instances

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `PIMS OR.Execution.Read` |
| `getById()` | `PIMS OR.Execution.Read` |
| `close()` | `PIMS` |
| `pause()` | `PIMS` |
| `resume()` | `PIMS` |
| `reopen()` | `PIMS` |
| `sendMessage()` | `PIMS` |
| `getExecutionHistory()` | `PIMS` |
| `getStages()` | `PIMS OR.Execution.Read` |
| `getActionTasks()` | `OR.Tasks` or `OR.Tasks.Read` |
| `getSlaSummary()` | `Insights.RealTimeData Insights OR.Folders.Read PIMS` |
| `getStagesSlaSummary()` | `Insights.RealTimeData Insights OR.Folders.Read PIMS` |

## Conversational Agent

To use the full Conversational Agent functionality (discover agents, manage conversations, stream real-time responses via WebSocket sessions, and retrieve history), your external app needs the following combined scopes:

`OR.Execution` · `OR.Folders` · `OR.Jobs` · `ConversationalAgents` · `Traces.Api`

/// note
The `ConversationalAgents` scope is required for real-time WebSocket sessions (`startSession()`). Without it, REST API calls for agents and conversations will work, but the socket connection will fail.
///

### Agents

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `OR.Execution` or `OR.Execution.Read` |
| `getById()` | `OR.Execution` or `OR.Execution.Read` |
| `downloadCitationSource()` | NA |

### Conversations

| Method | OAuth Scope |
|--------|-------------|
| `create()` | `OR.Execution`, `OR.Folders`, `OR.Jobs` |
| `getAll()` | `OR.Execution` or `OR.Execution.Read`, `OR.Jobs` or `OR.Jobs.Read` |
| `getById()` | `OR.Execution` or `OR.Execution.Read`, `OR.Jobs` or `OR.Jobs.Read` |
| `updateById()` | `OR.Execution`, `OR.Jobs` |
| `deleteById()` | `OR.Execution`, `OR.Jobs` |
| `startSession()` | `OR.Execution`, `OR.Jobs`, `ConversationalAgents` |
| `uploadAttachment()` | `OR.Execution`, `OR.Jobs` |

### Exchanges

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `OR.Execution` or `OR.Execution.Read`, `OR.Jobs` or `OR.Jobs.Read` |
| `getById()` | `OR.Execution` or `OR.Execution.Read`, `OR.Jobs` or `OR.Jobs.Read` |
| `createFeedback()` | `OR.Execution`, `OR.Jobs`, `Traces.Api` |

### Messages

| Method | OAuth Scope |
|--------|-------------|
| `getById()` | `OR.Execution` or `OR.Execution.Read`, `OR.Jobs` or `OR.Jobs.Read` |
| `getContentPartById()` | `OR.Execution` or `OR.Execution.Read`, `OR.Jobs` or `OR.Jobs.Read` |

### User Settings

| Method | OAuth Scope |
|--------|-------------|
| `getSettings()` | `OR.Users` or `OR.Users.Read` |
| `updateSettings()` | `OR.Users` |

### Feedback

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `Traces.Api` |
| `getById()` | `Traces.Api` |
| `submit()` | `Traces.Api` |
| `updateById()` | `Traces.Api` |
| `deleteById()` | `Traces.Api` |
| `createCategory()` | `Traces.Api` |
| `getCategories()` | `Traces.Api` |
| `deleteCategory()` | `Traces.Api` |

### Agent Memory

| Method | OAuth Scope |
|--------|-------------|
| `getTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getCallsTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getTopSpaces()` | `Insights.RealTimeData Insights OR.Folders.Read` |

## Traces

| Method | OAuth Scope |
|--------|-------------|
| `getById()` | `Traces.Api` |
| `getSpansByIds()` | `Traces.Api` |

## Governance

| Method | OAuth Scope |
|--------|-------------|
| `getPolicyTraces()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getOperationSummary()` | `Insights.RealTimeData Insights OR.Folders.Read` |

## Processes

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `OR.Execution` or `OR.Execution.Read` |
| `getById()` | `OR.Execution` or `OR.Execution.Read` |
| `getByName()` | `OR.Execution` or `OR.Execution.Read` |
| `start()` | `OR.Jobs` or `OR.Jobs.Write` |

## Queues

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `OR.Queues` or `OR.Queues.Read` |
| `getById()` | `OR.Queues` or `OR.Queues.Read` |

## Tasks

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `OR.Tasks` or `OR.Tasks.Read` |
| `getById()` | `OR.Tasks` or `OR.Tasks.Read` |
| `getUsers()` | `OR.Tasks` or `OR.Tasks.Read` |
| `getFormTaskById()` | `OR.Tasks` or `OR.Tasks.Read` |
| `create()` | `OR.Tasks` or `OR.Tasks.Write` |
| `assign()` | `OR.Tasks` or `OR.Tasks.Write` |
| `reassign()` | `OR.Tasks` or `OR.Tasks.Write` |
| `unassign()` | `OR.Tasks` or `OR.Tasks.Write` |
| `complete()` | `OR.Tasks` or `OR.Tasks.Write` |

## Agents

| Method | OAuth Scope |
|--------|-------------|
| `getAll()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getErrors()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getErrorsTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getConsumptionTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getLatencyTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getTopErrorCount()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getTopConsumption()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getIncidentDistribution()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getSummary()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getUnitConsumptionSummary()` | `Insights.RealTimeData Insights OR.Folders.Read` |

## Agent Traces

| Method | OAuth Scope |
|--------|-------------|
| `getErrorsTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getLatencyTimeline()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getUnitConsumption()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getSpansByTraceId()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getSpansByReference()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getGovernanceDecisions()` | `Insights.RealTimeData Insights OR.Folders.Read` |
| `getGovernanceSummary()` | `Insights.RealTimeData Insights OR.Folders.Read` |
