Publish a digital-engagement release product
Receives one release product from a partner analytics system (reference implementation: Kavanah Analytics' export_release_product job) on behalf of a contributing organization: aggregate counts of digital reach at country x month grain only (exposed, interactions, touchpoints, active), with a manifest naming the sources, the countries the organization chose to include, whether it wants to be named on the map, and the data-sharing agreement it accepted (id, version, SHA-256 of the text, acceptance time). Nothing below country grain is representable in the body. No small-cell suppression and no restricted-country list apply at this grain: a country-level count locates no one, and the organization's own choice of what to include is the control. The release is validated against the published JSON Schema (its agreement must be a text Global.Church has published, by id, version and SHA-256) and stored exactly as received with its SHA-256; a refusal (400) carries its first problem in error and all of them in problems; gc-kavanah-bridge --release <id> then loads it into <https://data.global.church/releases/digital-engagement/>, where it supersedes the organization's earlier release (in the test window a Global.Church operator runs the load). Sending the same bytes again returns the stored release. Authority in this version is the partner API key issued to the organization's workspace, which Global.Church binds to the organizations it may publish for (403 otherwise); the workspace-owner role that accepted the agreement is taken on the partner system's word (the Home steward check comes later). Not yet deployed.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
manifestobject · requiredschemaVersion ("0.2.0"), grain ("country x month"), suppression ("none"), sources, countriesIncluded, organization {orgUri, partnerOrgId}, displayName {named, name?}, period {firstMonth, lastMonth}, agreement {id, version, sha256, acceptedAt, acceptedByRole}, unattributed {exposed, interactions}, generatedAt, generatedBy, testData.
rowsobject[] · required
Responses
Release accepted for loading
releaseIdstring · requiredThe release IRI under
https://data.global.church/releases/digital-engagement/releases/manifestHashstring · requiredSHA-256 of the body as received
statusstring · enum · requiredEnum values:accepted
