## Update span assessment

**patch** `/v5/span-assessments/{span_assessment_id}`

Update the content of an existing span assessment.

Only the assessment's original creator, or an account admin or manager, may
update it; a request from any other identity returns 403. Supplied fields
overwrite the stored values and
the merged result is re-validated against the assessment's type, so the
content must stay consistent with assessment_type (the matching content field
present and no conflicting fields set) or the call returns 422. The span and
trace an assessment is attached to cannot be changed through this endpoint.
Returns 404 if no assessment with that id exists for the caller's account.

### Path Parameters

- `span_assessment_id: string`

### Body Parameters

- `approval: optional ApprovalStatus`

  Approval status (approved/rejected)

  - `"approved"`

  - `"rejected"`

- `assessment_type: optional AssessmentType`

  Type of assessment

  - `"comment"`

  - `"rating"`

  - `"approval"`

  - `"rubric"`

  - `"metadata"`

  - `"overwrite"`

- `comment: optional string`

  Raw text feedback

- `metadata: optional map[unknown]`

  Arbitrary JSON object for additional data

- `overwrite: optional map[unknown]`

  User corrections to span output

- `rating: optional number`

  Numerical rating (1-5)

- `rubric: optional map[string]`

  Rule key-value pairs for rubric evaluation

### Returns

- `SpanAssessment object { assessment_id, assessment_type, created_by, 12 more }`

  Response model for span assessment

  - `assessment_id: string`

    Unique identifier for the assessment

  - `assessment_type: AssessmentType`

    Type of assessment

    - `"comment"`

    - `"rating"`

    - `"approval"`

    - `"rubric"`

    - `"metadata"`

    - `"overwrite"`

  - `created_by: string`

    User who submitted the assessment

  - `span_id: string`

    The span this assessment is attached to

  - `trace_id: string`

    The trace this assessment is attached to

  - `account_id: optional string`

    Account this assessment belongs to

  - `approval: optional ApprovalStatus`

    Approval status (approved/rejected)

    - `"approved"`

    - `"rejected"`

  - `comment: optional string`

    Raw text feedback

  - `created_at: optional string`

    When this assessment was created

  - `metadata: optional map[unknown]`

    Arbitrary JSON object for additional data

  - `object: optional "span.assessment"`

    - `"span.assessment"`

  - `overwrite: optional map[unknown]`

    User corrections to span output

  - `rating: optional number`

    Numerical rating (1-5)

  - `rubric: optional map[string]`

    Rule key-value pairs for rubric evaluation

  - `updated_at: optional string`

    When this assessment was last updated

### Example

```http
curl https://api.egp.scale.com/v5/span-assessments/$SPAN_ASSESSMENT_ID \
    -X PATCH \
    -H 'Content-Type: application/json' \
    -H "x-api-key: $SGP_API_KEY" \
    -d '{}'
```

#### Response

```json
{
  "assessment_id": "assessment_id",
  "assessment_type": "comment",
  "created_by": "created_by",
  "span_id": "span_id",
  "trace_id": "trace_id",
  "account_id": "account_id",
  "approval": "approved",
  "comment": "comment",
  "created_at": "2019-12-27T18:11:19.117Z",
  "metadata": {
    "foo": "bar"
  },
  "object": "span.assessment",
  "overwrite": {
    "foo": "bar"
  },
  "rating": 1,
  "rubric": {
    "foo": "string"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```
