Access & visibility
Allow customers.GenerateBrief on your API key.
Acting member required. Send Brigg-Act-As with an approved member account ID. The key supplies permissions; the member selects whose data is used.
The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.
Request fields
Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.
targetobjectRequiredThe record or content item to which this operation applies.
Nested fields
typestringRequiredThe record's type: core:Meeting, core:Company or core:Person.
At least 1 character. At most 60 characters.
idstringRequiredVisible Company, Person or Meeting record ID. Match it to target.type; an account ID cannot be used here.
At least 1 character. At most 80 characters.
forcebooleanOptionalRegenerate a fresh brief. Omit or send false to reuse it. Other readiness, permission and credit checks still apply.
Start, wait, then review
- Find the target with List companies, List people or List meetings. Pass its resource type and record ID together.
- Call this operation.
started: truemeans work was queued, not that the brief is ready. Keep the returnedjob_id. - Poll Get job with the same acting member until it completes, fails or needs input. Respect
retry_atwhen supplied. - Review the brief on that record in Brigg. The current public record models do not expose the brief body; the job result identifies the affected record, not the generated text. Use this operation to refresh Brigg's briefing, not to obtain generated prose for another system.
When no job starts
fresh means the existing brief can be reused. already_running means another run is working on this target; this response does not include that run's job ID. scrape_pending waits for linked website content. awaiting_first_prep waits for the meeting's initial preparation. no_target means the target disappeared or is no longer available. Other reasons can be returned; retain the reason for diagnostics instead of assuming every no-op means success.
force: true bypasses the freshness check only. It does not bypass an active run, pending source material, access checks or credit checks. Starting generation uses workspace credits; reusing a fresh brief starts no new generation.
Response
Returns 200 OK with a JSON body.
okbooleanRequiredWhether the action completed successfully.
startedbooleanRequiredTrue when new background work started. False requires inspecting reason; neither value means generation has completed.
reasonstringOptionalWhy no new work started, for example fresh, already_running, scrape_pending or awaiting_first_prep. Treat this as an open set of outcomes.
job_idstringOptionalPresent when new work starts. Poll Get job as the same member.
Errors & retries
Set BRIGG_REQUEST_ID once for each logical action. The samples send it as Idempotency-Key. Reuse the same value and body on retries, including after a timeout; a missing response does not prove the action failed.
For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.
| HTTP status | Code | What to do |
|---|---|---|
| 400 | invalid_json |
Send a JSON object with Content-Type: application/json. |
| 400 | invalid_input |
Check the request fields and types. Supply a stable Idempotency-Key containing 1–200 characters. |
| 401 | invalid_key |
The workspace API key is missing, invalid or revoked. |
| 403 | forbidden |
Check the key’s operation and resource grants. Supply Brigg-Act-As with a member authorized by the key’s delegation grant. The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply. |
| 404 | not_found |
The requested operation or resource is not available to this credential. |
| 429 | rate_limited |
Wait for Retry-After before retrying. Reuse the original Idempotency-Key. |
Next steps
JSON schemas
Use the complete schemas for validation or client generation.
Full request JSON schema
{
"type": "object",
"properties": {
"target": {
"type": "object",
"properties": {
"type": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "The record's type: core:Meeting, core:Company or core:Person."
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Visible Company, Person or Meeting record ID. Match it to target.type; an account ID cannot be used here."
}
},
"required": [
"type",
"id"
],
"additionalProperties": false,
"description": "The record or content item to which this operation applies."
},
"force": {
"type": "boolean",
"description": "Regenerate a fresh brief. Omit or send false to reuse it. Other readiness, permission and credit checks still apply."
}
},
"required": [
"target"
],
"additionalProperties": false,
"examples": [
{
"target": {
"type": "core:Company",
"id": "e_company_northstar"
}
}
]
}Full response JSON schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the action completed successfully."
},
"started": {
"type": "boolean",
"description": "True when new background work started. False requires inspecting reason; neither value means generation has completed."
},
"reason": {
"type": "string",
"description": "Why no new work started, for example fresh, already_running, scrape_pending or awaiting_first_prep. Treat this as an open set of outcomes."
},
"job_id": {
"type": "string",
"description": "Present when new work starts. Poll [Get job](/reference/workspace/GetJob) as the same member."
}
},
"required": [
"ok",
"started"
],
"additionalProperties": false,
"examples": [
{
"ok": true,
"started": true,
"job_id": "job_brief_northstar"
}
]
}