Skip to content

API reference

Fill Word template

documents.FillWordTemplateWriteMember delegation

Generate a Word document from a template and meeting content or supplied text. Uses workspace credit. Read workspace.GetJob using the returned job_id to track progress and obtain file_id; repeated requests for the same material reuse the active job.

POST/v1/operations/documents.FillWordTemplate
On this page

Access & visibility

Allow documents.FillWordTemplate 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.

Set up authentication · Choose permissions

Request fields

Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.

template_idstringRequired

Use a template_id from the template catalogue; this is not the ID of a generated document. workspace.ListTemplates.

At least 1 character.

meeting_idstringOptional

Visible Meeting record ID from List meetings. Supply meeting_id, nonblank context, or both; at least one source is required.

At least 1 character.

contextstringOptional

Source material to use when filling the Word template. Supply nonblank text, a meeting_id, or both. Whitespace alone does not provide material.

At least 1 character.

Prepare the source and retrieve the result

Choose a template created from an original .docx in Brigg, then obtain its template_id from List templates. The catalogue currently has no Word-capability flag: a normal HTML template cannot be filled by this operation. A not_a_word_template error means choose a Word-backed template; source_missing means repair that template in Brigg.

Provide meeting_id, nonblank context, or both. Keep the returned job_id and poll Get job as the same member. A successful start is queued work, not a finished document. When completed, pass result.file_id to Get file download for the .docx.

While work is active, the same member/template/meeting reuses that job; for context-only work the text identifies the active request. Changing extra context while a meeting-based job runs does not start a second job. Idempotency-Key independently protects retries of one HTTP action.

Response

Returns 200 OK with a JSON body.

job_idstringRequired

Job ID to pass to workspace.GetJob for progress and the resulting file_id. Poll with the same approved acting member.

dedupedbooleanOptional

Whether this call reused work already in progress for the same material.

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.
400 no_material Supply a meeting_id, nonblank context, or both.
404 template_not_found Choose a template visible to the same acting member.
400 not_a_word_template Choose a template prepared from an original .docx in Brigg; ordinary HTML templates cannot be filled here.
400 source_missing Restore the template's original Word file in Brigg.
402 insufficient_credits Refill workspace credit before starting the job.
502 dispatch_failed The background job could not be started. Retry the logical request rather than assuming a document was produced.

Next steps

Download OpenAPI · Versioning & retirement

JSON schemas

Use the complete schemas for validation or client generation.

Full request JSON schema
{
  "type": "object",
  "properties": {
    "template_id": {
      "type": "string",
      "minLength": 1,
      "description": "Use a template_id from the template catalogue; this is not the ID of a generated document. [workspace.ListTemplates](/developers/reference/workspace/ListTemplates)."
    },
    "meeting_id": {
      "type": "string",
      "minLength": 1,
      "description": "Visible Meeting record ID from [List meetings](/developers/reference/meetings/ListMeetings). Supply meeting_id, nonblank context, or both; at least one source is required."
    },
    "context": {
      "type": "string",
      "minLength": 1,
      "description": "Source material to use when filling the Word template. Supply nonblank text, a meeting_id, or both. Whitespace alone does not provide material."
    }
  },
  "required": [
    "template_id"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "template_id": "template_consulting",
      "context": "Prepare the agreement for Northstar Consulting AS. A two-week onboarding project starts on 16 November 2026, at a fixed fee of NOK 25,000 excluding VAT."
    }
  ]
}
Full response JSON schema
{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "Job ID to pass to workspace.GetJob for progress and the resulting file_id. Poll with the same approved acting member."
    },
    "deduped": {
      "type": "boolean",
      "description": "Whether this call reused work already in progress for the same material."
    }
  },
  "required": [
    "job_id"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "job_id": "job_word_agreement"
    }
  ]
}

Search by operation name or what you want to build.

Use arrow keys to browse. Enter opens a result.