Skip to content

Inconsistent data schema returned by edge-features endpoints #2176

Open
@rhodeon

Description

@rhodeon

Is your feature request related to a problem? Please describe.

The /api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/ endpoint returns a list of results with: feature_state_value, feature, multivariate_feature_state_values, enabled, identity_uuid and uuid.
This unfortunately only returns a partial list of the overriding states for a feature, and doesn't include the name of the feature.

On the other hand, the /api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/all returns a complete list of states with: feature (including the name, type and id), enabled, overridden_by, segment and multivariate_feature_state_values.

Now this returns all the feature states for a identity, but there is a problem. It doesn't return the identity or feature uuid. This is an issue as all other endpoints which reference feature states require the UUIDs.
Currently, I have to make use of both endpoints above and this is far from ideal.

Describe the solution you'd like
I would expect the /api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/all endpoint to be an extension of the first, but as a complete list.
Instead, it returns a completely different schema with different fields.
This is quite misleading, and the reason for that disparity doesn't seem to be mentioned anywhere in the docs.
My proposed solution would be a combination of both schemas, giving access to all fields without making extra calls.

Describe alternatives you've considered
I make use of the 2 endpoints, but this is really inefficient as there a lot of extra calls being made.

Metadata

Metadata

Labels

edge-apiRelated to edge.api.flagsmith.comimprovementImprovement to the existing platform

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions