{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/telnyx/main/json-schema/telnyx-oauth-client-schema.json",
  "title": "OAuthClient",
  "x-generated": "2026-10-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/telnyx-oauth-clients-api-openapi.yml#/components/schemas/OAuthClient",
  "properties": {
    "allowed_grant_types": {
      "description": "List of allowed OAuth grant types",
      "items": {
        "enum": [
          "client_credentials",
          "authorization_code",
          "refresh_token"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "allowed_scopes": {
      "description": "List of allowed OAuth scopes",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "client_id": {
      "description": "OAuth client identifier",
      "type": "string"
    },
    "client_secret": {
      "description": "Client secret (only included when available, for confidential clients)",
      "type": [
        "string",
        "null"
      ]
    },
    "client_type": {
      "description": "OAuth client type",
      "enum": [
        "public",
        "confidential"
      ],
      "type": "string"
    },
    "created_at": {
      "description": "Timestamp when the client was created",
      "format": "date-time",
      "type": "string"
    },
    "logo_uri": {
      "description": "URL of the client logo",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "description": "Human-readable name for the OAuth client",
      "type": "string"
    },
    "org_id": {
      "description": "Organization ID that owns this OAuth client",
      "type": "string"
    },
    "policy_uri": {
      "description": "URL of the client's privacy policy",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "record_type": {
      "description": "Record type identifier",
      "enum": [
        "oauth_client"
      ],
      "type": "string"
    },
    "redirect_uris": {
      "description": "List of allowed redirect URIs",
      "items": {
        "format": "uri",
        "type": "string"
      },
      "type": "array"
    },
    "require_pkce": {
      "description": "Whether PKCE (Proof Key for Code Exchange) is required for this client",
      "type": "boolean"
    },
    "tos_uri": {
      "description": "URL of the client's terms of service",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "updated_at": {
      "description": "Timestamp when the client was last updated",
      "format": "date-time",
      "type": "string"
    },
    "user_id": {
      "description": "User ID that created this OAuth client",
      "type": "string"
    }
  },
  "required": [
    "record_type",
    "client_id",
    "name",
    "org_id",
    "user_id",
    "client_type",
    "require_pkce",
    "created_at",
    "updated_at"
  ],
  "type": "object"
}