AskBrendan
Prepare a personal recommendation offer
POST /api/ask-brendan/prepare
Disabled until the paid pilot is configured. Exact city coverage over a bounded public collection page; no model call or charge.
Request policy
- Operation
prepareAskBrendan- Access
- anonymous
- Automatic retries
- None
- Redirects
- Returned to the caller without following
- Request body limit
- 4096 UTF-8 bytes
- Pagination
- No collection iterator
Parameters
No path or query parameters.
Request body
application/json
object required
Schema details
city string required
occasion string required
preferences string
minutes number required
Responses
200
Offer or insufficient coverage
application/json
object
Schema details
object
Schema details
status unknown required
id string required (uuid)
expiresAt string required (date-time)
amount string required
priceVersion string required
purchaseUrl string required (uri)
network string required
asset string required
recipient string required
object
Schema details
status unknown required
message string required
400
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
403
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
409
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
410
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
413
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
415
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
422
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
429
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
502
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
503
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
504
Request failed; never automatically retry a purchase. Retain the order reference for reconciliation.
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
Examples
Examples use synthetic fixture values. Replace fixture identifiers with public IDs returned by the service. Request bodies and precise locations are transient; keep them out of logs.
curl
curl --fail-with-body --max-time 30 --max-filesize 16777216 --request POST 'https://irvinebroque.com/api/ask-brendan/prepare' --header 'Accept: application/json' --header 'Content-Type: application/json' --data-binary @request.jsonTypeScript
import { PublicApi } from '@irvinebroque/public-api';
const api = new PublicApi();
const result = await api.askBrendan.prepare({
"body": {
"city": "fixture",
"occasion": "fixture",
"minutes": 30
}
});
console.log(result.status, result.headers.get('content-type')); // Keep transient capabilities in memory.CLI
irvinebroque askBrendan prepare --body-file request.jsonrequest.json
{
"city": "fixture",
"occasion": "fixture",
"minutes": 30
}The SDK preserves status, headers, and the server envelope. A 304 has no fresh body. Errors retain structured problem details; ordinary error messages omit response details. Responses are limited to 16 MiB and requests time out after 30 seconds by default.