Impact · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Impact Contracts API

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

What the actions change

x-apievangelist-phrasing

Targets 7

$.info
$.paths['/Advertisers/{AccountSID}/Campaigns/{CampaignId}/Contracts'].get
$.paths['/Advertisers/{AccountSID}/Campaigns/{CampaignId}/Contracts/{ContractId}'].get
$.paths['/Advertisers/{AccountSID}/Programs/{ProgramId}/Contracts'].post
$.paths['/Advertisers/{AccountSID}/Programs/{ProgramId}/Contracts'].delete
$.paths['/Mediapartners/{AccountSID}/Contracts'].get
$.paths['/Mediapartners/{AccountSID}/Contracts/{Id}'].get

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 Impact Contracts API
  version: 1.0.0
extends: openapi/impact-contracts-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 6
- target: $.paths['/Advertisers/{AccountSID}/Campaigns/{CampaignId}/Contracts'].get
  update:
    x-apievangelist-phrasing:
      intent: List partner contracts on a brand campaign
      effect: read
      questions:
      - Which partner contracts are active on my campaign?
      - Can I find contracts still pending my approval on a campaign?
      - How do I see contracts ending before a certain date for one partner?
      instructions:
      - text: List contracts on campaign {campaign} in brand account {sid}.
        slots:
          sid: path.AccountSID
          campaign: path.CampaignId
      - text: Show campaign {campaign} contracts with status {status}.
        slots:
          campaign: path.CampaignId
          status: query.Status
      - text: List campaign {campaign} contracts signed with partner {partner}.
        slots:
          campaign: path.CampaignId
          partner: query.PartnerId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/Advertisers/{AccountSID}/Campaigns/{CampaignId}/Contracts/{ContractId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a contract's details as a brand
      effect: read
      questions:
      - What terms are in a specific partner contract on my campaign?
      - Does a contract include Creator or Product Boost campaign details?
      instructions:
      - text: Get contract {contract} on campaign {campaign} in account {sid}.
        slots:
          sid: path.AccountSID
          campaign: path.CampaignId
          contract: path.ContractId
      - text: Show the brand-side terms of contract {contract} in campaign {campaign}.
        slots:
          campaign: path.CampaignId
          contract: path.ContractId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/Advertisers/{AccountSID}/Programs/{ProgramId}/Contracts'].post
  update:
    x-apievangelist-phrasing:
      intent: Accept a pending partner contract
      effect: write
      questions:
      - How do I accept a contract proposal a partner is waiting on?
      - Can I place a partner in a group when accepting their contract?
      instructions:
      - text: Accept pending contract {contract} in program {program} for account {sid}.
        slots:
          sid: path.AccountSID
          program: path.ProgramId
          contract: requestBody.contractId
      - text: Approve proposal {contract} on program {program} and assign group {group}.
        slots:
          program: path.ProgramId
          contract: requestBody.contractId
          group: requestBody.groupId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/Advertisers/{AccountSID}/Programs/{ProgramId}/Contracts'].delete
  update:
    x-apievangelist-phrasing:
      intent: Decline a pending partner contract
      effect: destructive
      questions:
      - How do I turn down a partner's pending contract proposal?
      - Can I give a reason when declining a contract?
      instructions:
      - text: Decline pending contract {contract} in program {program} for account {sid}.
        slots:
          sid: path.AccountSID
          program: path.ProgramId
          contract: requestBody.contractId
      - text: Reject proposal {contract} on program {program} because {reason}.
        slots:
          program: path.ProgramId
          contract: requestBody.contractId
          reason: requestBody.reason
      method: generated
      generated: '2026-09-26'
- target: $.paths['/Mediapartners/{AccountSID}/Contracts'].get
  update:
    x-apievangelist-phrasing:
      intent: List a partner's contracts
      effect: read
      questions:
      - What contracts do I hold as a partner across brands?
      - Can a partner filter contracts by campaign or status?
      instructions:
      - text: List all contracts on partner account {sid}.
        slots:
          sid: path.AccountSID
      - text: Show my partner contracts for campaign {campaign}.
        slots:
          campaign: query.CampaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/Mediapartners/{AccountSID}/Contracts/{Id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Retrieve a contract as a partner
      effect: read
      questions:
      - What are the payout terms in one of my partner contracts?
      - Why don't I see scheduled terms when retrieving a contract?
      instructions:
      - text: Retrieve contract {id} for partner account {sid}.
        slots:
          sid: path.AccountSID
          id: path.Id
      - text: Show my full partner contract {id}.
        slots:
          id: path.Id
      method: generated
      generated: '2026-09-26'