## Update span assessment

`span_assessments.update(strspan_assessment_id, SpanAssessmentUpdateParams**kwargs)  -> SpanAssessment`

**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.

### Parameters

- `span_assessment_id: str`

- `approval: Optional[ApprovalStatus]`

  Approval status (approved/rejected)

  - `"approved"`

  - `"rejected"`

- `assessment_type: Optional[AssessmentType]`

  Type of assessment

  - `"comment"`

  - `"rating"`

  - `"approval"`

  - `"rubric"`

  - `"metadata"`

  - `"overwrite"`

- `comment: Optional[str]`

  Raw text feedback

- `metadata: Optional[Dict[str, object]]`

  Arbitrary JSON object for additional data

- `overwrite: Optional[Dict[str, object]]`

  User corrections to span output

- `rating: Optional[int]`

  Numerical rating (1-5)

- `rubric: Optional[Dict[str, str]]`

  Rule key-value pairs for rubric evaluation

### Returns

- `class SpanAssessment: …`

  Response model for span assessment

  - `assessment_id: str`

    Unique identifier for the assessment

  - `assessment_type: AssessmentType`

    Type of assessment

    - `"comment"`

    - `"rating"`

    - `"approval"`

    - `"rubric"`

    - `"metadata"`

    - `"overwrite"`

  - `created_by: str`

    User who submitted the assessment

  - `span_id: str`

    The span this assessment is attached to

  - `trace_id: str`

    The trace this assessment is attached to

  - `account_id: Optional[str]`

    Account this assessment belongs to

  - `approval: Optional[ApprovalStatus]`

    Approval status (approved/rejected)

    - `"approved"`

    - `"rejected"`

  - `comment: Optional[str]`

    Raw text feedback

  - `created_at: Optional[datetime]`

    When this assessment was created

  - `metadata: Optional[Dict[str, object]]`

    Arbitrary JSON object for additional data

  - `object: Optional[Literal["span.assessment"]]`

    - `"span.assessment"`

  - `overwrite: Optional[Dict[str, object]]`

    User corrections to span output

  - `rating: Optional[int]`

    Numerical rating (1-5)

  - `rubric: Optional[Dict[str, str]]`

    Rule key-value pairs for rubric evaluation

  - `updated_at: Optional[datetime]`

    When this assessment was last updated

### Example

```python
import os
from scale_gp_beta import SGPClient

client = SGPClient(
    api_key=os.environ.get("SGP_API_KEY"),  # This is the default and can be omitted
)
span_assessment = client.span_assessments.update(
    span_assessment_id="span_assessment_id",
)
print(span_assessment.assessment_id)
```

#### 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"
}
```
