The relevant objects do not have official API endpoints at present.
Even using generic-object APIs, I'm not seeing the information you're after.
As an example, I created a third party CA for LetsEncrypt in SmartConsole that I named... "LetsEncrypt"
To get the UID of this object, you can execute the following from the CLI of your management: mgmt_cli -r true show-generic-objects name "LetsEncrypt" --format json
Now, you can use show-generic-object: mgmt_cli -r true show-generic-object uid 22eceb6d-cdbe-4c90-a9d2-edcb3b0cc101 --format json
Unfortunately, the output doesn't appear to include anything about the expiration date:
{
"domainsPreset" : null,
"objectValidationState" : null,
"dynamicContent" : {
"objId" : "00000000-0000-0000-0000-000000000000",
"checkPointObjId" : null,
"domainsPreset" : null,
"domainId" : null,
"status" : "CALCULATING",
"content" : { },
"modified" : false,
"folderPath" : null,
"text" : null,
"folder" : null,
"is_owned" : false
},
"color" : "BLACK",
"crlHttp" : true,
"cacertsignkey" : "1b6233df938c3c129d438fcc",
"ocspValidation" : false,
"crlCacheTimeout" : 86400,
"permissionsStrings" : [ ],
"cacertificate" : "",
"crlLdap" : false,
"crlCacheType" : "TIMEOUT",
"dn" : "CN=ISRG Root X1,O=Internet Security Research Group,C=US",
"useAutoEnrollment" : false,
"type" : "ca",
"automaticEnrollmentProtocol" : null,
"ocspServers" : [ ],
"caType" : "OPSEC_PKI",
"useCnToFetchUser" : false,
"additionalCaSignKeys" : [ ],
"permissionsType" : "NONE",
"usePrincipalName" : false,
"uid" : "22eceb6d-cdbe-4c90-a9d2-edcb3b0cc101",
"folder" : {
"uid" : "5c321c20-24b4-4c3f-aab7-cbc490d74dfd",
"name" : "Global Objects"
},
"domain" : {
"uid" : "41e821a0-3720-11e3-aa6e-0800200c9fde",
"name" : "SMC User"
},
"meta-info" : {
"metaOwned" : false,
"lockStateResponse" : null,
"validationState" : "OK",
"deletable" : true,
"renameable" : true,
"newObject" : false,
"lastModifytime" : 1694633588103,
"lastModifier" : "phoneboy",
"creationTime" : 1694633588103,
"creator" : "phoneboy"
},
"tags" : [ ],
"name" : "LetsEncrypt",
"icon" : "Objects/account_unit",
"comments" : "",
"display-name" : "",
"customFields" : [ ],
"_original_type" : "TrustedOpsecCaServer"
}
Not sure if there's another way to get this information short of SmartConsole.