Skip to main content

Salesforce Data & API Access Reference

This page is a deep technical reference for administrators and security teams who want to know exactly what Salesforce data and APIs Jetstream interacts with on a user's behalf.

It is the companion to Required Salesforce Permissions — start there for the short answer; come here for the object-by-object and field-by-field detail.

The tables below cover the Salesforce objects, fields, and APIs that Jetstream itself reads or writes to make a feature work. They do not cover the data a user chooses to query, load, or modify themselves — that is governed entirely by that user's own object, field, and sharing access.

info

We strive to keep this reference accurate and current, but Jetstream evolves continuously. The exact set of fields requested for a given object can change between releases, and this page is not guaranteed to enumerate every field at every moment. Treat it as an authoritative overview rather than a byte-for-byte contract. Jetstream can never access more than the connected user is already permitted to access in Salesforce.

Jetstream's guiding principle

Every Salesforce request is made with the authenticated user's own access token. Object-level security, field-level security, sharing rules, and every other Salesforce restriction are always enforced. If a user cannot read or change something in Salesforce directly, they cannot do it through Jetstream either.

Jetstream only explicitly checks two things itself:

  1. API access — without it, no org can connect and nothing works.
  2. Metadata access (Modify Metadata or Modify All Data) — used only to show an advisory "Limited Access" badge. It does not block features; metadata features simply attempt their operation and fail individually if the permission is missing.

Everything else is enforced by Salesforce itself for the equivalent operation.

Salesforce APIs Jetstream uses

APIUsed forEndpoint family
RESTSOQL queries, describe, record CRUD (composite), file download/services/data/vXX.0/...
ToolingSetup-object queries & metadata-field updates (permissions, automation, debug, field metadata)/services/data/vXX.0/tooling/...
Bulk API 2.0Large query exports/services/data/vXX.0/jobs/query
Bulk API 1.0Bulk data loads (insert/update/upsert/delete/hard delete)/services/async/vXX.0/...
Metadata (SOAP)Deploy / retrieve / list / read / describe metadata/services/Soap/m/vXX.0
Apex (SOAP)Anonymous Apex (executeAnonymous)/services/Soap/s/vXX.0
Partner (SOAP)Record undelete/services/Soap/u/vXX.0
CometDPlatform Event / Change Data Capture subscriptions/cometd/vXX.0

All of these require the API Enabled permission.

Access that happens automatically

These are the only Salesforce calls Jetstream makes without a user explicitly choosing to run a feature. Everything else in this document is triggered by opening a specific tool.

WhenObject / endpointFieldsAPIIf access is denied
Connecting an org/services/oauth2/userinfoIdentity claimsOAuthOrg connection fails
Connecting an orgIdentity URL /id/{orgId}/{userId}user_id, email, username, display_name, organization_id, photosRESTOrg connection fails
Connecting an orgOrganizationId, Name, Country, OrganizationType, InstanceName, IsSandbox, LanguageLocaleKey, NamespacePrefix, TrialExpirationDateREST queryIf the REST API is disabled, connection fails. Other errors are tolerated — the org name simply shows as "Unknown Organization"
Selecting an orgUserPermissionAccessId, PermissionsModifyAllData, PermissionsModifyMetadataREST queryTolerated; only affects the advisory "Limited Access" badge

Access by feature

The "Access" column uses R (read) and W (write). "Degrades" describes what happens if the user lacks the underlying Salesforce access.

Query & describe (used across most features)

Object / callFieldsAPIAccessDegrades
describeGlobalObject listREST / ToolingRObject pickers cannot populate, most pages may not function at all
describeSObjectField, child-relationship, record-type metadataREST / ToolingRField pickers cannot populate for that object, most pages may not function at all
User-authored SOQLUser-selectedREST / Tooling / Bulk 2.0RGoverned by the user's object & field access

Load & record operations

Object / callFieldsAPIAccessDegrades
User-selected sObjectUser-selectedREST composite, Bulk API 1.0R/WGoverned by object & FLS; Hard Delete additionally needs Bulk API Hard Delete
User-selected sObject (undelete)Record IdsPartner SOAPWGoverned by object access
Attachment, ContentVersion, DocumentBinary bodyRESTR/WGoverned by object & FLS

Create Records (without a file)

