Skip to content

fix: caseapi itemFieldValues URL template drops query params #742

Description

@michaeldcanady

Summary

The itemFieldValuesURLTemplate in caseapi/case_field_values_request_builder.go:17 lacks the {?...} query-parameter expansion, while the sibling fieldValuesURLTemplate (line 16) correctly declares all 6 params. Both templates serve the same CaseFieldValuesRequestBuilder and its shared CaseFieldValuesRequestBuilderGetQueryParameters. Only the top-level variant has the expansion.

Severity: P0 — Silent data loss

Evidence

caseapi/case_field_values_request_builder.go:17 (broken):

itemFieldValuesURLTemplate = "{+baseurl}/api/sn_customerservice/v1/case/{id}/field_values/{field_name}"

Compared to line 16 (correct):

fieldValuesURLTemplate = "{+baseurl}/api/sn_customerservice/v1/case/field_values/{field_name}{?sysparm_dependent_value,sysparm_limit,sysparm_offset,sysparm_reference_field_columns,sysparm_query,sysparm_ref_qual_input}"

Expected

Template should be:

{+baseurl}/api/sn_customerservice/v1/case/{id}/field_values/{field_name}{?sysparm_dependent_value,sysparm_limit,sysparm_offset,sysparm_reference_field_columns,sysparm_query,sysparm_ref_qual_input}

Impact

Any caller routing through the item-level builder (ByID(...).FieldValues(...)) will silently drop all query parameters (sysparm_query, sysparm_limit, sysparm_offset, etc.) from the request URL. This means filtering, pagination, and dependent-value lookups are silently ignored — returning unfiltered/unpaginated results with no error.

Fix

  1. Append {?sysparm_dependent_value,sysparm_limit,sysparm_offset,sysparm_reference_field_columns,sysparm_query,sysparm_ref_qual_input} to itemFieldValuesURLTemplate at line 17.
  2. Add a regression test verifying the item-level template expands the same query params as the top-level template.

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: newNewly filed, not yet triaged by a maintainertype: bugA problem with existing functionality

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions