🧭✨Future Charge Keys (NEW)

✨ NEW TABLE - December 2025

🛠️ Partner API Alignment Migration

🧭 This table represents the post-migration state for charge_keys.

1️⃣ Migrate to this table by April 2026

2️⃣ Between April 2026 and July 2026, remove FUTURE__ prefix

Enriched charge key records with associated user and team information for charging operations. Combines charge key data with user and team details to provide comprehensive charging access management. Filters to include only charge keys that belong to either a team or user context.

SQL: FUTURE__charge_keys

Schema

Column NameData TypeDescription
Primary ID
idINTEGERPrimary key
Other IDs
team_idINTEGERForeign key referencing the team that owns this charge key
user_idINTEGERForeign key referencing the user that owns this charge key
partner_external_idVARCHARExternal identifier used by the partner system for this charge key
Timestamps
created_atTIMESTAMP_NTZTimestamp when the charge key was originally created
updated_atTIMESTAMP_NTZTimestamp when the charge key was last modified
deleted_atTIMESTAMP_NTZTimestamp when the charge key was deleted, null if still active
blocked_atTIMESTAMP_NTZTimestamp when the charge key was blocked from use, null if not blocked
user_deleted_atTIMESTAMP_NTZTimestamp when the associated user was deleted, null if user still exists
team_deleted_atTIMESTAMP_NTZTimestamp when the associated team was deleted, null if team still exists
Filters
is_monta_networkBOOLEANIndicates whether this charge key can be used on the Monta charging network
is_roaming_networkBOOLEANIndicates whether this charge key can be used on roaming partner networks
is_operator_networkBOOLEANIndicates whether this charge key can be used on operator-specific networks
is_defaultBOOLEANIndicates whether this is the default charge key for the associated user or team
is_user_charge_keyBOOLEANIndicates whether this charge key belongs to a specific user
is_team_charge_keyBOOLEANIndicates whether this charge key belongs to a specific team
Attributes
active_untilTIMESTAMP_NTZTimestamp until which the charge key remains valid for use
typeVARCHARClassification of the charge key type, such as RFID or mobile app
identifierVARCHARUnique identifier string for the charge key used in charging sessions
nameVARCHARHuman-readable name assigned to the charge key for identification
user_is_active_application_userBOOLEANIndicates whether the associated user is actively using the application
user_is_active_team_ownerBOOLEANIndicates whether the associated user is an active team owner
user_is_active_team_memberBOOLEANIndicates whether the associated user is an active team member

Changes from Last Version

Added columns:

  • partner_external_id
  • created_at
  • updated_at
  • deleted_at
  • user_deleted_at
  • team_deleted_at
  • is_default
  • legacy_is_active_application_user
  • legacy_is_active_team_owner
  • legacy_is_active_team_member
  • is_user_charge_key
  • is_team_charge_key

Columns renamed:

  • charge_key_id → id
  • charge_key_name → name

Data inclusion criteria

This table uses the operator's teams and users tables to find records belonging to either (or both)

Data flow

Upstream tablesDownstream tables
FUTURE_users---
FUTURE_teams---

Alignment

Partner API

This table aligns with the [get/charge-auth-tokens9 (https://docs.partner-api.monta.com/reference/get-charge-auth-tokens) endpoint of the Partner API The partner API only includes non-deleted team charge keys, so you m,ust exclude other rows.

where deleted_at is null and is_team_charge_key

charge_keys table

Must execute a complex where clause that aligns teams for team charge keys and users for user charge keys

where 
(is_team_charge_key and team_deleted_at is null)
or
(is_user_charge_key
and user_deleted_at IS NULL
and (legacy_is_active_application_user OR legacy_is_active_team_owner OR legacy_is_active_team_member))