flagsmith Identities API
Manage user identities within an environment. Identities represent individual users and their associated traits.
Operations 47
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
GET
/environments/{environment_api_key}/identities/
List identities in an environment · List identities for an environment
#
Ask an LLM
“Which users have identities in this environment, via the endpoint without the /api/v1 prefix?”
“Where can I page through every identity an environment knows about using the plain environments path?”
Tell an agent
List all identities in environment {environment_api_key} using the non-v1 identities endpoint.
Page through the users tracked in {environment_api_key} from the plain /environments identities path.
GET
/environments/{environment_api_key}/identities/{identity_id}/
Get an identity and its traits · Get an identity
#
Ask an LLM
“What traits does a given identity have, fetched from the non-v1 identity path?”
“Can I look up one identity by ID without using the /api/v1 prefix?”
Tell an agent
Get identity {identity_id} in environment {environment_api_key} from the non-v1 path, with its traits.
Show the identifier and traits for identity {identity_id} under /environments/{environment_api_key}.
DELETE
/environments/{environment_api_key}/identities/{identity_id}/
Permanently delete an identity · Delete an identity
#
Ask an LLM
“Does deleting an identity also wipe its traits and flag overrides?”
“Is removing a user identity through the non-v1 path reversible?”
Tell an agent destructive · confirm first
Permanently delete identity {identity_id} and its traits from {environment_api_key} via the non-v1 path.
Erase user identity {identity_id} and all its overrides under /environments/{environment_api_key}.
GET
/api/v1/environments/{environment_api_key}/edge-identities/
List edge identities in an environment · Api v1 environments edge identities list
#
Ask an LLM
“Which edge identities exist in an environment?”
“How does paging work for edge identities, given there are no page numbers?”
Tell an agent
List the edge identities in environment {environment_api_key}.
Get the next {page_size} edge identities in {environment_api_key} after key {last_evaluated_key}.
POST
/api/v1/environments/{environment_api_key}/edge-identities/
Create an edge identity · Api v1 environments edge identities create
#
Ask an LLM
“Can I create an edge identity with a friendly dashboard alias?”
“What does it take to register a new user as an edge identity?”
Tell an agent
Create edge identity {identifier} in environment {environment_api_key}.
Add edge identity {identifier} to {environment_api_key} with dashboard alias {dashboard_alias}.
GET
/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/
List an edge identity's flag overrides · Api v1 environments edge identities edge featurestates list
#
Ask an LLM
“Which flags have been overridden for a specific edge identity?”
“Can I check whether an edge identity overrides one particular feature?”
Tell an agent
List the flag overrides for edge identity {edge_identity_identity_uuid} in {environment_api_key}.
Show whether edge identity {edge_identity_identity_uuid} in {environment_api_key} overrides feature {feature}.
POST
/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/
Override a flag for an edge identity · Api v1 environments edge identities edge featurestates create
#
Ask an LLM
“How do I give one edge identity its own value for a flag?”
“Can I force a feature on for a single edge user?”
Tell an agent
Override feature {feature} for edge identity {edge_identity_identity_uuid} in {environment_api_key} with value {feature_state_value}.
Turn feature {feature} to enabled {enabled} just for edge identity {edge_identity_identity_uuid} in {environment_api_key}.
GET
/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/{featurestate_uuid}/
Get one edge identity flag override · Api v1 environments edge identities edge featurestates retrieve
#
Ask an LLM
“What value does a specific edge identity override currently hold?”
“Is a given edge feature state override enabled or disabled?”
Tell an agent
Show edge override {featurestate_uuid} for edge identity {edge_identity_identity_uuid} in {environment_api_key}.
Get the value of edge feature state {featurestate_uuid} on identity {edge_identity_identity_uuid}, environment {environment_api_key}.
PUT
/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/{featurestate_uuid}/
Change an edge identity's flag override · Api v1 environments edge identities edge featurestates update
#
Ask an LLM
“Can I change the value of an override I already set for an edge identity?”
“What's the way to switch off an existing edge identity override?”
Tell an agent
Set existing edge override {featurestate_uuid} on {edge_identity_identity_uuid} in {environment_api_key} to {feature_state_value} for feature {feature}.
Disable edge override {featurestate_uuid} (feature {feature}) for identity {edge_identity_identity_uuid} in {environment_api_key}: enabled {enabled}.
DELETE
/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/{featurestate_uuid}/
Remove an edge identity's flag override · Api v1 environments edge identities edge featurestates destroy
#
Ask an LLM
“How do I clear an override so an edge identity gets the default flag value again?”
“Can I delete one edge feature state override without touching the identity?”
Tell an agent destructive · confirm first
Delete edge override {featurestate_uuid} from edge identity {edge_identity_identity_uuid} in {environment_api_key}.
Reset edge identity {edge_identity_identity_uuid} in {environment_api_key} to the default by removing override {featurestate_uuid}.
GET
/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/all/
Get every flag state for an edge identity · Api v1 environments edge identities edge featurestates all list
#
Ask an LLM
“What does every flag evaluate to for one edge identity, overrides and defaults together?”
“Can I see the complete flag picture for a single edge user?”
Tell an agent
Show all feature states, including defaults, for edge identity {edge_identity_identity_uuid} in {environment_api_key}.
Give me the full flag set that edge identity {edge_identity_identity_uuid} gets in {environment_api_key}.
POST
/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/clone-from-given-identity/
Copy flag overrides between edge identities · Api v1 environments edge identities edge featurestates clone from given…
#
Ask an LLM
“Can I copy one edge identity's flag overrides onto another edge identity?”
“Is there a quick way to make a test edge user match an existing one's flags?”
Tell an agent
Clone the flag overrides from edge identity {source_identity_uuid} onto {edge_identity_identity_uuid} in {environment_api_key}.
Make edge identity {edge_identity_identity_uuid} in {environment_api_key} copy the feature states of edge identity {source_identity_uuid}.
GET
/api/v1/environments/{environment_api_key}/edge-identities/{identity_uuid}/
Get an edge identity · Api v1 environments edge identities retrieve
#
Ask an LLM
“What identifier and dashboard alias does an edge identity have?”
“Can I look up a single edge identity by its UUID?”
Tell an agent
Get edge identity {identity_uuid} in environment {environment_api_key}.
Show the identifier and alias of edge identity {identity_uuid} in {environment_api_key}.
PUT
/api/v1/environments/{environment_api_key}/edge-identities/{identity_uuid}/
Replace an edge identity's details · Api v1 environments edge identities update
#
Ask an LLM
“Can I fully replace an edge identity's identifier and alias in one request?”
“Which fields must I resend when replacing an edge identity?”
Tell an agent
Replace edge identity {identity_uuid} in {environment_api_key} with identifier {identifier}.
Overwrite edge identity {identity_uuid} in {environment_api_key}: identifier {identifier}, alias {dashboard_alias}.
PATCH
/api/v1/environments/{environment_api_key}/edge-identities/{identity_uuid}/
Change only some fields of an edge identity · Api v1 environments edge identities partial update
#
Ask an LLM
“Can I change just the dashboard alias of an edge identity?”
“Is a partial edit of an edge identity possible without resending the identifier?”
Tell an agent
Set only the dashboard alias of edge identity {identity_uuid} in {environment_api_key} to {dashboard_alias}.
Patch edge identity {identity_uuid} in {environment_api_key} so its identifier becomes {identifier}.
DELETE
/api/v1/environments/{environment_api_key}/edge-identities/{identity_uuid}/
Delete an edge identity · Api v1 environments edge identities destroy
#
Ask an LLM
“How do I remove an edge identity from an environment?”
“Will deleting an edge identity remove the user from edge storage entirely?”
Tell an agent destructive · confirm first
Delete edge identity {identity_uuid} from environment {environment_api_key}.
Remove edge user {identity_uuid} from {environment_api_key}.
GET
/api/v1/environments/{environment_api_key}/edge-identities/{identity_uuid}/list-traits/
List an edge identity's traits · Api v1 environments edge identities list traits list
#
Ask an LLM
“What traits are stored for a given edge identity?”
“Can I page through a large set of traits on one edge user?”
Tell an agent
List the traits of edge identity {identity_uuid} in {environment_api_key}.
Show {page_size} traits of edge identity {identity_uuid} in {environment_api_key} after key {last_evaluated_key}.
PUT
/api/v1/environments/{environment_api_key}/edge-identities/{identity_uuid}/update-traits/
Set a trait on an edge identity · Api v1 environments edge identities update traits update
#
Ask an LLM
“How do I set a trait value on an edge identity?”
“Can I change one trait of an edge user from the admin API?”
Tell an agent
Set trait {trait_key} to {trait_value} on edge identity {identity_uuid} in {environment_api_key}.
Update edge identity {identity_uuid} in {environment_api_key} so its {trait_key} trait reads {trait_value}.
GET
/api/v1/environments/{environment_api_key}/identities/
List identities via the v1 admin API · Api v1 environments identities list
#
Ask an LLM
“Can I set a page size when listing identities through the /api/v1 admin endpoint?”
“What identities does the v1 admin API return for an environment?”
Tell an agent
List identities in {environment_api_key} through the v1 admin API.
Show page {page} of v1 identities in {environment_api_key}, {page_size} per page.
POST
/api/v1/environments/{environment_api_key}/identities/
Create an identity · Api v1 environments identities create
#
Ask an LLM
“How do I create an identity for a user without evaluating flags?”
“Can I register a new identity in a non-edge environment from the admin API?”
Tell an agent
Create identity {identifier} in environment {environment_api_key}.
Register user {identifier} as a new identity in {environment_api_key} via the v1 admin API.
GET
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/
List an identity's flag overrides · Api v1 environments identities featurestates list
#
Ask an LLM
“Which flags are overridden for a particular identity?”
“Can I filter an identity's overrides by feature name?”
Tell an agent
Show every per-user flag override stored on standard (non-edge) identity {identity_pk} in {environment_api_key}.
Show identity {identity_pk}'s override for feature named {feature_name} in {environment_api_key}.
POST
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/
Override a flag for an identity (deprecated) · Api v1 environments identities featurestates create
#
Ask an LLM
“Is the nested identity feature state create endpoint deprecated?”
“What does the older way of adding an identity override require?”
Tell an agent
Using the deprecated nested endpoint, override feature {feature} for identity {identity_pk} in {environment_api_key}.
Create a legacy identity override on {identity_pk} in {environment_api_key} setting feature {feature} to {feature_state_value}.
GET
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/{id}/
Get one flag override for an identity · Api v1 environments identities featurestates retrieve
#
Ask an LLM
“What value does a single identity override hold right now?”
“Can I fetch one identity feature state by its ID?”
Tell an agent
Show override {id} for identity {identity_pk} in {environment_api_key}.
Get feature state {id} belonging to identity {identity_pk} in environment {environment_api_key}.
PUT
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/{id}/
Update an identity's flag override value · Api v1 environments identities featurestates update
#
Ask an LLM
“How do I change the value of an existing identity override?”
“Can I update an identity feature state's value without resending everything?”
Tell an agent
Set identity override {id} on {identity_pk} in {environment_api_key} to {feature_state_value} for feature {feature}.
Replace the value of feature {feature} override {id} for identity {identity_pk} ({environment_api_key}) with {feature_state_value}.
PATCH
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/{id}/
Toggle an identity's flag override on or off · Api v1 environments identities featurestates partial update
#
Ask an LLM
“Can I just flip an identity override on or off without changing its value?”
“What's the lightest way to toggle one identity's flag?”
Tell an agent
Toggle identity override {id} on {identity_pk} in {environment_api_key} to enabled {enabled}.
Switch off feature {feature} for identity {identity_pk} by patching override {id} in {environment_api_key}.
DELETE
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/{id}/
Remove an identity's flag override · Api v1 environments identities featurestates destroy
#
Ask an LLM
“How do I clear an override so an identity falls back to the environment default?”
“Can I delete one identity feature state and keep the rest?”
Tell an agent destructive · confirm first
Delete override {id} from identity {identity_pk} in {environment_api_key}.
Reset identity {identity_pk} in {environment_api_key} to the default flag by removing feature state {id}.
GET
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/all/
Get every flag state for an identity · Api v1 environments identities featurestates all retrieve
#
Ask an LLM
“What does every flag resolve to for one identity, including defaults?”
“Can I see an identity's complete flag set in the admin API?”
Tell an agent
Show all feature states, overrides and defaults, for identity {identity_pk} in {environment_api_key}.
Give me the full flag picture for identity {identity_pk} in environment {environment_api_key}.
POST
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/clone-from-given-identity/
Copy flag overrides from another identity · Api v1 environments identities featurestates clone from given identity create
#
Ask an LLM
“Is there a way to duplicate a regular identity's overrides into another regular (non-edge) identity by numeric ID?”
“Is there a quick way to make a QA user mirror a real user's flags?”
Tell an agent
Clone flag overrides from identity {source_identity_id} onto identity {identity_pk} in {environment_api_key}.
Mirror numeric identity {source_identity_id}'s feature states into identity {identity_pk} for environment {environment_api_key}.
GET
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/traits/
List an identity's traits · Api v1 environments identities traits list
#
Ask an LLM
“What traits are recorded for a particular identity?”
“Which trait keys does one user carry in the admin API?”
Tell an agent
Show the trait keys and values recorded on standard identity {identity_pk} for {environment_api_key}.
Show page {page} of traits for identity {identity_pk} in {environment_api_key}.
POST
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/traits/
Add a trait to an identity · Api v1 environments identities traits create
#
Ask an LLM
“How can I add a typed trait, like an integer, to one identity?”
“Can I add a new trait to an identity nested under its environment?”
Tell an agent
Add trait {trait_key} with string value {string_value} to identity {identity_pk} in {environment_api_key}.
Give identity {identity_pk} in {environment_api_key} an integer trait {trait_key} of {integer_value}.
GET
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/traits/{id}/
Get one trait of an identity · Api v1 environments identities traits retrieve
#
Ask an LLM
“What is the current value and type of a single trait on an identity?”
“Can I fetch one identity trait by its ID?”
Tell an agent
Show trait {id} of identity {identity_pk} in {environment_api_key}.
Get the value type of trait {id} on identity {identity_pk}, environment {environment_api_key}.
PUT
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/traits/{id}/
Replace an identity trait · Api v1 environments identities traits update
#
Ask an LLM
“Can I fully replace an identity trait, including its key and type?”
“What must I resend to overwrite an existing identity trait?”
Tell an agent
Replace trait {id} on identity {identity_pk} in {environment_api_key} with key {trait_key} and string value {string_value}.
Overwrite trait {id} of identity {identity_pk} ({environment_api_key}) as {trait_key} of type {value_type}.
PATCH
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/traits/{id}/
Change just a trait's value · Api v1 environments identities traits partial update
#
Ask an LLM
“Can I change only the value of an existing identity trait?”
“Is it possible to patch a trait without resending its key?”
Tell an agent
Patch trait {id} on identity {identity_pk} in {environment_api_key} to string value {string_value}.
Bump only the boolean value of trait {id} for identity {identity_pk} ({environment_api_key}) to {boolean_value}.
DELETE
/api/v1/environments/{environment_api_key}/identities/{identity_pk}/traits/{id}/
Delete an identity trait · Api v1 environments identities traits destroy
#
Ask an LLM
“How do I remove a trait from an identity?”
“Can I delete every trait with the same key across identities at once?”
Tell an agent destructive · confirm first
Delete trait {id} from identity {identity_pk} in {environment_api_key}.
Remove trait {id} on identity {identity_pk} in {environment_api_key} and all matching traits: {deleteAllMatchingTraits}.
GET
/api/v1/environments/{environment_api_key}/identities/{id}/
Get an identity via the v1 admin API · Api v1 environments identities retrieve
#
Ask an LLM
“Can I fetch one identity by ID through the /api/v1 admin path?”
“What does the v1 admin API return for a single identity?”
Tell an agent
Get identity {id} in {environment_api_key} through the v1 admin API.
Fetch v1 identity record {id} from environment {environment_api_key}.
PUT
/api/v1/environments/{environment_api_key}/identities/{id}/
Replace an identity's identifier · Api v1 environments identities update
#
Ask an LLM
“Can I rename an identity's identifier by replacing the record?”
“What fields does a full identity replacement need?”
Tell an agent
Replace identity {id} in {environment_api_key} with identifier {identifier}.
Overwrite the whole identity record {id} in {environment_api_key}, identifier {identifier}.
PATCH
/api/v1/environments/{environment_api_key}/identities/{id}/
Patch an identity's fields · Api v1 environments identities partial update
#
Ask an LLM
“Can I change only an identity's identifier with a partial update?”
“Is patching an identity possible without resending the environment?”
Tell an agent
Patch identity {id} in {environment_api_key} so its identifier is {identifier}.
Partially update identity {id} in {environment_api_key}, moving it to environment {environment}.
DELETE
/api/v1/environments/{environment_api_key}/identities/{id}/
Delete an identity via the v1 admin API · Api v1 environments identities destroy
#
Ask an LLM
“How do I delete an identity through the /api/v1 admin endpoint?”
“Is there a v1 admin route for removing a user identity?”
Tell an agent destructive · confirm first
Delete identity {id} from {environment_api_key} using the v1 admin API.
Remove v1 identity record {id} in environment {environment_api_key}.
PUT
/api/v1/environments/environments/{environment_api_key}/edge-identities-featurestates
Set an edge override by identity identifier · Api v1 environments environments edge identities featurestates update
#
Ask an LLM
“Can I override a flag for an edge user by their identifier instead of UUID?”
“What's the way to upsert an edge identity override environment-wide?”
Tell an agent
Override feature {feature} for edge identifier {identifier} in {environment_api_key} with value {feature_state_value}.
Enable ({enabled}) feature {feature} for the edge user identified as {identifier} in {environment_api_key}.
DELETE
/api/v1/environments/environments/{environment_api_key}/edge-identities-featurestates
Remove edge identity overrides for an environment · Api v1 environments environments edge identities featurestates destroy
#
Ask an LLM
“Can I clear edge identity feature state overrides at the environment level?”
“Which endpoint removes edge identity overrides without an identity UUID in the path?”
Tell an agent destructive · confirm first
Delete the edge identity feature state overrides for environment {environment_api_key}.
Clear edge-identity flag overrides at environment level for {environment_api_key}.
Ask an LLM
“Can I set a single trait on an identity through /api/v1/traits?”
“Which v1 endpoint writes one trait key and value for a user?”
Tell an agent
Through the v1 traits endpoint, set {trait_key} to {trait_value} for identity {identity}.
Post a v1 trait {trait_key}={trait_value} for user {identity}.
Ask an LLM
“Is there a v1 endpoint for updating many traits in one request?”
“Can I push a batch of traits through /api/v1/traits/bulk?”
Tell an agent
Send this batch of trait updates to the v1 bulk traits endpoint.
Bulk update traits for several identities with the /api/v1 bulk route.
POST
/api/v1/traits/increment-value/
Increment a numeric trait · Api v1 traits increment value create
#
Ask an LLM
“Can I increase a counter trait without reading it first?”
“How do I bump a user's numeric trait by a set amount?”
Tell an agent
Increment trait {trait_key} by {increment_by} for identity {identifier}.
Add {increment_by} to the {trait_key} counter on user {identifier}.
Ask an LLM
“What flags does a specific user actually receive after segment rules apply?”
“Can I evaluate flags for a transient identity that isn't saved?”
Tell an agent
Get the evaluated flags and traits for user {identifier}.
Evaluate flags for {identifier} as a transient identity: {transient}.
POST
/identities/
Identify a user with traits and get flags · Identify a user and get flags with traits
#
Ask an LLM
“How do I send a user's traits and get their flags back in one call?”
“Are traits I send when identifying a user saved, or can they be transient?”
Tell an agent
Identify user {identifier} with traits {traits} and return their flags.
Identify {identifier} without persisting anything (transient {transient}) and give me their flags.
Ask an LLM
“Will setting a trait create the identity if it doesn't exist yet?”
“How can I store a trait for segmenting a user from the client SDK endpoint?”
Tell an agent
Set trait {trait_key} to {trait_value} for identity {identity}, creating the identity if missing.
Record {trait_key} as {trait_value} on user {identity} through the SDK traits endpoint.
PUT
/traits/bulk/
Set many traits for an identity at once · Set multiple traits for an identity in bulk
#
Ask an LLM
“Can I update several traits for a user in one SDK request?”
“Does sending a null trait value in bulk delete that trait?”
Tell an agent
Set these traits for the user in one bulk SDK call.
Bulk set a user's traits and delete any I pass as null.
Documentation
📖
Documentation
https://docs.flagsmith.com/integrating-with-flagsmith/flagsmith-api-overview/admin-api
📖
APIReference
https://docs.flagsmith.com/integrating-with-flagsmith/flagsmith-api-overview/management-api/
Specifications
⚙
OpenAPI
https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/openapi/flagsmith-identities-api-openapi.yml
⚙
AsyncAPI
https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/asyncapi/flagsmith-webhooks-asyncapi.yml
Other Resources
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/overlays/flagsmith-identities-api-overlay.yaml
🔗
PostmanCollection
https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/collections/flagsmith-identities-api.postman_collection.json
🔗
OpenCollection
https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/collections/flagsmith-identities-api.opencollection.json