{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "OAuthClient",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the object.",
      "readOnly": true,
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "description": "The name of this OAuth client.",
      "example": "Acme Inc"
    },
    "description": {
      "type": "string",
      "nullable": true,
      "description": "A short description of this OAuth client.",
      "example": "Integrate Acme Inc's services into Outline."
    },
    "developerName": {
      "type": "string",
      "nullable": true,
      "description": "The name of the developer who created this OAuth client.",
      "example": "Acme Inc"
    },
    "developerUrl": {
      "type": "string",
      "nullable": true,
      "description": "The URL of the developer who created this OAuth client.",
      "example": "https://example.com"
    },
    "avatarUrl": {
      "type": "string",
      "nullable": true,
      "description": "A URL pointing to an image representing the OAuth client."
    },
    "clientId": {
      "type": "string",
      "description": "The client ID for the OAuth client.",
      "readOnly": true,
      "example": "2bquf8avrpdv31par42a"
    },
    "clientSecret": {
      "type": "string",
      "description": "The client secret for the OAuth client.",
      "readOnly": true,
      "example": "ol_sk_rapdv31..."
    },
    "clientType": {
      "type": "string",
      "description": "The type of the OAuth client.",
      "readOnly": true,
      "enum": [
        "public",
        "confidential"
      ]
    },
    "redirectUris": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The redirect URIs for the OAuth client.",
      "example": [
        "https://example.com/callback"
      ]
    },
    "published": {
      "type": "boolean",
      "description": "Whether the OAuth client is available to other workspaces.",
      "example": true
    },
    "lastActiveAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "Date and time when this OAuth client was last used.",
      "readOnly": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when this OAuth client was created",
      "readOnly": true
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when this OAuth client was updated",
      "readOnly": true
    }
  }
}