# Activation Modes

The ActivationMode field allows to choose *when* a data package starts to be valid.&#x20;

#### **Three activation options are available:**

* NOW: The data package activates immediately upon purchase (used by default).
* FIRST\_USE: The data package activates only when the customer first connects to a network in the coverage area, perfect for travellers who want to start their package automatically when they reach their destination.
* ON\_DEMAND: The data package activates when explicitly triggered via the API, provides full control over the activation timing.

{% hint style="info" %}
**ON\_DEMAND** activation is only available for **Worldwide** and **Regional** data packages.
{% endhint %}

Data packages using the options `FIRST_USE` or `ON_DEMAND` have a 90-day period to be fully activated. If the plan remains inactive after this period, the packages will automatically activate, and the validity will begin.

This options are available in the following endpoints:

* `/gigastore/activations/register`
* `/gigastore/activations/top-up-with-profile`
* `/gigastore/activations/top-up`

The `activationMode` field is optional and defaults to NOW, ensuring existing integrations continue to work seamlessly.

#### Best practices

* Use `ON_DEMAND` for worldwide packs, as most people will already be located in a coverage area from the data package.
* Use `FIRST_USE` activation for single-country and regional packs, as most people won't be located already in a coverage area.

#### Important notes:

* For FIRST\_USE or ON\_DEMAND modes, the `activatedAt` field in the Balance schema will be empty until activation, and the `expiresAt` field represents the latest date the package can be activated. \
  If the plan remains inactive by this date, it will automatically activate.
* Once activated, `activatedAt` is set to the current timestamp, and `expiresAt` is updated to reflect the package's duration from the activation time.
* A `salesDate` field in the `activatedItem` schema indicates when the package was sold, distinct from `activatedAt`, which reflects the actual activation time.

#### Endpoint for On-Demand Activation.

To support the ON\_DEMAND activation mode, the following endpoint should be used:\
`POST /gigastore/activations/activated-items/{uid}/activate`

This endpoint activates the balance of an item by its UID. \
UID in this case it's UID from `activatedItem` in response to `POST /gigastore/activations/register` endpoint.\
It also can be used for manual activation a FIRST\_USE package before using it.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.giga.store/api/activation-modes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
