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.

Permission Analysis​

Permission Analysis is entirely read-only — it never writes anything back to Salesforce. The export is processed in the browser and results are stored locally, per org. Despite the advisory metadata-access banner shown on the Permission Analysis page in the Jetstream UI, the feature does not call the Metadata API.

ObjectFieldsAPIAccessDegrades
PermissionSet (+ Profile)Id, Name, Label, Description, Type, IsCustom, IsOwnedByProfile, NamespacePrefix, ProfileId, Profile.Name, CreatedDate, LastModifiedDate, CreatedBy.Name, LastModifiedBy.Name plus system-permission fields (PermissionsModifyAllData, PermissionsViewAllData, PermissionsAuthorApex, PermissionsManageUsers, PermissionsCustomizeApplication, PermissionsViewSetup, and similar) used for issue detectionRESTRExport job fails
ObjectPermissionsId, ParentId, SobjectType, PermissionsRead, PermissionsCreate, PermissionsEdit, PermissionsDelete, PermissionsViewAllRecords, PermissionsModifyAllRecords, PermissionsViewAllFieldsRESTRExport job fails
FieldPermissionsId, ParentId, SobjectType, Field, PermissionsRead, PermissionsEditRESTRExport job fails
PermissionSetTabSettingId, ParentId, Name, VisibilityRESTRExport job fails
PermissionSetAssignmentId, PermissionSetId, AssigneeIdRESTRAssignment data unavailable
PermissionSetGroupId, DeveloperName, MasterLabelRESTRGroup details unavailable
PermissionSetGroupComponentId, PermissionSetGroupId, PermissionSetIdRESTRGroup membership unavailable
MutingPermissionSetId, DeveloperName, MasterLabelRESTRMuting permission sets not shown
UserId, Name, Username, IsActive, ProfileId, Profile.NameRESTRTolerated; assignments fall back to showing raw user Ids
PermissionSetLicenseAssignAssigneeId, PermissionSetLicenseId, PermissionSetLicense.{MasterLabel,DeveloperName}RESTRTolerated; license details not shown
EntityDefinitionQualifiedApiName, Label, DescriptionToolingRTolerated; object labels fall back to API names
TabDefinitionName, LabelToolingRTolerated; tab labels fall back to API names
FieldDefinitionQualifiedApiName, Label, Description, DurableIdToolingRTolerated; field labels fall back to API names, no Setup links

Data Analysis (Field Usage)​

Field usage is computed in the browser: scanned record values are counted and discarded — only the per-field counts are kept, stored locally per org. The only write is the optional deletion of unused custom fields, which uses the same destructive Metadata API deploy as Deploy Metadata.

Object / callFieldsAPIAccessDegrades
User-selected sObject (aggregate counts)SELECT COUNT(Id), COUNT(<field>), … — counts only, no record data is returnedREST queryRFields fall back to the row scan
User-selected sObject (row scan)Id, LastModifiedDate plus the analyzed fields, up to 100,000 rows per object by default (values are counted, not stored)REST queryRGoverned by object & field access; inaccessible objects are reported as errored
CustomFieldId, DeveloperName, TableEnumOrId, EntityDefinition.QualifiedApiName, NamespacePrefixToolingRWhere Used cannot be resolved; affected fields are never eligible for deletion
MetadataComponentDependencyRefMetadataComponentId, MetadataComponentId, MetadataComponentType, MetadataComponentNameToolingRWhere Used cannot be resolved; affected fields are never eligible for deletion
FlowId, VersionNumberToolingRFlow references shown without version detail
Metadata deploy (destructiveChanges.xml)Deletion of the unused custom fields you selectMetadata SOAPWCannot delete fields (requires Modify Metadata or Modify All Data)

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 utilities, Data Analysis (Where Used)ToolingR
DebugLevelDebug LogsToolingR/W
DuplicateRuleAutomation ControlREST (read) + Metadata (write)R/W
EntityDefinitionPermission Analysis (object labels)ToolingR
EntityParticleManage PermissionsToolingR
FieldDefinitionField metadata, Permission Analysis (field labels)ToolingR
FieldPermissionsManage Permissions, Permission Analysis (read)RESTR/W
FlowData Analysis (Where Used)ToolingR
FlowDefinitionView (+ Versions)Automation ControlREST + Tooling (write)R/W
FolderMetadata browserToolingR
GlobalValueSetCreate FieldsRESTR
MetadataComponentDependency"Where is this used", Data Analysis (Where Used)ToolingR
MutingPermissionSetPermission AnalysisRESTR
ObjectPermissionsManage Permissions, Permission Analysis (read)RESTR/W
OrganizationOrg connectionRESTR
PermissionSet (+ Profile)Manage Permissions, Create Fields, Formula Evaluator, Permission AnalysisRESTR
PermissionSetAssignmentAssignee popover, Permission AnalysisRESTR
PermissionSetGroupPermission AnalysisRESTR
PermissionSetGroupComponentPermission AnalysisRESTR
PermissionSetLicenseAssignPermission AnalysisRESTR
PermissionSetTabSettingManage Permissions, Permission Analysis (read)RESTR/W
RecordTypeMetadata browserToolingR
StaticResourceMetadata retrieveTooling / RESTR
TabDefinitionManage Permissions, Permission AnalysisToolingR
TraceFlagDebug LogsToolingR/W
UserFormula Evaluator, assignee popover, Permission AnalysisRESTR
UserPermissionAccess"Limited Access" badgeRESTR
ValidationRuleAutomation ControlToolingR/W
WorkflowRuleAutomation ControlToolingR/W
<CustomMetadataType>__mdtMetadata browserToolingR
Any user-selected objectQuery, Load, Create, Update, Delete, Undelete; Data Analysis (read-only field-usage scan)REST / Bulk / Toolingper user's access

See also​