True Frontier Hero API
The Hero API from True Frontier — 1 operation(s) for hero.
The Hero API from True Frontier — 1 operation(s) for hero.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/brandnamemaker-com:brandnamemaker-com-hero-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Brandname Maker Hero API
version: 1.0.0
description: 'Paid naming and Hero copy: $0.25 stablecoin or $1 card per call. Discovery and polling a paid naming job carry no extra charge.'
termsOfService: https://brandnamemaker.com/terms
contact:
email: kevin@brandnamemaker.com
x-guidance: 'Discover with unpaid GET. Each POST is a separate paid pass, normally USD 0.25 stablecoin or USD 1.00 card/Link. On 402 use npx @stripe/link-cli mpp pay or an MPP wallet; retry with Authorization: Payment <credential>. On naming 202, GET poll_url until done; do not pay again. Hero is synchronous. MCP tools are available at /mcp. Runtime challenges override advisory discovery prices.'
servers:
- url: https://brandnamemaker.com
tags:
- name: Hero
paths:
/api/v1/hero:
get:
operationId: discoverHero
summary: Hero discovery (unpaid)
description: 'No polling: any job query is ignored by the existing handler.'
security: []
responses:
'200':
description: Hero metadata, request schema, payment methods and prices
content:
application/json:
schema:
type: object
properties:
service:
type: string
description:
type: string
endpoint:
type: string
method:
const: POST
payment_protocol:
enum:
- mpp
- x402
payment_methods:
type: array
items:
type: object
properties:
method:
type: string
currency:
type: string
price:
type: string
network:
type: string
type:
type: string
protocol:
type: string
required:
- method
- price
price:
type: string
network:
type: string
request_schema:
type: object
additionalProperties:
type: string
results:
type: object
properties:
poll:
type: string
note:
type: string
required:
- poll
- note
homepage:
type: string
prompt_url:
type: string
for_agents:
type: string
chain_note:
type: string
required:
- service
- description
- endpoint
- method
- payment_protocol
- request_schema
- homepage
tags:
- Hero
post:
operationId: hero
summary: Run a separate paid Hero copy pass
description: 'Currently synchronous: returns 200 or an error. The 202 response is reserved for async compatibility and is not emitted by this handler. GET ?job= on Hero returns discovery, not a job.'
security:
- payment: []
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.25'
x-card-price:
mode: fixed
currency: USD
amount: '1.00'
protocols:
- mpp:
method: solana
intent: charge
currency: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
x-price:
mode: fixed
currency: USD
amount: '0.25'
- mpp:
method: tempo
intent: charge
currency: '0x20C000000000000000000000b9537d11c60E8b50'
x-price:
mode: fixed
currency: USD
amount: '0.25'
- mpp:
method: stripe
intent: charge
currency: usd
x-price:
mode: fixed
currency: USD
amount: '1.00'
- x402:
network: eip155:8453
x-price:
mode: fixed
currency: USD
amount: '0.25'
x-description: Legacy Base USDC
offers:
- method: solana
intent: charge
currency: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
amount: '250000'
- method: tempo
intent: charge
currency: '0x20C000000000000000000000b9537d11c60E8b50'
amount: '250000'
- method: stripe
intent: charge
currency: usd
amount: '100'
x-guidance: Advisory prices by rail; the runtime 402 challenge lists currently enabled rails and authoritative terms. MPP requires server configuration; legacy Base requires its own configuration. Separate charge for each product.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- brand_name
- audience
anyOf:
- required:
- brief
properties:
brief:
type: string
minLength: 1
pattern: \S
- required:
- problem
- category
- capabilities
- features
- benefits
properties:
problem:
type: string
minLength: 1
pattern: \S
category:
type: string
minLength: 1
pattern: \S
capabilities:
type: string
minLength: 1
pattern: \S
features:
type: string
minLength: 1
pattern: \S
benefits:
type: string
minLength: 1
pattern: \S
properties:
brand_name:
type: string
minLength: 1
pattern: \S
audience:
type: string
minLength: 1
pattern: \S
brief:
type: string
product:
type: string
problem:
type: string
category:
type: string
capabilities:
type: string
features:
type: string
benefits:
type: string
count:
type: number
default: 4
description: Rounded and clamped to 3–5 by the handler.
responses:
'200':
description: Completed pass
headers:
Payment-Receipt:
description: MPP payment receipt, when present on the endpoint response.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
brand_name:
type: string
audience:
type: string
options:
type: array
items:
type: object
properties:
headline:
type: string
subheadline:
type: string
scores:
type: object
properties:
overall_ship:
type: string
confidence:
type: number
headline_subheadline_fit:
type: number
kevin_voice_fit:
type: number
six_element_coverage:
type: number
clarity_flags:
type: number
required:
- overall_ship
- confidence
- headline_subheadline_fit
- kevin_voice_fit
- six_element_coverage
- clarity_flags
required:
- headline
- subheadline
- scores
drafted_count:
type: number
passed_count:
type: number
rounds:
type: number
price:
type: string
network:
type: string
required:
- brand_name
- audience
- options
- drafted_count
- passed_count
- rounds
- price
- network
'202':
description: Reserved async response; Hero currently never emits this status.
headers:
Payment-Receipt:
description: MPP payment receipt, when present on the endpoint response.
schema:
type: string
Retry-After:
schema:
type: integer
Location:
schema:
type: string
content:
application/json:
schema:
type: object
properties:
status:
const: pending
job_id:
type: string
poll_url:
type: string
format: uri
retry_after_seconds:
type: integer
const: 10
payment_reference:
type: string
message:
type: string
required:
- status
- job_id
- poll_url
- retry_after_seconds
- message
'400':
description: Validation, service configuration, payment processing, or pass failure
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
details:
type: string
status:
type: string
refund:
type: string
drafted_count:
type: number
rounds:
type: number
required:
- error
'402':
description: 'Payment required. Pay the challenge, then retry with Authorization: Payment <credential>. Legacy x402 uses PAYMENT-SIGNATURE or X-PAYMENT.'
headers:
WWW-Authenticate:
description: Payment challenge (MPP)
schema:
type: string
example: Payment <challenge>
PAYMENT-REQUIRED:
description: Legacy x402 challenge when enabled
schema:
type: string
content:
application/json:
schema:
description: Payment protocol challenge body; exact representation depends on the rail.
'500':
description: Validation, service configuration, payment processing, or pass failure
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
details:
type: string
status:
type: string
refund:
type: string
drafted_count:
type: number
rounds:
type: number
required:
- error
'502':
description: no_ship_options; no Hero options passed. Stripe refunded; crypto settled.
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
details:
type: string
status:
type: string
refund:
type: string
drafted_count:
type: number
rounds:
type: number
required:
- error
'503':
description: Validation, service configuration, payment processing, or pass failure
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
details:
type: string
status:
type: string
refund:
type: string
drafted_count:
type: number
rounds:
type: number
required:
- error
tags:
- Hero
components:
securitySchemes:
payment:
type: http
scheme: Payment
description: 'MPP credential from the runtime WWW-Authenticate: Payment challenge.'
x402:
type: apiKey
in: header
name: PAYMENT-SIGNATURE
description: Legacy Base x402 credential.
x402Legacy:
type: apiKey
in: header
name: X-PAYMENT
x-service-info:
categories:
- ai
- naming
- copywriting
docs:
homepage: https://brandnamemaker.com
apiReference: https://brandnamemaker.com/for-agents
llms: https://brandnamemaker.com/llms.txt
x-mpp-configured: true