Skip to content

[Bug] SourcesApi.get_source_entitlement_request_config wrapper missing {id} path parameter (v2024, v2025) #136

Description

@kessy628

Summary

SourcesApi.get_source_entitlement_request_config in sailpoint.v2024 and sailpoint.v2025 is generated without an id (or source_id) parameter, so there is no way for the caller to specify which source to query. The request is sent with the literal {id} placeholder still in the URL and the server returns 404. The sailpoint.beta variant of the same method is correct, so this looks like a regression in the v2024/v2025 spec or generator config for this one operation.

Steps to reproduce

import sailpoint.v2025

with sailpoint.v2025.ApiClient(config) as client:
    api = sailpoint.v2025.SourcesApi(client)
    # The wrapper signature does not accept an id, so there is no way to pass it.
    api.get_source_entitlement_request_config()

Expected behavior

The wrapper should accept a source id (matching beta, which uses source_id: StrictStr), populate _path_params, and issue GET /v2025/sources/<that-id>/entitlement-request-config, returning the deserialized SourceEntitlementRequestConfig.

Actual behavior

The request hits the API with the literal {id} placeholder still in the path:

GET /v2025/sources/{id}/entitlement-request-config → 404 Not Found

The wrapper signature in sailpoint/v2025/api/sources_api.py has no id parameter:

def get_source_entitlement_request_config(
    self,
    x_sail_point_experimental: ... = 'true',
    _request_timeout: ... = None,
    ...
) -> SourceEntitlementRequestConfig:

The internal serializer references {id} in resource_path but never populates _path_params:

def _get_source_entitlement_request_config_serialize(
    self,
    x_sail_point_experimental,
    ...
):
    _path_params: Dict[str, str] = {}     # never populated
    # process the path parameters         # (no-op)
    ...
    return self.api_client.param_serialize(
        method='GET',
        resource_path='/sources/{id}/entitlement-request-config',
        ...
    )

By contrast, sailpoint/beta/api/sources_api.py is correct — it takes source_id, populates _path_params['sourceId'], and the endpoint works as expected.

Environment

  • sailpoint 1.4.2
  • Python 3.14
  • OS: Linux (also reproducible on macOS — bug is in generated code, not platform-specific)
  • Affected modules: sailpoint.v2024.api.sources_api.SourcesApi, sailpoint.v2025.api.sources_api.SourcesApi

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