CLIENT API / V1 SALESFORCE

Approved Salesforce record drilldown

GET/salesforce/records/{object_type}salesforce:read, salesforce:records:read

Approved curated and admin-enabled scalar fields at a pinned report cut or the current cut. Requires salesforce:records:read. Observation drilldown expires 7 days after observation.

RequestGET https://satelliteai.io/api/v1/salesforce/records/{object_type}
Permissionsalesforce:read, salesforce:records:read
ResponseA list (cursor or offset paginated): data is array of SalesforceRecord.
Operation IDlistSalesforceRecords

More context and worked examples are in the developer guide.

Example request

cURL · Bash
curl --fail-with-body \
  'https://satelliteai.io/api/v1/salesforce/records/Opportunity' \
  -H "Authorization: Bearer $SATELLITE_API_KEY"

Replace the example IDs with values returned by the discovery endpoints. Example values are placeholders, not real records.

Parameters

NameInTypeDescription
object_typerequiredpathstring
one of: Lead, Opportunity, Campaign, CampaignMember, OpportunityContactRole, Account, Contact, OpportunityHistory · example Opportunity
report_idquerystring
max length 4096
monthquerystringYYYY-MM month of a pinned flow report.
max length 7
date_fieldquerystring
one of: created, outcome
start_datequerystring (date)
end_datequerystring (date)
limitqueryinteger
default 50 · min 1 · max 500
cursorquerystring
max length 4096
filter.owner_idquerystring
max length 255
filter.campaign_idquerystring
max length 255
filter.record_type_idquerystring
max length 255
filter.account_idquerystring
max length 255
filter.stagequerystring
max length 255
filter.statusquerystring
max length 255
filter.sourcequerystring
max length 255
filter.kindquerystring
max length 255
filter.currencyquerystring
max length 255
filter.related_idquerystring
max length 255

Unknown or repeated query parameters return 400.

Data dictionary

Records.

[] marks an array element. nullable means the value can be null; treat it as unknown, not zero. always present means the key is always included in the object.

Fields in data
FieldTypeDescription
data[].idstringSatellite identifier for this record.
data[].fieldsobject
data[].source_modified_atstring (date-time)nullable
data[].verified_atstring (date-time)nullable

Response metadata

Fields in meta
FieldTypeDescription
meta.sourcestring
one of: stored
meta.access_scopestring
one of: company
meta.providerstring
one of: salesforce
meta.connection_statusstring
meta.statusstring
meta.report_idstringnullable
meta.next_cursorstringnullableOpaque cursor for the next page; send as cursor. Null on the last page.
meta.timezonestring
meta.pending_monthsarray of string
meta.request_idstringSupport request ID, also returned in X-Request-ID.
meta.api_versionstringAPI version that produced the response.
one of: v1
meta.coverage_notestringRecords/fields are limited to the connected Salesforce source user.
meta.datasetstring
meta.grainstring
one of: day, month
meta.kindstring
one of: flow, observed
meta.unavailable_monthsarray of string
meta.stale_monthsarray of string
meta.partial_periodsarray of string
meta.unavailable_metricsmap of array of stringUnavailable metric names keyed by calendar month.
meta.completed_dates_throughmap of string (date)Last fully completed local date per published month.
meta.source_cutsmap of integerStored source cut per month, pinned by report_id.
meta.published_atmap of string (date-time)Publication timestamps per month.
meta.currency_semanticsstring
meta.semanticsstring
meta.freshness_statusstring
meta.labelsmap of stringnullableCurrent labels keyed by dimension:ID; only with salesforce:records:read.
meta.observationsmap of objectActual observation per returned period; never reconstructed.
meta.observations.{key}.observed_atstring (date-time)nullable
meta.observations.{key}.observation_cutinteger
meta.observations.{key}.raw_detail_expires_atstring (date-time)nullable
meta.observations.{key}.source_spanobject
meta.observation_ages_hoursmap of number
meta.unobserved_periodsstring
meta.object_typestring
meta.source_cutinteger
meta.raw_detail_expires_atstring (date-time)nullable
meta.approved_fieldsarray of string
meta.target_rangeobject
meta.target_range.start_datestring (date)
meta.target_range.end_datestring (date)
meta.target_range.monthsinteger
meta.target_range.includes_mtdboolean

Error responses

Errors return {"error": {"code", "message", "request_id"}}. See error handling for retry guidance.

HTTPWhen
400Unknown/repeated or invalid query parameters; live/refresh and scope overrides are not accepted.
401Missing, invalid, revoked or expired API key.
403Required Salesforce permission is missing, or company-wide CRM access is not permitted.
404Missing or inaccessible resource.
409report_expired, invalid_cursor, cursor_expired or records_expired: restart without expired tokens. report_month_required: select a month belonging to the pinned flow report.
413Public response size limit exceeded; request fewer rows.
429Request allowance exceeded.
503Existing integration storage or API dependencies are unavailable.