# Tuples with Conditions Best Practice

**URL:** <https://community.auth0.com/t/tuples-with-conditions-best-practice/195561>\
**Category:** Auth0 Fine-Grained Authorization\
**Created:** [December 16, 2025, 3:03pm UTC](https://community.auth0.com/t/tuples-with-conditions-best-practice/195561 "2025-12-16T15:03:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![stephenbawks1](https://sea1.discourse-cdn.com/auth0/user_avatar/community.auth0.com/stephenbawks1/32/71238_2.png) [@stephenbawks1](https://community.auth0.com/u/stephenbawks1)\
**Post date:** [December 16, 2025, 3:03pm UTC](https://community.auth0.com/t/tuples-with-conditions-best-practice/195561/1 "2025-12-16T15:03:17Z")

</div>

Curious what might be some best practices around writing tuples with conditions attached to them.

I have an interface that allows someone to write those and optional attach a time-based condition to it. The one small challenge is in this same interface someone has the ability to check, list objects as well. However, the challenge I was trying to work through was how would I handle the ability to look/check tuples when a person does not know if there is an attached time-based constraint?

Should I present them with an “error” and mention that there is a time-based constraint on the tuple, or should I just magically retry with the additional time context and abstract that from them? Or when a tuple is being written that includes a condition, it SHOULD only be written with the condition and never have the ability to optional include the condition?

---

<div class="post-metadata">

**Author:** ![nik.baleca](https://sea1.discourse-cdn.com/auth0/user_avatar/community.auth0.com/nik.baleca/32/68749_2.png) [@nik.baleca](https://community.auth0.com/u/nik.baleca)\
**Post date:** [March 18, 2026, 6:47pm UTC](https://community.auth0.com/t/tuples-with-conditions-best-practice/195561/2 "2026-03-18T18:47:43Z")

</div>

Hi @stephenbawks1

I am sorry about the delayed response to your inquiry regarding the matter.

I believe that the recommended approach for time constrained tuples would be to **abstract the context injection from the user**. You should not force the user to guess if a time constraint exists, nor should you present them with an error if the system can resolve it automatically.

Instead of a “magic retry,” you should do a “magic inclusion.” If your system supports time-based conditions, your backend service that calls the Auth0 FGA API should automatically inject `{"current_time": "<ISO8601-timestamp>"}` into the `context` object of **every single** `Check` and `ListObjects` API call.

You can check more information about timed conditions [here](https://docs.fga.dev/modeling/basics/conditions).

Kind Regards,  
Nik
