{
  "$id": "https://firefox-ci-tc.services.mozilla.com/schemas/queue/v1/task-credentials.json#",
  "$schema": "https://firefox-ci-tc.services.mozilla.com/schemas/common/metaschema.json#",
  "additionalProperties": false,
  "description": "Temporary credentials granting `task.scopes` and the scope:\n`queue:claim-task:<taskId>/<runId>` which allows the worker to reclaim\nthe task, upload artifacts and report task resolution.\n\nThe temporary credentials are set to expire after `takenUntil`. They\nwon't expire exactly at `takenUntil` but shortly after, hence, requests\ncoming close `takenUntil` won't have problems even if there is a little\nclock drift.\n\nWorkers should use these credentials when making requests on behalf of\na task. This includes requests to create artifacts, reclaiming the task\nreporting the task `completed`, `failed` or `exception`.\n\nNote, a new set of temporary credentials is issued when the worker\nreclaims the task.\n",
  "properties": {
    "accessToken": {
      "description": "The `accessToken` for the temporary credentials.\n",
      "minLength": 1,
      "type": "string"
    },
    "certificate": {
      "description": "The `certificate` for the temporary credentials, these are required\nfor the temporary credentials to work.\n",
      "minLength": 1,
      "type": "string"
    },
    "clientId": {
      "description": "The `clientId` for the temporary credentials.\n",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "clientId",
    "accessToken",
    "certificate"
  ],
  "title": "Task Credentials",
  "type": "object"
}