Skip to content

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

@kessy628

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions