{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/telnyx/main/json-schema/telnyx-authentication-provider-schema.json",
  "title": "AuthenticationProvider",
  "x-generated": "2026-10-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/telnyx-authentication-providers-api-openapi.yml#/components/schemas/AuthenticationProvider",
  "properties": {
    "activated_at": {
      "description": "ISO 8601 formatted date indicating when the authentication provider was activated.",
      "format": "date-time",
      "type": "string"
    },
    "active": {
      "$ref": "#/$defs/active"
    },
    "created_at": {
      "description": "ISO 8601 formatted date indicating when the resource was created.",
      "format": "date-time",
      "type": "string"
    },
    "id": {
      "description": "Uniquely identifies the authentication provider.",
      "format": "uuid",
      "type": "string"
    },
    "name": {
      "$ref": "#/$defs/name"
    },
    "organization_id": {
      "$ref": "#/$defs/organization_id"
    },
    "record_type": {
      "description": "Identifies the type of the resource.",
      "type": "string"
    },
    "settings": {
      "description": "The settings associated with the authentication provider.",
      "properties": {
        "assertion_consumer_service_url": {
          "description": "The Assertion Consumer Service URL for the service provider (Telnyx).",
          "format": "uri",
          "type": "string"
        },
        "idp_attribute_names": {
          "description": "Mapping of SAML attribute names used by the identity provider (IdP).",
          "type": "object"
        },
        "idp_cert_fingerprint": {
          "description": "The certificate fingerprint for the identity provider (IdP)",
          "type": "string"
        },
        "idp_cert_fingerprint_algorithm": {
          "default": "sha1",
          "description": "The algorithm used to generate the identity provider's (IdP) certificate fingerprint",
          "enum": [
            "sha1",
            "sha256",
            "sha384",
            "sha512"
          ],
          "type": "string"
        },
        "idp_certificate": {
          "description": "The full X.509 certificate for the identity provider (IdP).",
          "type": "string"
        },
        "idp_entity_id": {
          "description": "The Entity ID for the identity provider (IdP).",
          "format": "uri",
          "type": "string"
        },
        "idp_slo_target_url": {
          "description": "The Single Logout (SLO) target URL for the identity provider (IdP).",
          "format": "uri",
          "type": "string"
        },
        "idp_sso_target_url": {
          "description": "The SSO target url for the identity provider (IdP).",
          "format": "uri",
          "type": "string"
        },
        "name_identifier_format": {
          "description": "The name identifier format associated with the authentication provider. This must be the same for both the Identity Provider (IdP) and the service provider (Telnyx).",
          "type": "string"
        },
        "provision_groups": {
          "description": "Whether group provisioning is enabled for this authentication provider.",
          "type": "boolean"
        },
        "service_provider_entity_id": {
          "description": "The Entity ID for the service provider (Telnyx).",
          "format": "uri",
          "type": "string"
        },
        "service_provider_login_url": {
          "description": "The login URL for the service provider (Telnyx). Users navigate to this URL to initiate SSO login.",
          "format": "uri",
          "type": "string"
        }
      },
      "type": "object"
    },
    "short_name": {
      "$ref": "#/$defs/short_name"
    },
    "updated_at": {
      "description": "ISO 8601 formatted date indicating when the resource was updated.",
      "format": "date-time",
      "type": "string"
    }
  },
  "type": "object",
  "$defs": {
    "active": {
      "default": true,
      "description": "The active status of the authentication provider",
      "type": "boolean"
    },
    "name": {
      "description": "The name associated with the authentication provider.",
      "type": "string"
    },
    "organization_id": {
      "description": "The id from the Organization the authentication provider belongs to.",
      "format": "uuid",
      "type": "string"
    },
    "short_name": {
      "description": "The short name associated with the authentication provider. This must be unique and URL-friendly, as it's going to be part of the login URL.",
      "type": "string"
    }
  }
}