CLIENT API / V1 CONTENT, BRIEFS & CAMPAIGNS

Read campaign strategies, briefs, intake, assets or linked claim snapshots

GET/sites/{site_id}/content-campaigns/{campaign_id}/{section}/{record_id}campaigns:read

Read campaign strategies, briefs, intake, assets or linked claim snapshots. Only explicitly granted sites and permissions are accessible. No credentials or raw worker payloads are returned. Lists omit large bodies; detail calls return stored payloads with bounded exports. Parent/child ownership is checked before artifact retrieval. GET never generates, revises, reviews or publishes content.

RequestGET https://satelliteai.io/api/v1/sites/{site_id}/content-campaigns/{campaign_id}/{section}/{record_id}
Permissioncampaigns:read
ResponseA single object: data is CampaignSection.
Operation IDgetContentCampaignRecord

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-campaigns/123456789/strategies/123' \
  -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_idrequiredpathintegerAuthorized site id. Parent and site grants must also match.
min 1 · max 9223372036854775807
campaign_idrequiredpathintegerAuthorized campaign id. Parent and site grants must also match.
min 1 · max 9223372036854775807
sectionrequiredpathstringAuthorized section. Parent and site grants must also match.
one of: assets, strategies, claims, intakes
record_idrequiredpathintegerAuthorized record id. Parent and site grants must also match.
min 1 · max 9223372036854775807

Unknown or repeated query parameters return 400.

Data dictionary

Scoped result. Lists return pagination metadata; unavailable records return 404. Shape selected by section: assets, strategies, intakes or claims. Claims are saved campaign snapshots, not the company claim library.

[] 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.idintegernullableId.
data.site_idintegernullableSite id.
data.campaign_idintegernullableCampaign id.
data.namestringnullableName.
data.descriptionstringnullableDescription.
data.asset_typestringnullableAsset type.
data.statusstringnullableStatus.
data.positionintegernullablePosition.
data.site_content_idintegernullableSite content id.
data.job_idstringnullableJob id.
data.strategy_versionintegernullableStrategy version.
data.word_count_targetintegernullableWord count target.
data.target_user_site_idintegernullableTarget user site id.
data.destination_labelstringnullableDestination label.
data.publish_atstringnullablePublish at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.published_atstringnullablePublished at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.created_atstringnullableCreated at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.updated_atstringnullableUpdated at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.truncated_fieldsarray of stringScalar text fields truncated at 200000 characters. Empty when no scalar was truncated.
data.idintegernullableId.
data.site_idintegernullableSite id.
data.campaign_idintegernullableCampaign id.
data.versionintegernullableVersion.
data.statusstringnullableStatus.
data.job_idstringnullableJob id.
data.decision_callstringnullableDecision call.
data.decision_alternativestringnullableDecision alternative.
data.decision_rationalestringnullableDecision rationale.
data.confidencenumber | stringnullableConfidence. Decimal values may be serialized as strings.
data.positioningstringnullablePositioning. Stored text; JSON-encoded fields are returned as strings.
data.document_markdownstringnullableDocument markdown. Detail only; omitted from list rows.
data.brief_markdownstringnullableBrief markdown. Detail only; omitted from list rows.
data.brief_statusstringnullableBrief status.
data.brief_generated_atstringnullableBrief generated at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.generated_atstringnullableGenerated at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.created_atstringnullableCreated at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.updated_atstringnullableUpdated at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.truncated_fieldsarray of stringScalar text fields truncated at 200000 characters. Empty when no scalar was truncated.
data.idintegernullableId.
data.site_idintegernullableSite id.
data.campaign_idintegernullableCampaign id.
data.modestringnullableMode.
data.intent_textstringnullableIntent text.
data.asset_mixanynullableAsset mix. Stored structured JSON; shape depends on the generation pipeline.
data.story_textstringnullableStory text.
data.outcome_textstringnullableOutcome text.
data.user_site_idintegernullableUser site id.
data.page_urlstringnullablePage url.
data.brief_idintegernullableBrief id.
data.use_briefbooleannullableUse brief.
data.created_atstringnullableCreated at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.updated_atstringnullableUpdated at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.truncated_fieldsarray of stringScalar text fields truncated at 200000 characters. Empty when no scalar was truncated.
data.idintegernullableId.
data.campaign_idintegernullableCampaign id.
data.claim_sourcestringnullableClaim source.
data.claim_idintegernullableClaim id.
data.claim_text_snapshotstringnullableClaim text snapshot.
data.positionintegernullablePosition.
data.created_atstringnullableCreated at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.updated_atstringnullableUpdated at. Stored UTC ISO 8601 timestamp; legacy values may omit a timezone suffix.
data.truncated_fieldsarray of stringScalar text fields truncated at 200000 characters. Empty when no scalar was truncated.

Response metadata

Fields in meta
FieldTypeDescription
meta.request_idstringalways presentRequest identifier; also returned in X-Request-ID. Include it in support requests.
meta.api_versionstringalways presentAPI version that produced the response.
one of: v1
meta.limitintegerMaximum records per page applied to this request.
min 1 · max 100
meta.has_morebooleanTrue when another page is available.
meta.next_cursorstringnullableOpaque cursor for the next page; send as cursor. Null on the last page.
meta.availabilitystringavailable when stored data exists; not_available when it does not.
one of: available, not_available
meta.billingobjectPresent for paid live SERP requests; replayed receipts describe the original debit, not an additional charge.
meta.billing.operationstringalways present
one of: client_api_serp_refresh
meta.billing.credits_chargedintegeralways present
min 0
meta.billing.transaction_idintegeralways present
meta.billing.replayedbooleanalways present

Error responses

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

HTTPWhen
400Invalid parameters
401Invalid credentials
403Missing permission
404Missing or inaccessible resource
413artifact_too_large: the authorized stored export exceeds 2 MiB or bounded retrieval limits.
503artifact_unavailable or ownership_unavailable: stored artifact cannot be safely retrieved.