{
  "$id": "https://firefox-ci-tc.services.mozilla.com/schemas/auth/v1/get-client-response.json#",
  "$schema": "https://firefox-ci-tc.services.mozilla.com/schemas/common/metaschema.json#",
  "additionalProperties": false,
  "description": "Get all details about a client, useful for tools modifying a client\n",
  "properties": {
    "clientId": {
      "description": "ClientId of the client scopes is requested about\n",
      "pattern": "^[A-Za-z0-9!@/:.+|_-]+$",
      "type": "string"
    },
    "created": {
      "description": "Date and time when this client was created\n",
      "format": "date-time",
      "type": "string"
    },
    "deleteOnExpiration": {
      "description": "If `true`, the service may delete this client after it has expired.  If\n`false`, the client will remain after expiration, although it cannot be\nused for authentication in that state.\n",
      "type": "boolean"
    },
    "description": {
      "description": "Description of what these credentials are used for in markdown.\nShould include who is the owner, point of contact.\n",
      "maxLength": 10240,
      "type": "string"
    },
    "disabled": {
      "description": "If true, this client is disabled and cannot be used.  This usually occurs when the\nscopes available to the user owning the client no longer satisfy the client.\n",
      "type": "boolean"
    },
    "expandedScopes": {
      "description": "List of scopes granted to this client by matching roles.  Scopes must be\ncomposed of printable ASCII characters and spaces.\n",
      "items": {
        "description": "Scope that client is granted by a role\n",
        "pattern": "^[ -~]*$",
        "type": "string"
      },
      "type": "array",
      "uniqueItems": true
    },
    "expires": {
      "description": "Date and time where the clients access is set to expire\n",
      "format": "date-time",
      "type": "string"
    },
    "lastDateUsed": {
      "description": "Date of last time this client was used. Will only be updated every 6 hours\nor so this may be off by up-to 6 hours. But it still gives a solid hint\nas to whether or not this client is in use.\n",
      "format": "date-time",
      "type": "string"
    },
    "lastModified": {
      "description": "Date and time of last modification\n",
      "format": "date-time",
      "type": "string"
    },
    "lastRotated": {
      "description": "Date and time of when the `accessToken` was reset last time.\n",
      "format": "date-time",
      "type": "string"
    },
    "scopes": {
      "default": [],
      "description": "List of scopes the client has (unexpanded).  Scopes must be composed of\nprintable ASCII characters and spaces.\n",
      "items": {
        "description": "Scope",
        "pattern": "^[ -~]*$",
        "type": "string"
      },
      "type": "array",
      "uniqueItems": true
    }
  },
  "required": [
    "clientId",
    "expires",
    "description",
    "created",
    "lastModified",
    "lastDateUsed",
    "lastRotated",
    "scopes",
    "expandedScopes",
    "disabled",
    "deleteOnExpiration"
  ],
  "title": "Get Client Response",
  "type": "object"
}