# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Scope3 Buyer Creatives API version: 1.0.0 extends: openapi/scope3-creatives-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: 39 - target: $.paths['/advertisers/{advertiserId}/creative/model-credentials'].get update: x-apievangelist-phrasing: intent: List generation-provider keys for an advertiser effect: read questions: - Which of my own AI generation keys can be used for a given advertiser? - Which generation key is auto-selected when creatives are generated? instructions: - text: List the generation-provider keys available to advertiser {advertiser_id}. slots: advertiser_id: path.advertiserId - text: Show which model key is effective for advertiser {advertiser_id}. slots: advertiser_id: path.advertiserId method: generated generated: '2026-10-01' - target: $.paths['/advertisers/{advertiserId}/creative/model-credentials'].post update: x-apievangelist-phrasing: intent: Connect my own generation-provider key effect: write questions: - Can creative generation run on my own model provider account? - Is the raw API key I connect for creative generation ever stored in plain text? instructions: - text: Connect my {provider_type} key {api_key} labelled {label} to advertiser {advertiser_id}. slots: provider_type: requestBody.providerType api_key: requestBody.apiKey label: requestBody.label advertiser_id: path.advertiserId - text: Store generation key {api_key} for provider {provider_type} on advertiser {advertiser_id} as {label}. slots: api_key: requestBody.apiKey provider_type: requestBody.providerType advertiser_id: path.advertiserId label: requestBody.label method: generated generated: '2026-10-01' - target: $.paths['/creative/model-credentials/{id}'].patch update: x-apievangelist-phrasing: intent: Rotate or edit a generation-provider key effect: write questions: - How do I rotate a generation key without losing its label and assignments? - Can I make one generation key the default across advertisers? instructions: - text: Rotate generation credential {id} to new key {api_key}. slots: id: path.id api_key: requestBody.apiKey - text: Assign generation credential {id} to advertisers {advertiser_ids}. slots: id: path.id advertiser_ids: requestBody.advertiserIds method: generated generated: '2026-10-01' - target: $.paths['/creative-dashboard-url'].get update: x-apievangelist-phrasing: intent: Get a link to the creative dashboard effect: read questions: - Can I get a direct link into the creative dashboard for a campaign? - How do I deep-link someone to one specific creative in the dashboard? instructions: - text: Get the creative dashboard link for advertiser {advertiser_id}, campaign {campaign_id}. slots: advertiser_id: query.advertiserId campaign_id: query.campaignId - text: Give me a dashboard URL that opens creative {manifest_id} in campaign {campaign_id} for advertiser {advertiser_id}. slots: manifest_id: query.manifestId campaign_id: query.campaignId advertiser_id: query.advertiserId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives/create'].post update: x-apievangelist-phrasing: intent: Create a creative in a campaign effect: write questions: - How do I upload a new creative with its files to a campaign? - Can I attach a brief message and a format when creating a campaign creative? instructions: - text: Create creative {name} in campaign {campaign_id} with assets {assets}. slots: name: requestBody.name campaign_id: path.campaignId assets: requestBody.assets - text: Add a {format_id} creative to campaign {campaign_id} with message {message}. slots: format_id: requestBody.format_id campaign_id: path.campaignId message: requestBody.message method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives/templates'].get update: x-apievangelist-phrasing: intent: List creative templates and required formats effect: read questions: - What creative templates and formats do my campaign's products require? - Which ad sizes do I need to supply for a campaign? instructions: - text: List creative templates for campaign {campaign_id}. slots: campaign_id: path.campaignId - text: Show the required formats for campaign {campaign_id}. slots: campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creativeManifest'].get update: x-apievangelist-phrasing: intent: Filter a campaign's creatives by role, source or format effect: read questions: - Can I filter a campaign's creatives by format kind, asset type or dimensions? - Which of a campaign's creatives are promoted or AI-generated? instructions: - text: List creative manifests in campaign {campaign_id} with format kind {format_kind}. slots: campaign_id: path.campaignId format_kind: query.format_kind - text: Show {dimensions} creatives from source {source} in campaign {campaign_id}. slots: dimensions: query.dimensions source: query.source campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives'].get update: x-apievangelist-phrasing: intent: List a campaign's creatives effect: read questions: - What creatives are in my campaign right now? - Can I search a campaign's creatives by name? instructions: - text: List creatives in campaign {campaign_id}. slots: campaign_id: path.campaignId - text: Search campaign {campaign_id}'s creatives for {search}. slots: campaign_id: path.campaignId search: query.search method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives/bulk-update'].post update: x-apievangelist-phrasing: intent: Bulk update a campaign's saved creatives effect: write questions: - Can I change many campaign creatives at once? - Can I preview which creatives a bulk change would touch before applying it? instructions: - text: Preview applying {update} to creatives matching {selection} in campaign {campaign_id}. slots: update: requestBody.update selection: requestBody.selection campaign_id: path.campaignId - text: Apply {update} to creatives matching {selection} in campaign {campaign_id} with dry run {dry_run}. slots: update: requestBody.update selection: requestBody.selection campaign_id: path.campaignId dry_run: requestBody.dry_run method: generated generated: '2026-10-01' - target: $.paths['/advertisers/{advertiserId}/creatives/create'].post update: x-apievangelist-phrasing: intent: Create a creative master for an advertiser effect: write questions: - Can I create a creative for an advertiser before picking a campaign? - How do I make one creative I can reuse across several campaigns? instructions: - text: Create advertiser-level creative {name} for advertiser {advertiser_id}. slots: name: requestBody.name advertiser_id: path.advertiserId - text: Add a reusable creative master to advertiser {advertiser_id} with assets {assets}. slots: advertiser_id: path.advertiserId assets: requestBody.assets method: generated generated: '2026-10-01' - target: $.paths['/advertisers/{advertiserId}/creatives'].get update: x-apievangelist-phrasing: intent: List an advertiser's creative library effect: read questions: - What creatives does an advertiser have across all its campaigns? - Can I filter an advertiser's library by role, such as evergreen or reference? instructions: - text: List the creative library for advertiser {advertiser_id}. slots: advertiser_id: path.advertiserId - text: Show {role} creatives in advertiser {advertiser_id}'s library. slots: role: query.role advertiser_id: path.advertiserId method: generated generated: '2026-10-01' - target: $.paths['/advertisers/{advertiserId}/creatives/save-to-library'].post update: x-apievangelist-phrasing: intent: Promote creatives into the advertiser library shelf effect: write questions: - How do I save creatives as evergreen so they can be reused in other campaigns? - Can I keep creatives only as references for generation rather than serving them? instructions: - text: Save creatives {creative_ids} to advertiser {advertiser_id}'s library as {role}. slots: creative_ids: requestBody.creative_ids advertiser_id: path.advertiserId role: requestBody.role - text: Promote every creative in collection {collection_id} to the {role} shelf for advertiser {advertiser_id}. slots: collection_id: requestBody.collection_id role: requestBody.role advertiser_id: path.advertiserId method: generated generated: '2026-10-01' - target: $.paths['/creatives/stash'].post update: x-apievangelist-phrasing: intent: Stash uploaded creatives before choosing an advertiser effect: write questions: - Can I upload creatives before I've said which advertiser they belong to? - Will my uploads survive until I name the advertiser later? instructions: - text: Stash these uploaded creatives {assets} until I pick an advertiser. slots: assets: requestBody.assets - text: Hold uploads {assets} at the customer level for now. slots: assets: requestBody.assets method: generated generated: '2026-10-01' - target: $.paths['/advertisers/{advertiserId}/creative-intent'].post update: x-apievangelist-phrasing: intent: Ask which campaign uploaded creatives are for effect: write questions: - After uploading creatives, how do I get asked which campaign they belong to? - Can I see an advertiser's recent campaigns when deciding where creatives go? instructions: - text: Open the campaign picker for these uploads {assets} under advertiser {advertiser_id}. slots: assets: requestBody.assets advertiser_id: path.advertiserId - text: Ask which campaign stashed creatives {creative_ids} are for, for advertiser {advertiser_id}. slots: creative_ids: requestBody.creative_ids advertiser_id: path.advertiserId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-confirmation'].get update: x-apievangelist-phrasing: intent: View the creatives added to a campaign and format coverage effect: read questions: - Which required placements are covered by the creatives on my campaign? - Can I review what creatives were added to a campaign without attaching more? instructions: - text: Show the creative confirmation card for campaign {campaign_id}. slots: campaign_id: path.campaignId - text: Check format coverage of campaign {campaign_id}'s creatives. slots: campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-confirmation'].post update: x-apievangelist-phrasing: intent: Attach brought creatives to a campaign effect: write questions: - How do I add the creatives I just uploaded to my campaign? - Do attached images get matched to placements by size automatically? instructions: - text: Attach uploads {assets} to campaign {campaign_id}. slots: assets: requestBody.assets campaign_id: path.campaignId - text: Attach saved creatives {creative_ids} to campaign {campaign_id}. slots: creative_ids: requestBody.creative_ids campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives/{creativeId}/placement'].post update: x-apievangelist-phrasing: intent: Move one creative to a different placement effect: write questions: - A creative landed in the wrong slot — can I move it to the leaderboard? - How do I correct the placement of a single attached creative? instructions: - text: Move creative {creative_id} in campaign {campaign_id} to placement {format_id}. slots: creative_id: path.creativeId campaign_id: path.campaignId format_id: requestBody.format_id - text: Reassign creative {creative_id} to format {format_id} on campaign {campaign_id}. slots: creative_id: path.creativeId format_id: requestBody.format_id campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives/placements'].post update: x-apievangelist-phrasing: intent: Reassign several creatives to placements at once effect: write questions: - Can I save placement mappings for many creatives in one go? - How do I commit a batch of creative-to-placement corrections? instructions: - text: Save placement mappings {mappings} for campaign {campaign_id}. slots: mappings: requestBody.mappings campaign_id: path.campaignId - text: Batch-reassign creatives in campaign {campaign_id} using mappings {mappings}. slots: campaign_id: path.campaignId mappings: requestBody.mappings method: generated generated: '2026-10-01' - target: $.paths['/advertisers/{advertiserId}/creatives/{creativeId}/campaigns'].post update: x-apievangelist-phrasing: intent: Assign a library creative to a campaign effect: write questions: - How do I reuse a creative from an advertiser's library in another campaign? - Can one library creative run in more than one campaign? instructions: - text: Assign library creative {creative_id} from advertiser {advertiser_id} to campaign {campaign_id}. slots: creative_id: path.creativeId advertiser_id: path.advertiserId campaign_id: requestBody.campaignId - text: Add advertiser {advertiser_id}'s creative {creative_id} to campaign {campaign_id}. slots: advertiser_id: path.advertiserId creative_id: path.creativeId campaign_id: requestBody.campaignId method: generated generated: '2026-10-01' - target: $.paths['/advertisers/{advertiserId}/creatives/{creativeId}/campaigns/{campaignId}'].delete update: x-apievangelist-phrasing: intent: Unassign a library creative from a campaign effect: destructive questions: - Can I take a library creative out of one campaign but keep it in the library? - How do I stop a creative running in a specific campaign? instructions: - text: Unassign creative {creative_id} of advertiser {advertiser_id} from campaign {campaign_id}. slots: creative_id: path.creativeId advertiser_id: path.advertiserId campaign_id: path.campaignId - text: Remove library creative {creative_id} from campaign {campaign_id} for advertiser {advertiser_id}. slots: creative_id: path.creativeId campaign_id: path.campaignId advertiser_id: path.advertiserId method: generated generated: '2026-10-01' - target: $.paths['/advertisers/{advertiserId}/creatives/{creativeId}'].delete update: x-apievangelist-phrasing: intent: Archive a creative across all campaigns effect: destructive questions: - How do I retire a creative everywhere it's used? - Will archiving a creative be blocked if it is in an active media buy? instructions: - text: Archive creative {creative_id} for advertiser {advertiser_id} across all campaigns. slots: creative_id: path.creativeId advertiser_id: path.advertiserId - text: Permanently retire advertiser {advertiser_id}'s creative {creative_id} everywhere. slots: advertiser_id: path.advertiserId creative_id: path.creativeId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-collections'].get update: x-apievangelist-phrasing: intent: List a campaign's creative collections effect: read questions: - Which creative collections are attached to my campaign? - Can I include each collection's members when listing a campaign's collections? instructions: - text: List creative collections for campaign {campaign_id}. slots: campaign_id: path.campaignId - text: Search campaign {campaign_id}'s collections for {search}. slots: campaign_id: path.campaignId search: query.search method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-collections'].post update: x-apievangelist-phrasing: intent: Create a creative collection for a campaign effect: write questions: - How do I group a campaign's creatives and assets into a collection? - Can I attach a new collection to the campaign as I create it? instructions: - text: Create collection {name} in campaign {campaign_id}. slots: name: requestBody.name campaign_id: path.campaignId - text: Create campaign collection {name} for campaign {campaign_id} with members {members}. slots: name: requestBody.name campaign_id: path.campaignId members: requestBody.members method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-collections/{collectionId}'].get update: x-apievangelist-phrasing: intent: View one creative collection effect: read questions: - What creatives and assets are inside a particular collection? - Which campaigns is a given collection attached to? instructions: - text: Show collection {collection_id} in campaign {campaign_id}. slots: collection_id: path.collectionId campaign_id: path.campaignId - text: Get the members of collection {collection_id} (campaign {campaign_id}). slots: collection_id: path.collectionId campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-collections/{collectionId}'].put update: x-apievangelist-phrasing: intent: Rename or describe a creative collection effect: write questions: - Can I rename a creative collection? - How do I change a collection's description or metadata? instructions: - text: Rename collection {collection_id} in campaign {campaign_id} to {name}. slots: collection_id: path.collectionId campaign_id: path.campaignId name: requestBody.name - text: Set the description of collection {collection_id} (campaign {campaign_id}) to {description}. slots: collection_id: path.collectionId campaign_id: path.campaignId description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-collections/{collectionId}/members'].post update: x-apievangelist-phrasing: intent: Add creatives or assets to a collection effect: write questions: - How do I add more creatives or generated assets to an existing collection? - Can raw assets go into a creative collection, not just saved creatives? instructions: - text: Add members {members} to collection {collection_id} in campaign {campaign_id}. slots: members: requestBody.members collection_id: path.collectionId campaign_id: path.campaignId - text: Put creatives {members} into collection {collection_id} for campaign {campaign_id}. slots: members: requestBody.members collection_id: path.collectionId campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-collections/{collectionId}/members'].delete update: x-apievangelist-phrasing: intent: Remove creatives or assets from a collection effect: destructive questions: - Can I take a creative out of a collection without deleting the creative? - How do I drop assets from a creative collection? instructions: - text: Remove members {members} from collection {collection_id} in campaign {campaign_id}. slots: members: requestBody.members collection_id: path.collectionId campaign_id: path.campaignId - text: Take {members} out of collection {collection_id} (campaign {campaign_id}). slots: members: requestBody.members collection_id: path.collectionId campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-collections/{collectionId}/attach'].post update: x-apievangelist-phrasing: intent: Attach a creative collection to a campaign effect: write questions: - Can I use a collection as a campaign's approved set or testing set? - How do I attach an existing collection to a campaign? instructions: - text: Attach collection {collection_id} to campaign {campaign_id}. slots: collection_id: path.collectionId campaign_id: path.campaignId - text: Attach collection {collection_id} to campaign {campaign_id} as the {role} set. slots: collection_id: path.collectionId campaign_id: path.campaignId role: requestBody.role method: generated generated: '2026-10-01' - target: $.paths['/advertisers/{advertiserId}/creative-collections'].get update: x-apievangelist-phrasing: intent: List an advertiser's creative collections effect: read questions: - Which creative collections does an advertiser own outside any one campaign? - Can I search an advertiser's collections by name? instructions: - text: List creative collections owned by advertiser {advertiser_id}. slots: advertiser_id: path.advertiserId - text: Search advertiser {advertiser_id}'s collections for {search}. slots: advertiser_id: path.advertiserId search: query.search method: generated generated: '2026-10-01' - target: $.paths['/advertisers/{advertiserId}/creative-collections'].post update: x-apievangelist-phrasing: intent: Create an advertiser-owned creative collection effect: write questions: - Can I create a collection that isn't tied to a single campaign? - How do I build a collection I can attach to several campaigns? instructions: - text: Create advertiser collection {name} for advertiser {advertiser_id}. slots: name: requestBody.name advertiser_id: path.advertiserId - text: Make a reusable collection {name} under advertiser {advertiser_id} with members {members}. slots: name: requestBody.name advertiser_id: path.advertiserId members: requestBody.members method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives/{creativeId}'].get update: x-apievangelist-phrasing: intent: View one creative in a campaign effect: read questions: - What assets and settings does a specific creative in my campaign have? - Can I fetch a single campaign creative by its id? instructions: - text: Show creative {creative_id} in campaign {campaign_id}. slots: creative_id: path.creativeId campaign_id: path.campaignId - text: Get the assets of campaign {campaign_id}'s creative {creative_id}. slots: campaign_id: path.campaignId creative_id: path.creativeId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives/{creativeId}'].put update: x-apievangelist-phrasing: intent: Edit a campaign creative and its assets effect: write questions: - Can I change a creative's click-through URL? - How do I swap or delete assets on an existing creative? instructions: - text: Set the click URL of creative {creative_id} in campaign {campaign_id} to {click_url}. slots: creative_id: path.creativeId campaign_id: path.campaignId click_url: requestBody.click_url - text: Delete assets {asset_ids} from creative {creative_id} in campaign {campaign_id}. slots: asset_ids: requestBody.delete_asset_ids creative_id: path.creativeId campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives/{creativeId}'].delete update: x-apievangelist-phrasing: intent: Delete a creative from a campaign effect: destructive questions: - How do I delete a creative and its files from one campaign? - Does deleting a campaign creative remove its assets too? instructions: - text: Delete creative {creative_id} from campaign {campaign_id}. slots: creative_id: path.creativeId campaign_id: path.campaignId - text: Remove creative manifest {creative_id} and its assets from campaign {campaign_id}. slots: creative_id: path.creativeId campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives/{creativeId}/preview'].post update: x-apievangelist-phrasing: intent: Render a preview of a creative effect: read questions: - Can I see what a creative will look like before it runs? - Why does previewing a creative fail with a validation error? instructions: - text: Preview creative {creative_id} in campaign {campaign_id}. slots: creative_id: path.creativeId campaign_id: path.campaignId - text: Render campaign {campaign_id}'s creative {creative_id} through its format renderer. slots: campaign_id: path.campaignId creative_id: path.creativeId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creatives/{creativeId}/duplicate'].post update: x-apievangelist-phrasing: intent: Duplicate a creative within its campaign effect: write questions: - Can I copy an existing creative to make a variation? - Does duplicating a creative copy its assets too? instructions: - text: Duplicate creative {creative_id} in campaign {campaign_id}. slots: creative_id: path.creativeId campaign_id: path.campaignId - text: Make a copy of campaign {campaign_id}'s creative {creative_id}. slots: campaign_id: path.campaignId creative_id: path.creativeId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-sessions/{sessionId}'].get update: x-apievangelist-phrasing: intent: View a creative iteration session effect: read questions: - What drafts and evaluator results are in my creative iteration session? - Where does a creative generation session stand right now? instructions: - text: Show creative session {session_id} in campaign {campaign_id}. slots: session_id: path.sessionId campaign_id: path.campaignId - text: Get the drafts and status of session {session_id} (campaign {campaign_id}). slots: session_id: path.sessionId campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-sessions/{sessionId}/evaluate'].post update: x-apievangelist-phrasing: intent: Run evaluator checks on a creative session effect: write questions: - Can I run quality checks on the drafts in a creative session? - Is there a separate final evaluation stage for a chosen variant? instructions: - text: Evaluate creative session {session_id} in campaign {campaign_id}. slots: session_id: path.sessionId campaign_id: path.campaignId - text: Run {stage} checks on variant {variant_id} of session {session_id} in campaign {campaign_id}. slots: stage: requestBody.stage variant_id: requestBody.selected_variant_id session_id: path.sessionId campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-sessions/{sessionId}/finalize'].post update: x-apievangelist-phrasing: intent: Save a session variant as a campaign creative effect: write questions: - How do I turn the variant I like from a creative session into a real creative? - Can I name the creative when I finalize a session? instructions: - text: Finalize session {session_id} in campaign {campaign_id} with variant {variant_id}. slots: session_id: path.sessionId campaign_id: path.campaignId variant_id: requestBody.selected_variant_id - text: Save the chosen variant of session {session_id} as creative {name} in campaign {campaign_id}. slots: session_id: path.sessionId name: requestBody.name campaign_id: path.campaignId method: generated generated: '2026-10-01' - target: $.paths['/campaigns/{campaignId}/creative-references'].get update: x-apievangelist-phrasing: intent: Get reference material for generating creatives effect: read questions: - What reference assets and past creatives can be used to generate new ones for a campaign? - Which sourced materials are available as generation inputs? instructions: - text: Get creative references for campaign {campaign_id}. slots: campaign_id: path.campaignId - text: Show the reference assets and past creatives I can generate from for campaign {campaign_id}. slots: campaign_id: path.campaignId method: generated generated: '2026-10-01'