sailpoint-oss / api-specs

This repo houses the API specifications for all SailPoint services.
MIT License
10 stars 17 forks source link

[Bug] ReportTypes.yaml reportType enum string values not exhaustive #75

Open ianphilm opened 3 months ago

ianphilm commented 3 months ago

Attempting to use Python SDK to generate and download a certification campaign signoff report. Finding that the SDK throws due to this bit of configuration: https://github.com/sailpoint-oss/api-specs/blob/main/idn/v3/schemas/reports/ReportResults.yaml#L7

For reference, the json blob that comes back from the endpoint for campaign signoff reports is like so: { "reportType": "Certification Signoff Report-286d342a929c41f4820dfbfbfa7d644e", "taskDefName": "Certification Signoff Report-286d342a929c41f4820dfbfbfa7d644e", "id": "a08e9b708128450a8ce0cc86f05e27a3", "created": "2024-07-01T22:35:38.709", "status": "SUCCESS", "duration": 2907, "rows": 2, "availableFormats": [ "CSV", "PDF" ] }

Here's what the stacktrace looks like from Python SDK results:

pydantic_core._pydantic_core.ValidationError: 1 validation error for ReportResults reportType Value error, must be one of enum values ('ACCOUNTS', 'IDENTITIES_DETAILS', 'IDENTITIES', 'IDENTITY_PROFILE_IDENTITY_ERROR', 'ORPHAN_IDENTITIES', 'SEARCH_EXPORT', 'UNCORRELATED_ACCOUNTS') [type=value_error, input_value='Certification Signoff Re...1ca4b0398c4216175d171a8', input_type=str]

It seems like to truly fix this the system would need to fill a more "standard" "reportType" value such as "CERTIFICATION_SIGNOFF_REPORT" to generally match what the schema seems to define/expect.