| Element | One piece of content you want optimized, named by you. The unit of optimization. | Elements |
| Declaration | Everything a secret-key call says about how an element should be optimized. The first one creates an experiment; a later one that changes a declaration-class field starts a new experiment. | Declarations |
| Arm | Content Curious can serve for an element. The control is yours; variants are generated, or seeded by you. | Declarations |
| User | Whoever a decision is made for, identified by your user_id, with identifiers, attributes and per-decision context. | Users, identifiers and attributes |
| Decision | One decide call for one user and one element: which arm was served, when, under what context. What rewards attribute to. | Assignment and stickiness |
| Reward | An event that defines success, with a window and a weight. The composite of the rewards is what Curious optimizes. | Rewards |
| Constraint | A guardrail: an event rate a variant may not breach and stay live. | Constraints |
| Event | What a user did, in the past tense, with a value, properties and a timestamp. | Events and attribution |
| Variables and parameters | Placeholders in content: variables are filled from the user, parameters are facts you fix. | Variables and parameters |
| Format and requirements | The structural contract content must satisfy, and the phrase rules every arm must follow. | Format and requirements |
| Approval | Whether generated variants serve at once or wait for a person. | Approval |
| Lifecycle | What experiment_status means and how arms and experiments end. | The experiment lifecycle |