Hive Civilization Newsshield API

The newsshield API from Hive Civilization — 11 operation(s) for newsshield.

Operations 11

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/newsshield/health Check NewsShield service health · Health #
Ask an LLM
“Is the NewsShield media provenance service up?”
“Can I run a quick liveness check on NewsShield?”
Tell an agent
Check NewsShield health.
Confirm NewsShield is responding before I attest media.
GET /v1/newsshield/pricing View NewsShield pricing · Pricing #
Ask an LLM
“What does NewsShield charge for media lifecycle attestations?”
“Where is the NewsShield price list?”
Tell an agent
Show NewsShield pricing.
Get the NewsShield price list.
POST /v1/newsshield/capture/attest Attest a media capture event · Capture Attest #
Ask an LLM
“How do I prove a photo or recording came from a specific camera or mic at capture time?”
“Can a capture attestation record whether AI was used to generate or alter the content?”
Tell an agent
Attest capture of {asset_kind} asset {asset_id} by device {actor_did} with media hash {media_hash}, AI used: {ai_content_disclosure}.
Log the original capture of {asset_id} from {actor_did}, hash {media_hash}, with C2PA manifest {c2pa_manifest_hash}.
POST /v1/newsshield/edit/attest Attest an edit to a media asset · Edit Attest #
Ask an LLM
“Can I log an editing step on a photo or video and chain it back to its capture?”
“Does an edit attestation need the hash of the edited media?”
Tell an agent
Attest an edit of {asset_kind} asset {asset_id} by editor {actor_did}, new hash {media_hash}, AI used: {ai_content_disclosure}.
Log editor {actor_did}'s change to {asset_id} after attestation {prior_attestation_id}, new hash {media_hash}.
POST /v1/newsshield/publish/attest Attest publication of a media asset · Publish Attest #
Ask an LLM
“How can a newsroom attest that it published a piece of media, linked to its edit history?”
“What publisher details are recorded when attesting a publish event?”
Tell an agent
Attest publication of {asset_kind} asset {asset_id} by publisher {actor_did}, hash {media_hash}, AI used: {ai_content_disclosure}.
Log that {actor_did} published {asset_id} following attestation {prior_attestation_id}.
POST /v1/newsshield/syndicate/attest Attest syndication of published media · Syndicate Attest #
Ask an LLM
“Can a syndication partner attest they republished a story, pointing back to the original publish?”
“Is the original publisher carried along when syndication is attested?”
Tell an agent
Attest syndication of {asset_kind} asset {asset_id} by partner {actor_did}, hash {media_hash}, AI used: {ai_content_disclosure}.
Log partner {actor_did} republishing {asset_id} from publish attestation {prior_attestation_id}.
POST /v1/newsshield/takedown/attest Attest a takedown of published media · Takedown Attest #
Ask an LLM
“How do I put a takedown of a published asset on the provenance record?”
“Can a takedown attestation name the party issuing it?”
Tell an agent
Attest takedown of {asset_kind} asset {asset_id} issued by {actor_did}, hash {media_hash}, AI used: {ai_content_disclosure}.
Log that {actor_did} pulled {asset_id}, linked to publish attestation {prior_attestation_id}.
GET /v1/newsshield/asset/{asset_id} Get every attestation for a media asset · Asset Get #
Ask an LLM
“Can I see the full lifecycle of envelopes stored for one media asset?”
“What has been attested about a given asset from capture onward?”
Tell an agent
Get all stored envelopes for asset {asset_id}.
Show the lifecycle record of media asset {asset_id}.
POST /v1/newsshield/asset/verify Verify one media attestation's signatures · Asset Verify #
Ask an LLM
“Is the dual-signed receipt on a media asset's attestation valid?”
“If I don't name an attestation, which one gets verified?”
Tell an agent
Verify the capture attestation of asset {asset_id}.
Check signatures on attestation {attestation_id} for asset {asset_id}.
POST /v1/newsshield/chain/verify Verify a media asset's full provenance chain · Chain Verify #
Ask an LLM
“Is the chain from capture to edit to publish intact for a piece of media?”
“Can I trace and verify every link in an asset's provenance?”
Tell an agent
Verify the full lifecycle chain for asset {asset_id}.
Trace provenance of {asset_id} from capture through publish.
GET /v1/newsshield/by-publisher/{publisher_did} List a publisher's publish history · By Publisher #
Ask an LLM
“Which assets has a particular publisher DID published?”
“Can I page through a publisher's attested publications?”
Tell an agent
List publications by {publisher_did}.
Show {limit} publish events for {publisher_did} from offset {offset}.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thehiveryiq-com:thehiveryiq-com-newsshield-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thehiveryiq-com-newsshield-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: HiveMorph v0.1 Newsshield API
  description: 'Polymorphic agent runtime — single shape (Merchant), single supermodel (W2 MERCHANT). Three gates: NEED + YIELD + CLEAN-MONEY.'
  version: 0.1.0
