Update external grader
Replaces the mutable fields of an external grader. If the incoming url differs from the stored one, the platform re-runs the live test call before persisting; a matching url with only a status flip skips the probe.
- Type: string Format: uuidgrader
Id requiredExternal grader identifier (UUID)
Body for replacing an external grader's mutable fields. Full-replace semantics — every field is required, including authenticationCredential (must be re-supplied even when unchanged so the platform can re-probe with plaintext).
- Type: string | null ·authentication
Credential min length:1max length:16384write-onlyrequiredCredential material sent on every outbound call to the grader. Must be
nullwhenauthenticationTypeisnone; required (non-empty string) whenauthenticationTypeisapi_key. Encrypted at rest via KMS; never returned in any response. Wire mapping:api_key→X-Api-Key: <credential>. - Type: string · enumauthentication
Type requiredHow the platform authenticates outbound calls to the grader.
values- none
- api
_key
- Type: string · enumstatusrequired
Lifecycle state of an external grader
values- active
- revoked
- Type: stringurlmax length:2048Format: urirequired
HTTPS URL of the grading endpoint. Must resolve to a public host.
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://platform.dev.timeback.com/content/1.0/external-graders/123e4567-e89b-12d3-a456-426614174000 \
--request PUT \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"url": "",
"status": "active",
"authenticationType": "none",
"authenticationCredential": null
}'
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"url": "https://example.com",
"authenticationType": "none",
"status": "active",
"dateCreated": "2026-07-17T08:31:45.191Z",
"dateLastModified": "2026-07-17T08:31:45.191Z"
}