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.

Path Parameters
  • graderId
    Type: string Format: uuid
    required

    External grader identifier (UUID)

Body·
required
application/json

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

  • authenticationCredential
    Type: string | null ·
    min length:  
    1
    max length:  
    16384
    write-only
    required

    Credential material sent on every outbound call to the grader. Must be null when authenticationType is none; required (non-empty string) when authenticationType is api_key. Encrypted at rest via KMS; never returned in any response. Wire mapping: api_keyX-Api-Key: <credential>.

  • authenticationType
    Type: string · enum
    required

    How the platform authenticates outbound calls to the grader.

    values
    • none
    • api_key
  • status
    Type: string · enum
    required

    Lifecycle state of an external grader

    values
    • active
    • revoked
  • url
    Type: string
    max length:  
    2048
    Format: uri
    required

    HTTPS URL of the grading endpoint. Must resolve to a public host.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for put/content/1.0/external-graders/{graderId}
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"
}