Design Proposals
Search Design Proposals
Search design proposals for a brand (returns DesignProposalDto, not AI runs). Use search for free text; optional status and sortOrder (createdAt). Caps at 50; currentHtml is null in list/search payloads — fetch by id for HTML.
Required scopes: brand:urls:read
Authorization
bearerAuth AuthorizationBearer <token>
API key (prefix: cogn_) from Account → Developer
In: header
Path Parameters
brandId*string
Brand ID (prefix: br_)
Query Parameters
search?string
Free-text search (display name, website name/url, brief)
sortOrder?string
Sort order by createdAt
Default
"desc"Value in
"asc" | "desc"status?string
Optional status filter (draft|generating|ready|failed); archived are never returned
Value in
"draft" | "generating" | "ready" | "failed"Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:3013/api/v1/brands/string/design-proposals/search"{
"success": true,
"data": {
"id": "dprop_1",
"orgId": "org_1",
"brandId": "br_1",
"displayName": "Acme homepage proposal",
"websiteName": "Acme",
"websiteUrl": "https://acme.example.com",
"brief": "Acme makes premium dog food for active urban breeds.",
"imageAssetIds": [],
"inspirationImageAssetIds": [],
"companyImageAssetIds": [],
"creationSource": "ai",
"status": "ready",
"latestAiRunId": "air_1",
"currentHtml": "<!doctype html>...",
"currentHtmlRunId": "air_1",
"publishedVariantVersionId": null,
"previewPublishMode": "off",
"previewPublicSlug": "aabbccddeeff00112233445566778899aabbccddeeff00112233445566778899",
"previewPasswordUpdatedAt": null,
"createdBy": null,
"createdAt": "2026-08-18T09:07:00.073Z",
"updatedAt": "2026-08-18T09:07:00.073Z"
},
"message": "Success",
"traceId": "req_abc123"
}{
"success": false,
"message": "Invalid data",
"errors": [
{
"code": 400,
"message": "Invalid data"
}
],
"traceId": "req_xxx"
}{
"success": false,
"message": "Unauthorized",
"errors": [
{
"code": 401,
"message": "Unauthorized"
}
],
"traceId": "req_xxx"
}{
"success": false,
"message": "Forbidden",
"errors": [
{
"code": 403,
"message": "Forbidden"
}
],
"traceId": "req_xxx"
}{
"success": false,
"message": "Not found",
"errors": [
{
"code": 404,
"message": "Not found"
}
],
"traceId": "req_xxx"
}{
"success": false,
"message": "Conflict",
"errors": [
{
"code": 409,
"message": "Conflict"
}
],
"traceId": "req_xxx"
}{
"success": false,
"message": "string",
"errors": [
{
"code": 0,
"message": "string",
"details": {}
}
],
"traceId": "string",
"params": {},
"readableMessage": "string"
}{
"success": false,
"message": "Rate limit exceeded",
"errors": [],
"traceId": "req_xxx"
}{
"success": false,
"message": "Unexpected error",
"errors": [
{
"code": 500,
"message": "Unexpected error"
}
],
"traceId": "req_xxx"
}