Scope3 · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Scope3 Signals API

8 actions 8 updates phrasing extends openapi/scope3-signals-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Scope3's API. It is a proposal applied on top of the contract, not a document Scope3 publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/signals/saved_list/{saved_list_id}'].get
$.paths['/signals'].get
$.paths['/signals'].post
$.paths['/signals/{signalId}'].get
$.paths['/signals/{signalId}'].put
$.paths['/signals/{signalId}'].delete
$.paths['/signals/discover'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Scope3 Signals API
  version: 1.0.0
extends: openapi/scope3-signals-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 7
- target: $.paths['/signals/saved_list/{saved_list_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get media quality signals for a saved domain list
      effect: read
      questions:
      - What are the media quality scores for every domain in one of my saved lists?
      - Can I page through domain-level quality signals for a property list?
      instructions:
      - text: Get media quality signals for saved list {saved_list_id}.
        slots:
          saved_list_id: path.saved_list_id
      - text: Show page {page} of domain quality signals for saved list {saved_list_id}.
        slots:
          page: query.page
          saved_list_id: path.saved_list_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/signals'].get
  update:
    x-apievangelist-phrasing:
      intent: List my registered signals
      effect: read
      questions:
      - Which targeting signals have I registered, and which are live?
      - Can I list signals for one advertiser or one signal agent?
      instructions:
      - text: List my registered signals.
      - text: List live signals for advertiser {advertiser_id}.
        slots:
          advertiser_id: query.advertiserId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/signals'].post
  update:
    x-apievangelist-phrasing:
      intent: Register a new signal
      effect: write
      questions:
      - What do I need to register a new targeting signal?
      - Can I set which regions and accounts get access when registering a signal?
      instructions:
      - text: Register signal {signal_id} named {name} with key type {key_type}.
        slots:
          signal_id: requestBody.signalId
          name: requestBody.name
          key_type: requestBody.keyType
      - text: Create signal {signal_id} called {name}, key type {key_type}, available in {regions}.
        slots:
          signal_id: requestBody.signalId
          name: requestBody.name
          key_type: requestBody.keyType
          regions: requestBody.regions
      method: generated
      generated: '2026-10-01'
- target: $.paths['/signals/{signalId}'].get
  update:
    x-apievangelist-phrasing:
      intent: View one registered signal and its access
      effect: read
      questions:
      - Who has access to a particular signal I registered?
      - Can I look up one signal's details by its id?
      instructions:
      - text: Show registered signal {signal_id}.
        slots:
          signal_id: path.signalId
      - text: Get the access records for signal {signal_id}.
        slots:
          signal_id: path.signalId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/signals/{signalId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a registered signal
      effect: write
      questions:
      - Can I change a signal's key type or regions after I create it?
      - How do I grant another account access to an existing signal?
      instructions:
      - text: Rename registered signal {signal_id} to {name}.
        slots:
          signal_id: path.signalId
          name: requestBody.name
      - text: Grant access {add_access} on signal {signal_id}.
        slots:
          add_access: requestBody.addAccess
          signal_id: path.signalId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/signals/{signalId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Archive a registered signal
      effect: destructive
      questions:
      - What happens to a signal's access records when I delete it?
      - Is deleting a signal permanent or just an archive?
      instructions:
      - text: Delete registered signal {signal_id}.
        slots:
          signal_id: path.signalId
      - text: Archive signal {signal_id} and all its access.
        slots:
          signal_id: path.signalId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/signals/discover'].post
  update:
    x-apievangelist-phrasing:
      intent: Discover available signals from signal agents
      effect: read
      questions:
      - What audience signals are available from signal agents for my targeting?
      - Can I search signal agents for signals matching a description without saving anything?
      instructions:
      - text: Discover signals matching {signal_spec}.
        slots:
          signal_spec: requestBody.signalSpec
      - text: Ask signal agent {agent_id} which signals it offers for {signal_spec}.
        slots:
          agent_id: requestBody.agentId
          signal_spec: requestBody.signalSpec
      method: generated
      generated: '2026-10-01'