Impact Stories
Archive an Impact Story
Marks the story archived and records archival evidence. Requires the impact_stories feature. Requires permission: one of impact_stories_manage.
POST
/
admin
/
impact-stories
/
{storyId}
/
archive
Archive an Impact Story
curl --request POST \
--url https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"id": 42,
"primary_program_id": 42,
"primary_entity_id": 42,
"primary_donor_id": 42,
"title": "Education update",
"headline": "Education update",
"summary": "Education update",
"story_type": "Education update",
"source_type": "Education update",
"source_external_id": "Education update",
"status": "draft",
"privacy_level": "internal",
"consent_status": "unknown",
"story_date": "2026-10-20",
"asset_count": 2,
"offer_count": 2,
"publication_count": 2,
"primary_asset": {
"id": 42,
"client_id": 42,
"impact_story_id": 42,
"upload_id": 42,
"asset_type": "Education update",
"title": "Education update",
"caption": "Education update",
"source_url": "Education update",
"drive_file_id": "Education update",
"consent_status": "unknown",
"is_primary": true,
"metadata_json": {},
"created_by_user_id": 42,
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z",
"preview": {
"id": 42,
"asset_type": "Education update",
"title": "Education update",
"caption": "Education update",
"provider": "Education update",
"available": true,
"open_source": true,
"workspace_file_id": "Education update",
"preview_url": "Education update",
"thumbnail_url": "Education update",
"source_url": "Education update",
"download_url": "Education update",
"drive_file_id": "Education update",
"consent_status": "unknown",
"is_primary": true,
"metadata_json": {}
}
},
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z",
"reach": {
"audience": "Education update",
"blocked_count": 2,
"held_back": true,
"blocked_message": "Education update",
"blocked_files": [
{
"file_ref": "Education update",
"reason": "Education update"
}
]
},
"slug": "Education update",
"body": "Education update",
"pull_quote": "Education update",
"audience_json": {},
"tags_json": {},
"impact_metrics_json": {},
"source_payload_json": {},
"governance_json": {},
"approved_at": "2026-10-20T12:00:00Z",
"archived_at": "2026-10-20T12:00:00Z",
"assets": [
{
"id": 42,
"client_id": 42,
"impact_story_id": 42,
"upload_id": 42,
"asset_type": "Education update",
"title": "Education update",
"caption": "Education update",
"source_url": "Education update",
"drive_file_id": "Education update",
"consent_status": "unknown",
"is_primary": true,
"metadata_json": {},
"created_by_user_id": 42,
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z",
"preview": {
"id": 42,
"asset_type": "Education update",
"title": "Education update",
"caption": "Education update",
"provider": "Education update",
"available": true,
"open_source": true,
"workspace_file_id": "Education update",
"preview_url": "Education update",
"thumbnail_url": "Education update",
"source_url": "Education update",
"download_url": "Education update",
"drive_file_id": "Education update",
"consent_status": "unknown",
"is_primary": true,
"metadata_json": {}
}
}
],
"relations": [
{
"record_type": "Education update",
"record_id": 42,
"label": "Education update",
"url": "Education update",
"relationship_role": "Education update"
}
],
"offers": [
{
"id": 42,
"client_id": 42,
"impact_story_id": 42,
"created_by_user_id": 42,
"approved_by_user_id": 42,
"title": "Education update",
"status": "Education update",
"beneficiary_label": "Education update",
"problem_statement": "Education update",
"solution_statement": "Education update",
"cost_currency": "Education update",
"cost_label": "Education update",
"hope_statement": "Education update",
"ask_copy": "Education update",
"donor_safe_summary": "Education update",
"cost_amount": "25.00",
"suggested_audience_json": {},
"channel_copy_json": {},
"source_payload_json": {},
"approved_at": "2026-10-20T12:00:00Z",
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z"
}
],
"publications": [
{
"id": 42,
"client_id": 42,
"impact_story_id": 42,
"impact_story_offer_id": 42,
"target_id": 42,
"created_by_user_id": 42,
"channel": "Education update",
"status": "Education update",
"target_type": "Education update",
"target_url": "Education update",
"audience_snapshot_json": {},
"payload_json": {},
"published_at": "2026-10-20T12:00:00Z",
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z"
}
],
"consent_releases": [
{
"id": 42,
"client_id": 42,
"impact_story_id": 42,
"impact_story_intake_path_id": 42,
"release_upload_id": 42,
"revoked_by_user_id": 42,
"subject_id": 42,
"status": "Education update",
"consent_scope": "Education update",
"signer_name": "Education update",
"signer_email": "Education update",
"signer_role": "Education update",
"signature_text": "Education update",
"release_text": "Education update",
"release_file_name": "Education update",
"release_file_key": "Education update",
"release_file_mime": "Education update",
"evidence_kind": "Education update",
"subject_type": "Education update",
"signed_at": "2026-10-20T12:00:00Z",
"valid_from": "2026-10-20T12:00:00Z",
"expires_at": "2026-10-20T12:00:00Z",
"revoked_at": "2026-10-20T12:00:00Z",
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z",
"metadata_json": {}
}
],
"primary_program": {
"record_type": "Education update",
"record_id": 42,
"label": "Education update",
"url": "Education update",
"relationship_role": "Education update"
},
"primary_entity": {
"record_type": "Education update",
"record_id": 42,
"label": "Education update",
"url": "Education update",
"relationship_role": "Education update"
},
"primary_donor": {
"record_type": "Education update",
"record_id": 42,
"label": "Education update",
"url": "Education update",
"relationship_role": "Education update"
}
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Not Found",
"status": "error"
}Authorizations
bearerAuthapiKeyAuth
Passport bearer token authentication for legacy admin sessions.
Path Parameters
Story id in the current organization.
Response
Operation result.
Detailed governed story. Related records are filtered by current user access; unavailable references can be null.
Show child attributes
Show child attributes
⌘I
Archive an Impact Story
curl --request POST \
--url https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/impact-stories/{storyId}/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"id": 42,
"primary_program_id": 42,
"primary_entity_id": 42,
"primary_donor_id": 42,
"title": "Education update",
"headline": "Education update",
"summary": "Education update",
"story_type": "Education update",
"source_type": "Education update",
"source_external_id": "Education update",
"status": "draft",
"privacy_level": "internal",
"consent_status": "unknown",
"story_date": "2026-10-20",
"asset_count": 2,
"offer_count": 2,
"publication_count": 2,
"primary_asset": {
"id": 42,
"client_id": 42,
"impact_story_id": 42,
"upload_id": 42,
"asset_type": "Education update",
"title": "Education update",
"caption": "Education update",
"source_url": "Education update",
"drive_file_id": "Education update",
"consent_status": "unknown",
"is_primary": true,
"metadata_json": {},
"created_by_user_id": 42,
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z",
"preview": {
"id": 42,
"asset_type": "Education update",
"title": "Education update",
"caption": "Education update",
"provider": "Education update",
"available": true,
"open_source": true,
"workspace_file_id": "Education update",
"preview_url": "Education update",
"thumbnail_url": "Education update",
"source_url": "Education update",
"download_url": "Education update",
"drive_file_id": "Education update",
"consent_status": "unknown",
"is_primary": true,
"metadata_json": {}
}
},
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z",
"reach": {
"audience": "Education update",
"blocked_count": 2,
"held_back": true,
"blocked_message": "Education update",
"blocked_files": [
{
"file_ref": "Education update",
"reason": "Education update"
}
]
},
"slug": "Education update",
"body": "Education update",
"pull_quote": "Education update",
"audience_json": {},
"tags_json": {},
"impact_metrics_json": {},
"source_payload_json": {},
"governance_json": {},
"approved_at": "2026-10-20T12:00:00Z",
"archived_at": "2026-10-20T12:00:00Z",
"assets": [
{
"id": 42,
"client_id": 42,
"impact_story_id": 42,
"upload_id": 42,
"asset_type": "Education update",
"title": "Education update",
"caption": "Education update",
"source_url": "Education update",
"drive_file_id": "Education update",
"consent_status": "unknown",
"is_primary": true,
"metadata_json": {},
"created_by_user_id": 42,
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z",
"preview": {
"id": 42,
"asset_type": "Education update",
"title": "Education update",
"caption": "Education update",
"provider": "Education update",
"available": true,
"open_source": true,
"workspace_file_id": "Education update",
"preview_url": "Education update",
"thumbnail_url": "Education update",
"source_url": "Education update",
"download_url": "Education update",
"drive_file_id": "Education update",
"consent_status": "unknown",
"is_primary": true,
"metadata_json": {}
}
}
],
"relations": [
{
"record_type": "Education update",
"record_id": 42,
"label": "Education update",
"url": "Education update",
"relationship_role": "Education update"
}
],
"offers": [
{
"id": 42,
"client_id": 42,
"impact_story_id": 42,
"created_by_user_id": 42,
"approved_by_user_id": 42,
"title": "Education update",
"status": "Education update",
"beneficiary_label": "Education update",
"problem_statement": "Education update",
"solution_statement": "Education update",
"cost_currency": "Education update",
"cost_label": "Education update",
"hope_statement": "Education update",
"ask_copy": "Education update",
"donor_safe_summary": "Education update",
"cost_amount": "25.00",
"suggested_audience_json": {},
"channel_copy_json": {},
"source_payload_json": {},
"approved_at": "2026-10-20T12:00:00Z",
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z"
}
],
"publications": [
{
"id": 42,
"client_id": 42,
"impact_story_id": 42,
"impact_story_offer_id": 42,
"target_id": 42,
"created_by_user_id": 42,
"channel": "Education update",
"status": "Education update",
"target_type": "Education update",
"target_url": "Education update",
"audience_snapshot_json": {},
"payload_json": {},
"published_at": "2026-10-20T12:00:00Z",
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z"
}
],
"consent_releases": [
{
"id": 42,
"client_id": 42,
"impact_story_id": 42,
"impact_story_intake_path_id": 42,
"release_upload_id": 42,
"revoked_by_user_id": 42,
"subject_id": 42,
"status": "Education update",
"consent_scope": "Education update",
"signer_name": "Education update",
"signer_email": "Education update",
"signer_role": "Education update",
"signature_text": "Education update",
"release_text": "Education update",
"release_file_name": "Education update",
"release_file_key": "Education update",
"release_file_mime": "Education update",
"evidence_kind": "Education update",
"subject_type": "Education update",
"signed_at": "2026-10-20T12:00:00Z",
"valid_from": "2026-10-20T12:00:00Z",
"expires_at": "2026-10-20T12:00:00Z",
"revoked_at": "2026-10-20T12:00:00Z",
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z",
"metadata_json": {}
}
],
"primary_program": {
"record_type": "Education update",
"record_id": 42,
"label": "Education update",
"url": "Education update",
"relationship_role": "Education update"
},
"primary_entity": {
"record_type": "Education update",
"record_id": 42,
"label": "Education update",
"url": "Education update",
"relationship_role": "Education update"
},
"primary_donor": {
"record_type": "Education update",
"record_id": 42,
"label": "Education update",
"url": "Education update",
"relationship_role": "Education update"
}
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Not Found",
"status": "error"
}