CLIENT API / V1 CONTENT, BRIEFS & CAMPAIGNS

Read one saved component

GET/sites/{site_id}/content/{content_id}/components/{component}Valid key

Requires content:read. Reads the selected saved content id. The destination needs no live URL. Components: body, h1, faq, page_properties, teaser. Preserve the returned source reference in AEM; never select by a similar title.

RequestGET https://satelliteai.io/api/v1/sites/{site_id}/content/{content_id}/components/{component}
PermissionAny valid API key
ResponseA single object: data is AemSingleComponent.
Operation IDgetContentComponent

More context and worked examples are in the developer guide.

Example request

cURL · Bash
curl --fail-with-body \
  'https://satelliteai.io/api/v1/sites/123/content/123/components/faq' \
  -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
site_idrequiredpathinteger
min 1
content_idrequiredpathinteger
min 1
componentrequiredpathstring
one of: body, h1, faq, page_properties, teaser
localequerystringExact locale id from this resource's /locales response, or original. No language fallback.
default original

Unknown or repeated query parameters return 400.

Data dictionary

Selected stored copy only. No generation or writes. Missing bundle components are named explicitly. FAQ answers are plain text.

[] 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.sourceobjectalways present
data.source.typestringalways present
one of: content, campaign_asset
data.source.idintegeralways presentSatellite identifier for this record.
data.source.site_idintegeralways presentSatellite site ID (from GET /sites).
data.source.content_idintegeralways present
data.source.campaign_idinteger
data.source.copystringalways present
one of: source, publication
data.source.localestringalways present
data.source.languagestring
data.source.versioninteger
data.source.updated_atstringnullableWhen Satellite last updated the record (UTC, RFC 3339).
data.source.draft_updated_atstringnullable
data.source.localized_idinteger
data.source.revisionstringalways present
data.componentstringalways present
one of: body, h1, faq, page_properties, teaser
data.payloadAemBody | AemHeading | AemFaq | AemPageProperties | AemTeaseralways present
data.payload.contentstringalways present
data.payload.formatstringalways present
data.payload.textstringalways present
data.payload.titlestringalways present
data.payload.faqsarray of objectalways present
data.payload.faqs[].questionstringalways present
data.payload.faqs[].answerstringalways present
data.payload.answer_formatstringalways present
one of: text
data.payload.titlestringnullablealways present
data.payload.meta_descriptionstringnullablealways present
data.payload.teaser_headlinestringnullablealways present
data.payload.teaser_descriptionstringnullablealways present

Response metadata

Fields in meta
FieldTypeDescription
meta.request_idstringRequest identifier; also returned in X-Request-ID. Include it in support requests.
meta.api_versionstringAPI version that produced the response.

Error responses

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

HTTPWhen
400Unknown/repeated parameter, component or malformed locale identifier.
401Missing, invalid, expired or revoked Bearer credential.
403Required permission is absent.
404Resource is missing/inaccessible, localized copy unavailable, or requested single component absent.
429API rate limit reached.
503Stored artifact unavailable.