> For the complete documentation index, see [llms.txt](https://api-docs.speechace.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api-docs.speechace.com/use-cases/automated-language-assessment-with-ai/writing-assessments.md).

# Writing assessments

For roles that depend on clear written communication, score a candidate's writing automatically with [score/writing](/api-reference/score-writing.md). It evaluates Task Response, Grammatical Range and Accuracy, Lexical Resource, and Coherence and Cohesion, and maps the result to CEFR and IELTS. This lets you verify professional writing at scale for emails, reports, documentation, and customer interactions.

## Match the prompt to a task\_type

| Prompt type                              | `task_type`     | Length        |
| ---------------------------------------- | --------------- | ------------- |
| Email/Chat reply or customer interaction | `chat-writing`  | 50–100 words  |
| Short report or documentation            | `short-writing` | 50–100 words  |
| Opinion essay                            | `essay-writing` | 150–300 words |

Give the candidate a prompt (with any source material, such as a customer email), collect their written `answer`, and submit both with the matching `task_type`.

Example prompt (chat reply):

> "Read the customer's complaint below and write a professional reply. Show empathy, address the issue, and offer a solution."

{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```json
{
  "writing_score": {
    "speechace": { "task_response": 74, "grammar": 70, "vocab": 73, "coherence": 72, "overall": 72 },
    "cefr": { "task_response": "B2", "grammar": "B1+", "vocab": "B2", "coherence": "B2", "overall": "B2" }
  }
}
```

{% endcode %}

The four criteria map to `task_response` (Task Response), `grammar` (Grammatical Range and Accuracy), `vocab` (Lexical Resource), and `coherence` (Coherence and Cohesion). Keep the `answer` within the task\_type's word range; an answer that is too short or too long is flagged with `error_word_count` (see [Scoring errors & warnings](/interpreting-results/scoring-errors-and-warnings.md)). See [score/writing](/api-reference/score-writing.md) for the full response.