Object / callFieldsAPIAccessDegrades
User-selected sObjectUser-entered field valuesREST create / retrieveR/WNeeds object Create + FLS only. A metadata-access banner may appear, but creating records uses the standard data API — Modify Metadata / Modify All Data is not required

Manage Permissions

ObjectFieldsAPIAccessDegrades
ObjectPermissionsId, SobjectType, PermissionsRead, PermissionsCreate, PermissionsEdit, PermissionsDelete, PermissionsModifyAllRecords, PermissionsViewAllRecords, PermissionsViewAllFields, ParentId, Parent.{Id,Name,IsOwnedByProfile,ProfileId}RESTR/WCannot view/edit object permissions
FieldPermissionsId, SobjectType, Field, PermissionsRead, PermissionsEdit, ParentId, Parent.{Id,Name,IsOwnedByProfile,ProfileId} (plus a describe of FieldPermissions to validate permissionable fields)RESTR/WCannot view/edit field permissions
PermissionSetTabSettingId, Name, Visibility, ParentId, Parent.{Id,Name,IsOwnedByProfile,ProfileId}RESTR/WCannot view/edit tab visibility
EntityParticleQualifiedApiName, Label, DataType, DurableId, EntityDefinition.QualifiedApiName, FieldDefinitionId, NamespacePrefix, IsCompound, IsCreatable, IsUpdatable, IsPermissionableToolingRField list cannot load
TabDefinitionId, Name, Label, SobjectNameToolingRTab list cannot load
PermissionSet (+ Profile)Id, Name, Label, Type, IsCustom, IsOwnedByProfile, NamespacePrefix, ProfileId, Profile.{Id,Name,UserType}RESTRProfile / permission-set list cannot load

Saving changes writes back to ObjectPermissions, FieldPermissions, and PermissionSetTabSetting, which requires Manage Profiles and Permission Sets.

Automation Control

ObjectFieldsAPIAccessDegrades
ApexTriggerId, Name, ApiVersion, EntityDefinitionId, EntityDefinition.QualifiedApiName, Status, CreatedBy.{...}, LastModifiedBy.{...}, CreatedDate, LastModifiedDateToolingR + status WCannot list / toggle triggers
ValidationRuleId, Active, Description, EntityDefinitionId, EntityDefinition.QualifiedApiName, ErrorDisplayField, ErrorMessage, ValidationName, NamespacePrefix, CreatedBy/LastModifiedBy/datesToolingR/WCannot list / toggle validation rules
WorkflowRuleId, Name, TableEnumOrId, NamespacePrefix, CreatedBy/LastModifiedBy/datesToolingR/WCannot list / toggle workflow rules
FlowDefinitionView (+ Versions)Id, ManageableState, IsTemplate, ActiveVersionId, Label, ApiName, Description, DurableId, IsActive, LastModifiedBy, LastModifiedDate, LatestVersionId, NamespacePrefix, ProcessType, TriggerObjectOrEventId, TriggerObjectOrEvent.QualifiedApiName, TriggerObjectOrEventLabel, TriggerTypeRESTR + activation W (Tooling composite)Cannot list / activate flows & process builders
DuplicateRuleId, DeveloperName, MasterLabel, IsActive, SobjectType, SobjectSubtype, NamespacePrefix, CreatedBy/LastModifiedBy/datesREST (read) + Metadata API (write)R/WCannot list / toggle duplicate rules

Debug Logs & Anonymous Apex

Object / callFieldsAPIAccessDegrades
ApexLogId, LogUser.{Id,Name,Username}, Application, Operation, Status, Location, LogLength, Request, RequestIdentifier, DurationMilliseconds, StartTime, LastModifiedDate, SystemModstamp (+ fetch Body, + delete)RESTR/WCannot view / purge logs
TraceFlagId, LogType, TracedEntityId, StartDate, ExpirationDate, DebugLevelIdToolingR/WLogs may not be captured (trace auto-created/extended for the current user)
DebugLevelId, DeveloperName, ApexCode, ApexProfiling, Callout, Database, System, Validation, Visualforce, Wave, WorkflowToolingR/WA debug level is created if none exists
executeAnonymousApex body + debugging headerApex SOAPWAnonymous Apex cannot run

Create Object & Fields / Record Type & Picklist Manager

