Get the latest opportunities report

GET
/brands/{brandId}/opportunities

Experimental — the response shape may still change.

The brand's Opportunities report: a prioritized set of ways to get cited more often, with the tracked prompts and cited pages behind each one. The same analysis the dashboard shows, from the same code.

Generation is inline and synchronous. A stored report is served while it is fresh and regenerated when it is not, so there is nothing to poll for and no way to be handed a stale one — but a request that triggers a generation waits for it. The freshness window bounds the cost: however many callers ask, one generation per brand per window. There is deliberately no POST, which would spend provider budget with nothing metering it per call.

Authorization

BearerAuth
headerAuthorizationBearer <token>

An instance admin key from ADMIN_API_KEYS, or an organization key (elmo_…) issued from the dashboard.

Path Parameters

brandId*string

Brand identifier.

Response Body

Get the latest opportunities report

application/json
  1. response

The brand's latest Opportunities report — the same LLM-generated analysis the dashboard shows, read from the append-only history rather than regenerated. Elmo decides when to produce a new one; there is no way to trigger generation over the API, because it spends provider budget with no per-call metering behind it.

brandId*string
status*string

ready when a report is present. insufficient-data when the brand hasn't accumulated enough tracked answers to say anything useful yet, in which case the lists are empty.

Value in"ready""insufficient-data"
generatedAt*|
Formatdate-time
model*|

The model that produced the report, when recorded.

summary*array<string>

A few bullets on where the brand stands and the through-line of the plan.

opportunities*array<>

Prioritized, highest impact first.

risks*array<string>

Caveats: hard-to-win areas, or tactics to avoid.

curl -X GET 'https://app.elmohq.com/api/v1/brands/string/opportunities'
{  "brandId": "string",  "status": "ready",  "generatedAt": "2019-08-24T14:15:22Z",  "model": "string",  "summary": [    "string"  ],  "opportunities": [    {      "category": "creation",      "title": "string",      "why": "string",      "relatedPrompts": [        {          "text": "string",          "promptId": "b5415d63-4390-40ec-8c2b-33a2db2f5c67"        }      ],      "yourCitations": [        {          "url": "http://example.com",          "domain": "string",          "title": "string"        }      ],      "competitorCitations": [        {          "url": "http://example.com",          "domain": "string",          "title": "string"        }      ]    }  ],  "risks": [    "string"  ]}