tags:
- name: newsshield
paths:
  /v1/newsshield/health:
    get:
      tags:
      - newsshield
      summary: Health
      operationId: health_v1_newsshield_health_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Health V1 Newsshield Health Get
  /v1/newsshield/pricing:
    get:
      tags:
      - newsshield
      summary: Pricing
      operationId: pricing_v1_newsshield_pricing_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Pricing V1 Newsshield Pricing Get
  /v1/newsshield/capture/attest:
    post:
      tags:
      - newsshield
      summary: Capture Attest
      description: Attest a capture event (camera/mic) and return a dual-signed receipt.
      operationId: capture_attest_v1_newsshield_capture_attest_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaptureRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Capture Attest V1 Newsshield Capture Attest Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/newsshield/edit/attest:
    post:
      tags:
      - newsshield
      summary: Edit Attest
      description: Attest an edit step with chain pointer.
      operationId: edit_attest_v1_newsshield_edit_attest_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Edit Attest V1 Newsshield Edit Attest Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/newsshield/publish/attest:
    post:
      tags:
      - newsshield
      summary: Publish Attest
      description: Attest a publish event with chain pointer.
      operationId: publish_attest_v1_newsshield_publish_attest_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Publish Attest V1 Newsshield Publish Attest Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/newsshield/syndicate/attest:
    post:
      tags:
      - newsshield
      summary: Syndicate Attest
      description: Attest a syndication with chain pointer to publish.
      operationId: syndicate_attest_v1_newsshield_syndicate_attest_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyndicateRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Syndicate Attest V1 Newsshield Syndicate Attest Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/newsshield/takedown/attest:
    post:
      tags:
      - newsshield
      summary: Takedown Attest
      description: Attest a takedown with chain pointer to publish.
      operationId: takedown_attest_v1_newsshield_takedown_attest_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TakedownRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Takedown Attest V1 Newsshield Takedown Attest Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/newsshield/asset/{asset_id}:
    get:
      tags:
      - newsshield
      summary: Asset Get
      description: Retrieve all stored envelopes for an asset_id (full lifecycle).
      operationId: asset_get_v1_newsshield_asset__asset_id__get
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Asset Get V1 Newsshield Asset  Asset Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/newsshield/asset/verify:
    post:
      tags:
      - newsshield
      summary: Asset Verify
      description: Verify a stored asset envelope's dual-signed receipt.
      operationId: asset_verify_v1_newsshield_asset_verify_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetVerifyRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Asset Verify V1 Newsshield Asset Verify Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/newsshield/chain/verify:
    post:
      tags:
      - newsshield
      summary: Chain Verify
      description: Verify the full lifecycle chain for an asset.
      operationId: chain_verify_v1_newsshield_chain_verify_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/hivemorph__hive_newsshield__models__ChainVerifyRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Chain Verify V1 Newsshield Chain Verify Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/newsshield/by-publisher/{publisher_did}:
    get:
      tags:
      - newsshield
      summary: By Publisher
      description: Paginated publish history by publisher DID.
      operationId: by_publisher_v1_newsshield_by_publisher__publisher_did__get
      parameters:
      - name: publisher_did
        in: path
        required: true
        schema:
          type: string
          title: Publisher Did
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 100
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response By Publisher V1 Newsshield By Publisher  Publisher Did  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    EditRequest:
      properties:
        asset_id:
          type: string
          title: Asset Id
          description: UUID of the asset being edited
        asset_kind:
          $ref: '#/components/schemas/AssetKindEnum'
          description: image / video / audio / document
        actor_did:
          type: string
          title: Actor Did
          description: DID of the editor / NLE
        editor_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Editor Did
          description: DID of the editor (alias for actor_did in edit context)
        capture_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Capture Did
          description: Origin capture DID — propagated from capture event
        media_hash:
          type: string
          title: Media Hash
          description: sha256 hex of the edited media bytes
        c2pa_manifest_hash:
          anyOf:
          - type: string
          - type: 'null'
          title: C2Pa Manifest Hash
          description: sha256 hex of the C2PA manifest
        ai_content_disclosure:
          type: boolean
          title: Ai Content Disclosure
          description: Was AI used in generation or alteration?
        prior_attestation_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Prior Attestation Id
          description: Chain pointer to the prior event in this asset's lifecycle (e.g. capture attestation_id)
      type: object
      required:
      - asset_id
      - asset_kind
      - actor_did
      - media_hash
      - ai_content_disclosure
      title: EditRequest
      description: Request to attest an edit step with chain pointer.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    TakedownRequest:
      properties:
        asset_id:
          type: string
          title: Asset Id
          description: UUID of the asset being taken down
        asset_kind:
          $ref: '#/components/schemas/AssetKindEnum'
          description: image / video / audio / document
        actor_did:
          type: string
          title: Actor Did
          description: DID of the party issuing the takedown
        publisher_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Publisher Did
          description: Original publisher DID
        capture_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Capture Did
          description: Origin capture DID
        editor_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Editor Did
          description: Editor DID if applicable
        media_hash:
          type: string
          title: Media Hash
          description: sha256 hex of the media bytes
        c2pa_manifest_hash:
          anyOf:
          - type: string
          - type: 'null'
          title: C2Pa Manifest Hash
          description: sha256 hex of the C2PA manifest
        ai_content_disclosure:
          type: boolean
          title: Ai Content Disclosure
          description: Was AI used in generation or alteration?
        prior_attestation_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Prior Attestation Id
          description: Chain pointer to the publish attestation_id
      type: object
      required:
      - asset_id
      - asset_kind
      - actor_did
      - media_hash
      - ai_content_disclosure
      title: TakedownRequest
      description: Request to attest a takedown with chain pointer to publish.
    hivemorph__hive_newsshield__models__ChainVerifyRequest:
      properties:
        asset_id:
          type: string
          title: Asset Id
          description: asset_id to trace the full lifecycle chain for
      type: object
      required:
      - asset_id
      title: ChainVerifyRequest
      description: Request to verify the full lifecycle chain for an asset.
    AssetKindEnum:
      type: string
      enum:
      - image
      - video
      - audio
      - document
      title: AssetKindEnum
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PublishRequest:
      properties:
        asset_id:
          type: string
          title: Asset Id
          description: UUID of the asset being published
        asset_kind:
          $ref: '#/components/schemas/AssetKindEnum'
          description: image / video / audio / document
        actor_did:
          type: string
          title: Actor Did
          description: DID of the publisher
        publisher_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Publisher Did
          description: Publisher DID (alias for actor_did in publish context)
        capture_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Capture Did
          description: Origin capture DID — propagated from capture
        editor_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Editor Did
          description: Editor DID if applicable
        media_hash:
          type: string
          title: Media Hash
          description: sha256 hex of the published media bytes
        c2pa_manifest_hash:
          anyOf:
          - type: string
          - type: 'null'
          title: C2Pa Manifest Hash
          description: sha256 hex of the C2PA manifest
        ai_content_disclosure:
          type: boolean
          title: Ai Content Disclosure
          description: Was AI used in generation or alteration?
        prior_attestation_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Prior Attestation Id
          description: Chain pointer to the prior event (e.g. edit or capture attestation_id)
      type: object
      required:
      - asset_id
      - asset_kind
      - actor_did
      - media_hash
      - ai_content_disclosure
      title: PublishRequest
      description: Request to attest a publish event with chain pointer.
    CaptureRequest:
      properties:
        asset_id:
          type: string
          title: Asset Id
          description: UUID identifying the asset across its full lifecycle
        asset_kind:
          $ref: '#/components/schemas/AssetKindEnum'
          description: image / video / audio / document
        actor_did:
          type: string
          title: Actor Did
          description: DID of the capturing device (e.g. did:hive:camera:...)
        capture_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Capture Did
          description: DID of the capture origin device — populated on capture, propagated as origin pointer
        media_hash:
          type: string
          title: Media Hash
          description: sha256 hex of the media bytes
        c2pa_manifest_hash:
          anyOf:
          - type: string
          - type: 'null'
          title: C2Pa Manifest Hash
          description: sha256 hex of the C2PA manifest, if present
        ai_content_disclosure:
          type: boolean
          title: Ai Content Disclosure
          description: Was AI used in any way to generate or alter this content?
      type: object
      required:
      - asset_id
      - asset_kind
      - actor_did
      - media_hash
      - ai_content_disclosure
      title: CaptureRequest
      description: Request to attest a capture event (camera/mic).
    AssetVerifyRequest:
      properties:
        asset_id:
          type: string
          title: Asset Id
          description: asset_id to verify
        attestation_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Attestation Id
          description: Specific attestation_id to verify; if omitted, verifies the first capture event
      type: object
      required:
      - asset_id
      title: AssetVerifyRequest
      description: Request to verify a stored asset envelope.
    SyndicateRequest:
      properties:
        asset_id:
          type: string
          title: Asset Id
          description: UUID of the asset being syndicated
        asset_kind:
          $ref: '#/components/schemas/AssetKindEnum'
          description: image / video / audio / document
        actor_did:
          type: string
          title: Actor Did
          description: DID of the syndication partner
        publisher_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Publisher Did
          description: Original publisher DID
        capture_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Capture Did
          description: Origin capture DID
        editor_did:
          anyOf:
          - type: string
          - type: 'null'
          title: Editor Did
          description: Editor DID if applicable
        media_hash:
          type: string
          title: Media Hash
          description: sha256 hex of the media bytes
        c2pa_manifest_hash:
          anyOf:
          - type: string
          - type: 'null'
          title: C2Pa Manifest Hash
          description: sha256 hex of the C2PA manifest
        ai_content_disclosure:
          type: boolean
          title: Ai Content Disclosure
          description: Was AI used in generation or alteration?
        prior_attestation_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Prior Attestation Id
          description: Chain pointer to the publish attestation_id
      type: object
      required:
      - asset_id
      - asset_kind
      - actor_did
      - media_hash
      - ai_content_disclosure
      title: SyndicateRequest
      description: Request to attest a syndication with chain pointer to publish.
x-provenance:
  method: harvested
  publisher: Hive Civilization
  source: https://receipts.thehiveryiq.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)