Object / callFieldsAPIAccessDegrades
GlobalValueSetId, DeveloperName, NamespacePrefix, MasterLabelRESTRCannot reuse global value sets in picklists
CustomFieldId, DeveloperName, FullName, Metadata, NamespacePrefixToolingRCannot inspect existing field metadata
PermissionSet (+ Profile)See Manage PermissionsRESTRCannot assign FLS on new fields
Metadata deployObject/field/record-type/picklist definitionsMetadata SOAPWCannot create or update the metadata

Field utilities (field list, "Where is this used", roll-up details)

ObjectFieldsAPIAccessDegrades
CustomFieldId, Metadata / Id, DeveloperName, EntityDefinitionId, TableEnumOrIdToolingRRoll-up / field detail unavailable
MetadataComponentDependencyMetadataComponentId, MetadataComponentName, MetadataComponentNamespace, MetadataComponentTypeToolingR"Where is this used" unavailable
FieldDefinitionId, QualifiedApiName, Label, MasterLabel, DataType, ValueTypeId, ReferenceTo, ExtraTypeInfo, RelationshipName, IsCompound, IsNameField, IsNillable, IsCalculated, IsApiFilterable, IsApiGroupable, IsApiSortable, …ToolingRDetailed field metadata unavailable

Deploy & Compare Metadata (metadata browser)

Object / callFieldsAPIAccessDegrades
describeMetadata / listMetadata / readMetadata / retrieve / deployMetadata componentsMetadata SOAPR/WDeploy/retrieve/compare unavailable
RecordTypeDeveloperName, SobjectTypeToolingRPerson Account record-type names may be mislabeled
FolderId, DeveloperName, ParentId, TypeToolingRFolderized metadata paths may be incomplete
<CustomMetadataType>__mdtId, QualifiedApiName, SystemModstampToolingRLast-modified date missing for custom metadata records
StaticResourceComponent metadataTooling / RESTRStatic-resource retrieval affected

Formula Evaluator & assignee popovers

ObjectFieldsAPIAccessDegrades
UserId, Name, Username, Profile.NameRESTRCannot search users / show assignees
PermissionSetAssignmentAssignee.{Id,Name,Username}RESTRCannot show permission-set assignees

Platform Event Monitor

Object / callFieldsAPIAccessDegrades
describeGlobal (filtered to __e / ChangeEvent / EventStream)Object listRESTRCannot discover events
Event channel subscribeEvent payloadsCometDRCannot receive events
Event publishUser-entered payloadREST createWCannot publish events

Complete object index

Every Salesforce object Jetstream reads or writes behind the scenes for various features.

ObjectUsed byAPIAccess
ApexLogDebug LogsRESTR/W (delete)
ApexTriggerAutomation ControlToolingR + status W
Attachment / ContentVersion / DocumentFile upload & downloadRESTR/W
CustomFieldCreate Fields, field utilitiesToolingR
DebugLevelDebug LogsToolingR/W
DuplicateRuleAutomation ControlREST (read) + Metadata (write)R/W
EntityParticleManage PermissionsToolingR
FieldDefinitionField metadataToolingR
FieldPermissionsManage PermissionsRESTR/W
FlowDefinitionView (+ Versions)Automation ControlREST + Tooling (write)R/W
FolderMetadata browserToolingR
GlobalValueSetCreate FieldsRESTR
MetadataComponentDependency"Where is this used"ToolingR
ObjectPermissionsManage PermissionsRESTR/W
OrganizationOrg connectionRESTR
PermissionSet (+ Profile)Manage Permissions, Create Fields, Formula EvaluatorRESTR
PermissionSetAssignmentAssignee popoverRESTR
PermissionSetTabSettingManage PermissionsRESTR/W
RecordTypeMetadata browserToolingR
StaticResourceMetadata retrieveTooling / RESTR
TabDefinitionManage PermissionsToolingR
TraceFlagDebug LogsToolingR/W
UserFormula Evaluator, assignee popoverRESTR
UserPermissionAccess"Limited Access" badgeRESTR
ValidationRuleAutomation ControlToolingR/W
WorkflowRuleAutomation ControlToolingR/W
<CustomMetadataType>__mdtMetadata browserToolingR
Any user-selected objectQuery, Load, Create, Update, Delete, UndeleteREST / Bulk / Toolingper user's access

See also