Skip to content

[Bug] access-request-status v1 ApprovalStatusDto drops currentOwners and other response fields #143

Description

@liamokeeffe42

Describe the bug

In Python SDK 2.1.42, AccessRequestsApi.list_access_request_status_v1()
deserializes /access-request-status/v1 responses into RequestedItemStatus.
Its nested ApprovalStatusDto does not model several fields returned by the API.

Pydantic silently discards these fields, so serializing the SDK object with
model_dump_json(by_alias=True) does not reproduce the API response.

Missing fields observed in approvalDetails include:

  • currentOwners
  • approverComments
  • approvalId
  • startDate
  • timeoutConfig
  • approvalCriteria
  • forwardHistory
  • reviewedBy
  • reviewedByIdentities

currentOwners is particularly important for serial and parallel workflow
approvals because singular currentOwner can be null while currentOwners
contains the actual approver chain.

To Reproduce

import json

from sailpoint import ApiClient, Configuration
from sailpoint.access_requests.api import AccessRequestsApi

configuration = Configuration()

with ApiClient(configuration) as api_client:
    api = AccessRequestsApi(api_client)
    response = api.list_access_request_status_v1_with_http_info(
        filters='accessRequestId eq "<access-request-id>"'
    )

raw_item = json.loads(response.raw_data.decode("utf-8"))[0]
model_item = response.data[0].model_dump(by_alias=True)

raw_approval = raw_item["approvalDetails"][0]
model_approval = model_item["approvalDetails"][0]

print(sorted(set(raw_approval) - set(model_approval)))

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions