Teams
Retrieve the account templates of your operator
An account template carries the default price groups a team inherits, so its id is what operatorTeamSettingId on team update expects. Required scope: teams:read
Organization authorization: supported
query Parameters
pagepage number to retrieve (starts with 0)
perPagenumber of items per page (between 1 and 100, default 10)
Retrieve the account templates of your operator › Responses
The account templates of your operator and its sub-operators.
Retrieve a list of teams
Required scope: teams:read
Organization authorization: supported
query Parameters
pagepage number to retrieve (starts with 0)
perPagenumber of items per page (between 1 and 100, default 10)
partnerExternalIdFilter teams by partnerExternalId, to filter only resources without partnerExternalId use partnerExternalId=""
Deprecated: use customFields=externalId:<value> instead.
operatorIdFilter teams by operatorId
*Note:*The operatorId must be in the consumer’s operatorIds or, if empty, belong to the organization’s sub-operators
featureGroupIdFilter teams by featureGroupId
fromUpdatedAtFilter to retrieve teams where updatedAt >= fromUpdatedAt (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
includeDeletedFilter to include delete teams in the response
idsFilter teams by a comma-separated list of team ids
customFieldsFilter teams by custom fields: comma-separated key:value pairs, all of which must match exactly (AND), at most 5 pairs. Escape a literal :, , or \ inside a value with \.
Retrieve a list of teams › Responses
List of teams that match the criteria
Create a team
Required scope: teams:write
Organization authorization: supported
Create a team › Request Body
nameName of the team.
contactEmailContact email of the team. Named "email" in the GET APIs.
typetype of the team.
Address of the team. Only countryId is mandatory. Address1, city, and zipCode must be provided together or all left null.
userIdId of the user that owns the team.
userEmailEmail of the user that owns the team, useful when the userId is not known.
operatorIdId of the operator this team should be assigned to
Note: if not provided the team will be assigned to the default operator for the given consumer, if the default operator cannot be assigned the request will be rejected.
financeEmailFinance contact email of the team.
financeCommunicationEmailRecipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.
legalEmailLegal contact email of the team.
companyNameThe company name for the team.
vatNumberThe vat number for the team.
companyRegistrationNumberThe company registration number for the team.
Custom fields to set on this entity: a flat map of string keys (1-64 characters, no : or ,, not starting with monta) to string values (up to 256 characters), at most 20 pairs per entity. Fields are scoped to your operator. externalId is the same value as the deprecated partnerExternalId.
paymentMethodThe payment method for the team.
Note: if not provided the team will be created with the default payment method source.
themeIdThe theme id to assign to the team.
Note: When theme is provided, it must belong to the same operator as the team
The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Present in the list means enabled; the list is the full enabled set.
onboardingProfileIdOnboarding profile to apply, from GET /onboarding-profiles. Copies the profile's steps onto the team and locks them to the profile. Cannot be combined with onboardingSteps.
The app-onboarding welcome-screen text override. Omit to use Monta's default copy.
categoryCategory identifier of the team, one of: housing-association, cpo, parking, hotel, fleet, company, priced-by-site-owner.
Note: if not provided Monta assigns a default based on the team type.
selfRegisterChargeKeysWhether team members can register their own charge keys.
Note: defaults to false when omitted. Self-registration is also enabled when the team's operator team settings template enables it.
joinCodeCustom code users enter in the app to join the team, 4-50 characters. Monta generates one when omitted.
Note: stored slugified (lowercased, spaces and symbols become dashes, e.g. MVV Energie 042 → mvv-energie-042); the response returns the stored value. Join codes are unique across all teams on Monta, so a code that is already taken (after slugifying) is rejected with 422.
partnerExternalIdExternal Id of this entity, managed by you.
Deprecated: use customFields.externalId instead — both read and write the same value.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.
Deprecated: use customFields instead; this payload is not migrated automatically.
Create a team › Responses
Team created
idId of the team
nameName of the team
joinCodeCode to share with a user to join the team. Slugified and unique across all teams on Monta.
The address where the team is located
The currency assigned for this team
typeType of the team
userIdId of the user that owns this team
isFrozenWhether the team is frozen or not
createdAtCreation date of this team
updatedAtUpdate date of this team
paymentMethodThe team's billing method (for example source or invoice). This does not indicate whether a saved card exists; use hasPaymentCard and paymentMethods for saved payment methods.
emailEmail of the team that will receive team communications. Named "contact email" in the creation/update APIs.
financeEmailFinance email of the team that will receive finance related emails
financeCommunicationEmailRecipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.
legalEmailLegal email of the team (certified e-mail)
externalIdExternal id of the team
Custom fields of this entity, managed by you: a flat map of string keys (1-64 characters, no : or ,) to string values (up to 256 characters), at most 20 pairs. Fields are scoped to your operator and never visible to other operators. externalId is the same value as the deprecated partnerExternalId.
recipientCodeThe recipient code used for e-invoicing
companyNameThe company name for the given team
taxIdentificationNumberThe tax identification number for the given team
vatNumberThe VAT number for the given team
companyRegistrationNumberThe company registration number for the team
The operator to this team is associated
Category of the team. Set it with category on team create and patch.
frozenReasonTeam freezing reason
featureGroupIdFeature group id assigned to team
frozenAtFrozen date of this team
blockedAtBlocked date of this team
deletedAtThe deleted date of this team
The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.
themeIdThe theme id associated with the team.
Tags associated with this team
The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.
The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).
autoWithdrawEnabledWhether automatic bank withdrawal is on for the team (equivalent to autoWithdrawNextAt being set). Mutually exclusive with invoiceWithdraw (see the team settings), but legacy teams can have both set, so check invoiceWithdraw as well.
autoWithdrawNextAtWhen the next automatic withdrawal is due; null when automatic withdrawal is off. A payout only happens when the team also has a bank account, is not frozen and has enough balance.
hasPaymentCardWhether this team has at least one saved card, including expired cards. Check paymentMethods[].expired to determine whether a saved card is still valid. Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
Saved payment method summaries (brand, last four digits, expiry). Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
partnerExternalIdExternal Id of this entity, managed by you.
Deprecated: use customFields.externalId instead — both read and write the same value.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
Deprecated: use customFields instead; this payload is not migrated automatically.
operatorIdDeprecated (will be removed by 01.04.24), use operator field instead.
Switch automatic withdrawal on or off for up to 50 teams
Switch automatic bank withdrawal on (enabled: true) or off (enabled: false) for up to 50 teams in one call, the bulk form of autoWithdraw on PATCH /teams/{id}. Page through larger lists in several requests.
Partial success: each team is changed on its own and gets one entry in results, in request order, so a batch with mixed results still returns 200. Check result for each team: for example no-bank-account means the team was switched on but is not paid until it adds a bank account, and ineligible comes with a reason.
Safe to repeat: a team that is already on keeps its next withdrawal date (already-on), and a team that is already off is left alone (already-off).
Scope: if any id does not exist or belongs to a team outside your operator's scope, the whole request is refused with 403 TEAMS_NOT_IN_OPERATOR_SCOPE and context.teamIds lists those ids. Nothing is changed in that case.
A call can take up to about 30 seconds for 50 teams. Run these calls one after another: requests over the per-consumer concurrency cap get 429 CONCURRENCY_LIMIT_EXCEEDED.
Required scope: teams:write
Organization authorization: supported
Switch automatic withdrawal on or off for up to 50 teams › Request Body
teamIdsIds of the teams to switch automatic withdrawal on or off for: between 1 and 50 distinct, positive ids. Page through larger lists in several requests.
enabledtrue switches automatic withdrawal on for every listed team, false switches it off.
Switch automatic withdrawal on or off for up to 50 teams › Responses
One result per requested team
How many teams ended up with each result. The counts add up to requested.
One entry per requested team, in request order.
Bulk-enable app onboarding across teams
Apply the same onboarding-step set to many teams in one call, equivalent to calling PATCH /teams/{id} with onboardingSteps for each. The response reports the outcome per team; a team the caller can't access is reported as failed rather than failing the whole batch.
Required scope: teams:write
Organization authorization: supported
Bulk-enable app onboarding across teams › Request Body
teamIdsIds of the teams to apply the onboarding steps to. Duplicates are ignored.
The onboarding steps to enable for every listed team, as {step, config?, displayMode?} entries. Applied identically to each team; the list replaces that team's full enabled set, so an empty list clears onboarding for the team.
Bulk-enable app onboarding across teams › Responses
Per-team onboarding outcome
Per-team outcome, one entry per distinct team id in the request.
Retrieve a team
Required scope: teams:read
Organization authorization: supported
Optional scope: wallet-transactions:read adds hasPaymentCard and paymentMethods to the response
path Parameters
idRetrieve a team › Responses
Team with provided id
idId of the team
nameName of the team
joinCodeCode to share with a user to join the team. Slugified and unique across all teams on Monta.
The address where the team is located
The currency assigned for this team
typeType of the team
userIdId of the user that owns this team
isFrozenWhether the team is frozen or not
createdAtCreation date of this team
updatedAtUpdate date of this team
paymentMethodThe team's billing method (for example source or invoice). This does not indicate whether a saved card exists; use hasPaymentCard and paymentMethods for saved payment methods.
emailEmail of the team that will receive team communications. Named "contact email" in the creation/update APIs.
financeEmailFinance email of the team that will receive finance related emails
financeCommunicationEmailRecipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.
legalEmailLegal email of the team (certified e-mail)
externalIdExternal id of the team
Custom fields of this entity, managed by you: a flat map of string keys (1-64 characters, no : or ,) to string values (up to 256 characters), at most 20 pairs. Fields are scoped to your operator and never visible to other operators. externalId is the same value as the deprecated partnerExternalId.
recipientCodeThe recipient code used for e-invoicing
companyNameThe company name for the given team
taxIdentificationNumberThe tax identification number for the given team
vatNumberThe VAT number for the given team
companyRegistrationNumberThe company registration number for the team
The operator to this team is associated
Category of the team. Set it with category on team create and patch.
frozenReasonTeam freezing reason
featureGroupIdFeature group id assigned to team
frozenAtFrozen date of this team
blockedAtBlocked date of this team
deletedAtThe deleted date of this team
The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.
themeIdThe theme id associated with the team.
Tags associated with this team
The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.
The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).
autoWithdrawEnabledWhether automatic bank withdrawal is on for the team (equivalent to autoWithdrawNextAt being set). Mutually exclusive with invoiceWithdraw (see the team settings), but legacy teams can have both set, so check invoiceWithdraw as well.
autoWithdrawNextAtWhen the next automatic withdrawal is due; null when automatic withdrawal is off. A payout only happens when the team also has a bank account, is not frozen and has enough balance.
hasPaymentCardWhether this team has at least one saved card, including expired cards. Check paymentMethods[].expired to determine whether a saved card is still valid. Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
Saved payment method summaries (brand, last four digits, expiry). Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
partnerExternalIdExternal Id of this entity, managed by you.
Deprecated: use customFields.externalId instead — both read and write the same value.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
Deprecated: use customFields instead; this payload is not migrated automatically.
operatorIdDeprecated (will be removed by 01.04.24), use operator field instead.
Patch an existing team
Required scope: teams:write
Organization authorization: supported
Note: To update the operator team status, use the dedicated PATCH /teams/{id}/operator-team endpoint instead.
Automatic withdrawal: autoWithdraw needs no extra permission beyond teams:write; teams of another operator return 403.
path Parameters
idPatch an existing team › Request Body
userIdId of the user that owns the team
userEmailemail of the user that owns the team, useful when the userId is not known
nameName of the team
contactEmailContact email of the team. Named "email" in the GET APIs.
financeEmailFinance contact email of the team
financeCommunicationEmailRecipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.
legalEmailLegal contact email of the team.
Address of the team. Only countryId is mandatory. Address1, city, and zipCode must be provided together or all left null.
companyNameThe company name for the team
vatNumberThe vat number for the team
companyRegistrationNumberThe company registration number for the team
Custom fields to set on this entity: a flat map of string keys (1-64 characters, no : or ,, not starting with monta) to string values (up to 256 characters), at most 20 pairs per entity. Fields are scoped to your operator. externalId is the same value as the deprecated partnerExternalId.
Note: merged into the existing fields — omitted keys are kept, a null value deletes the key and {} changes nothing.
paymentMethodThe payment method for the team
themeIdThe theme id to assign to the team.
Note: When theme is provided, it must belong to the same operator as the team
The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Sending the list replaces the full enabled set; omitting it leaves the steps unchanged.
The app-onboarding welcome-screen text override. Sending it replaces the saved override (slots required; {} clears them); omitting it leaves it unchanged. Send enabled: false to revert to Monta's default copy. Rejected with 409 while the team is linked to an onboarding profile.
categoryCategory identifier of the team, one of: housing-association, cpo, parking, hotel, fleet, company, priced-by-site-owner.
Note: omit the field to leave the category unchanged.
inventoryOnlyChargeKeysWhether the team is restricted to only charge keys that are in the operator inventory
selfRegisterChargeKeysWhether team members can register their own charge keys.
Note: omit the field to leave it unchanged. Self-registration stays enabled while the team's operator team settings template enables it, so sending false does not disable it in that case.
costCenterIdThe cost center id to assign to the team.
Note: Send null to clear the assignment; omit the field to leave it unchanged.
operatorTeamSettingIdAccount template the team follows, from GET /operator-team-settings. The template supplies the team's default price groups, so pinning one is how an operator-owned tariff becomes a team default.
Note: Send null to unpin the team; omit the field to leave it unchanged.
onboardingProfileIdOnboarding profile to lock the team to, from GET /onboarding-profiles. Copies the profile's steps onto the team; while assigned, onboardingSteps cannot be edited.
Note: Send null to detach and keep the current steps (editable again); omit the field to leave it unchanged.
autoWithdrawTurn automatic bank withdrawal on or off for the team. Personal teams, frozen teams and teams using the invoice payment method are not eligible.
Note: Mutually exclusive with invoiceWithdraw; enabling is refused with 422 (AUTO_WITHDRAW_CONFLICT_INVOICE_WITHDRAW) while invoiceWithdraw is on, and with 422 (AUTO_WITHDRAW_TEAM_INELIGIBLE) for an ineligible team. Enabling succeeds even if the team has no bank account, and no payout happens until one is added. Disabling always works. Omit the field to leave the setting unchanged.
joinCodeCustom code users enter in the app to join the team, 4-50 characters. Omit the field to leave it unchanged.
Note: stored slugified (lowercased, spaces and symbols become dashes, e.g. MVV Energie 042 → mvv-energie-042); the response returns the stored value. Join codes are unique across all teams on Monta, so a code that is already taken (after slugifying) is rejected with 422.
partnerExternalIdExternal Id of this entity, managed by you.
Deprecated: use customFields.externalId instead — both read and write the same value.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.
Deprecated: use customFields instead; this payload is not migrated automatically.
Patch an existing team › Responses
Team updated
idId of the team
nameName of the team
joinCodeCode to share with a user to join the team. Slugified and unique across all teams on Monta.
The address where the team is located
The currency assigned for this team
typeType of the team
userIdId of the user that owns this team
isFrozenWhether the team is frozen or not
createdAtCreation date of this team
updatedAtUpdate date of this team
paymentMethodThe team's billing method (for example source or invoice). This does not indicate whether a saved card exists; use hasPaymentCard and paymentMethods for saved payment methods.
emailEmail of the team that will receive team communications. Named "contact email" in the creation/update APIs.
financeEmailFinance email of the team that will receive finance related emails
financeCommunicationEmailRecipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.
legalEmailLegal email of the team (certified e-mail)
externalIdExternal id of the team
Custom fields of this entity, managed by you: a flat map of string keys (1-64 characters, no : or ,) to string values (up to 256 characters), at most 20 pairs. Fields are scoped to your operator and never visible to other operators. externalId is the same value as the deprecated partnerExternalId.
recipientCodeThe recipient code used for e-invoicing
companyNameThe company name for the given team
taxIdentificationNumberThe tax identification number for the given team
vatNumberThe VAT number for the given team
companyRegistrationNumberThe company registration number for the team
The operator to this team is associated
Category of the team. Set it with category on team create and patch.
frozenReasonTeam freezing reason
featureGroupIdFeature group id assigned to team
frozenAtFrozen date of this team
blockedAtBlocked date of this team
deletedAtThe deleted date of this team
The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.
themeIdThe theme id associated with the team.
Tags associated with this team
The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.
The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).
autoWithdrawEnabledWhether automatic bank withdrawal is on for the team (equivalent to autoWithdrawNextAt being set). Mutually exclusive with invoiceWithdraw (see the team settings), but legacy teams can have both set, so check invoiceWithdraw as well.
autoWithdrawNextAtWhen the next automatic withdrawal is due; null when automatic withdrawal is off. A payout only happens when the team also has a bank account, is not frozen and has enough balance.
hasPaymentCardWhether this team has at least one saved card, including expired cards. Check paymentMethods[].expired to determine whether a saved card is still valid. Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
Saved payment method summaries (brand, last four digits, expiry). Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
partnerExternalIdExternal Id of this entity, managed by you.
Deprecated: use customFields.externalId instead — both read and write the same value.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
Deprecated: use customFields instead; this payload is not migrated automatically.
operatorIdDeprecated (will be removed by 01.04.24), use operator field instead.
Freeze a team
Required scope: teams:write
Organization authorization: supported
path Parameters
idFreeze a team › Responses
Team with provided id
idId of the team
nameName of the team
joinCodeCode to share with a user to join the team. Slugified and unique across all teams on Monta.
The address where the team is located
The currency assigned for this team
typeType of the team
userIdId of the user that owns this team
isFrozenWhether the team is frozen or not
createdAtCreation date of this team
updatedAtUpdate date of this team
paymentMethodThe team's billing method (for example source or invoice). This does not indicate whether a saved card exists; use hasPaymentCard and paymentMethods for saved payment methods.
emailEmail of the team that will receive team communications. Named "contact email" in the creation/update APIs.
financeEmailFinance email of the team that will receive finance related emails
financeCommunicationEmailRecipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.
legalEmailLegal email of the team (certified e-mail)
externalIdExternal id of the team
Custom fields of this entity, managed by you: a flat map of string keys (1-64 characters, no : or ,) to string values (up to 256 characters), at most 20 pairs. Fields are scoped to your operator and never visible to other operators. externalId is the same value as the deprecated partnerExternalId.
recipientCodeThe recipient code used for e-invoicing
companyNameThe company name for the given team
taxIdentificationNumberThe tax identification number for the given team
vatNumberThe VAT number for the given team
companyRegistrationNumberThe company registration number for the team
The operator to this team is associated
Category of the team. Set it with category on team create and patch.
frozenReasonTeam freezing reason
featureGroupIdFeature group id assigned to team
frozenAtFrozen date of this team
blockedAtBlocked date of this team
deletedAtThe deleted date of this team
The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.
themeIdThe theme id associated with the team.
Tags associated with this team
The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.
The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).
autoWithdrawEnabledWhether automatic bank withdrawal is on for the team (equivalent to autoWithdrawNextAt being set). Mutually exclusive with invoiceWithdraw (see the team settings), but legacy teams can have both set, so check invoiceWithdraw as well.
autoWithdrawNextAtWhen the next automatic withdrawal is due; null when automatic withdrawal is off. A payout only happens when the team also has a bank account, is not frozen and has enough balance.
hasPaymentCardWhether this team has at least one saved card, including expired cards. Check paymentMethods[].expired to determine whether a saved card is still valid. Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
Saved payment method summaries (brand, last four digits, expiry). Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
partnerExternalIdExternal Id of this entity, managed by you.
Deprecated: use customFields.externalId instead — both read and write the same value.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
Deprecated: use customFields instead; this payload is not migrated automatically.
operatorIdDeprecated (will be removed by 01.04.24), use operator field instead.
Update operator team status
Set whether a team is an operator team. Operator teams have special privileges within the platform, such as managing charge points and infrastructure.
Required scope: teams:write
Organization authorization: supported
path Parameters
idUpdate operator team status › Request Body
operatorTeamWhether this team should be marked as an operator team. Operator teams have special privileges within the platform, such as managing charge points and infrastructure.
Update operator team status › Responses
Team updated
idId of the team
nameName of the team
joinCodeCode to share with a user to join the team. Slugified and unique across all teams on Monta.
The address where the team is located
The currency assigned for this team
typeType of the team
userIdId of the user that owns this team
isFrozenWhether the team is frozen or not
createdAtCreation date of this team
updatedAtUpdate date of this team
paymentMethodThe team's billing method (for example source or invoice). This does not indicate whether a saved card exists; use hasPaymentCard and paymentMethods for saved payment methods.
emailEmail of the team that will receive team communications. Named "contact email" in the creation/update APIs.
financeEmailFinance email of the team that will receive finance related emails
financeCommunicationEmailRecipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.
legalEmailLegal email of the team (certified e-mail)
externalIdExternal id of the team
Custom fields of this entity, managed by you: a flat map of string keys (1-64 characters, no : or ,) to string values (up to 256 characters), at most 20 pairs. Fields are scoped to your operator and never visible to other operators. externalId is the same value as the deprecated partnerExternalId.
recipientCodeThe recipient code used for e-invoicing
companyNameThe company name for the given team
taxIdentificationNumberThe tax identification number for the given team
vatNumberThe VAT number for the given team
companyRegistrationNumberThe company registration number for the team
The operator to this team is associated
Category of the team. Set it with category on team create and patch.
frozenReasonTeam freezing reason
featureGroupIdFeature group id assigned to team
frozenAtFrozen date of this team
blockedAtBlocked date of this team
deletedAtThe deleted date of this team
The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.
themeIdThe theme id associated with the team.
Tags associated with this team
The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.
The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).
autoWithdrawEnabledWhether automatic bank withdrawal is on for the team (equivalent to autoWithdrawNextAt being set). Mutually exclusive with invoiceWithdraw (see the team settings), but legacy teams can have both set, so check invoiceWithdraw as well.
autoWithdrawNextAtWhen the next automatic withdrawal is due; null when automatic withdrawal is off. A payout only happens when the team also has a bank account, is not frozen and has enough balance.
hasPaymentCardWhether this team has at least one saved card, including expired cards. Check paymentMethods[].expired to determine whether a saved card is still valid. Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
Saved payment method summaries (brand, last four digits, expiry). Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
partnerExternalIdExternal Id of this entity, managed by you.
Deprecated: use customFields.externalId instead — both read and write the same value.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
Deprecated: use customFields instead; this payload is not migrated automatically.
operatorIdDeprecated (will be removed by 01.04.24), use operator field instead.
Retrieve a team's settings
Required scope: teams:read
Organization authorization: supported
path Parameters
idRetrieve a team's settings › Responses
Settings for the team with the provided id
teamIdId of the team these settings belong to
invoiceWithdrawWhether team balance is withdrawn via invoice. Mutually exclusive with autoWithdrawEnabled.
joinCodeCode used to join the team
selfRegisterChargeKeysWhether members can self-register charge keys for this team
autoAcceptInvitationRequestsWhether team join requests are accepted automatically
autoGenerateChargePointGroupsWhether charge point groups are generated automatically for the team
showMembersOnAppWhether team members are shown in the app
customerTypeCustomer type of the team
invoicePeriodInvoicing period for the team
invoiceDestinationCodeDestination code used on team invoices
poNumberPurchase order number applied to team invoices
eanNumberEAN/CIF number of the team
partnerExternalIdExternal id assigned to the team by the partner
inventoryOnlyChargeKeysWhether the team is restricted to only charge keys that are in the operator inventory
The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Absent unless the feature is enabled for the operator.
onboardingProfileIdThe onboarding profile the team is locked to; null when its steps are set directly.
The app-onboarding welcome-screen text override; null when never configured (Monta's default copy is shown). Absent unless the feature is enabled for the operator.
autoWithdrawEnabledWhether automatic bank withdrawal is on for the team (equivalent to autoWithdrawNextAt being set). Mutually exclusive with invoiceWithdraw, but legacy teams can have both set, so check invoiceWithdraw as well. Change it with autoWithdraw on PATCH /teams/{id}.
autoWithdrawNextAtWhen the next automatic withdrawal is due; null when automatic withdrawal is off.
Unfreeze a team
Required scope: teams:write
Organization authorization: supported
path Parameters
idUnfreeze a team › Responses
Team with provided id
idId of the team
nameName of the team
joinCodeCode to share with a user to join the team. Slugified and unique across all teams on Monta.
The address where the team is located
The currency assigned for this team
typeType of the team
userIdId of the user that owns this team
isFrozenWhether the team is frozen or not
createdAtCreation date of this team
updatedAtUpdate date of this team
paymentMethodThe team's billing method (for example source or invoice). This does not indicate whether a saved card exists; use hasPaymentCard and paymentMethods for saved payment methods.
emailEmail of the team that will receive team communications. Named "contact email" in the creation/update APIs.
financeEmailFinance email of the team that will receive finance related emails
financeCommunicationEmailRecipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.
legalEmailLegal email of the team (certified e-mail)
externalIdExternal id of the team
Custom fields of this entity, managed by you: a flat map of string keys (1-64 characters, no : or ,) to string values (up to 256 characters), at most 20 pairs. Fields are scoped to your operator and never visible to other operators. externalId is the same value as the deprecated partnerExternalId.
recipientCodeThe recipient code used for e-invoicing
companyNameThe company name for the given team
taxIdentificationNumberThe tax identification number for the given team
vatNumberThe VAT number for the given team
companyRegistrationNumberThe company registration number for the team
The operator to this team is associated
Category of the team. Set it with category on team create and patch.
frozenReasonTeam freezing reason
featureGroupIdFeature group id assigned to team
frozenAtFrozen date of this team
blockedAtBlocked date of this team
deletedAtThe deleted date of this team
The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.
themeIdThe theme id associated with the team.
Tags associated with this team
The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.
The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).
autoWithdrawEnabledWhether automatic bank withdrawal is on for the team (equivalent to autoWithdrawNextAt being set). Mutually exclusive with invoiceWithdraw (see the team settings), but legacy teams can have both set, so check invoiceWithdraw as well.
autoWithdrawNextAtWhen the next automatic withdrawal is due; null when automatic withdrawal is off. A payout only happens when the team also has a bank account, is not frozen and has enough balance.
hasPaymentCardWhether this team has at least one saved card, including expired cards. Check paymentMethods[].expired to determine whether a saved card is still valid. Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
Saved payment method summaries (brand, last four digits, expiry). Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.
partnerExternalIdExternal Id of this entity, managed by you.
Deprecated: use customFields.externalId instead — both read and write the same value.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
Deprecated: use customFields instead; this payload is not migrated automatically.
operatorIdDeprecated (will be removed by 01.04.24), use operator field instead.
Get PowerBank status
Returns the aggregated PowerBank subscription status for the team — counts, subscribed flag, and localized copy. Required scope: charge-points:read
Organization authorization: supported
path Parameters
teamIdGet PowerBank status › Responses
Aggregated team grid status
subscribedCounttotalCountisSubscribednametitledescriptionsubscribedCountTextsubscribeCtaunsubscribeCtaunsubscribeDialogTitleunsubscribeDialogBodyunsubscribeDialogConfirmtermstermsAgreementsmartMeterConsentTitlesmartMeterConsentTextsmartMeterConsentAgreementinfoUrlSubscribe to PowerBank
Subscribes every charge point in the team to PowerBank, auto-selecting the best available grid provider. Returns the per-charge-point subscription result, including any per-charge-point failures. Required scope: charge-points:write
Organization authorization: supported
path Parameters
teamIdSubscribe to PowerBank › Responses
Per-charge-point subscribe result
Unsubscribe from PowerBank
Unsubscribes every charge point in the team from PowerBank (its current grid provider). Returns the per-charge-point unsubscribe result, including any per-charge-point failures. Required scope: charge-points:write
Organization authorization: supported
path Parameters
teamIdUnsubscribe from PowerBank › Responses
Per-charge-point unsubscribe result
Get PowerBank status per charge point
Returns one row per charge point in the team with its PowerBank subscription status. Required scope: charge-points:read
Organization authorization: supported
path Parameters
teamIdGet PowerBank status per charge point › Responses
Per-EVSE grid subscription status list
idnameisSubscribedstatusteamIdidentitybrandNamemodelNamemodelImageUrlctClampssolarChargestatusLabelGet home state
Retrieves the complete home state including integrations and settings
path Parameters
teamIdGet home state › Responses
Home state object for the given teamId
homeIdentityteamIdoperatorIdDelete home state
Delete the complete home state including integrations, settings and charge points
path Parameters
teamIdDelete home state › Responses
OK
statusHTTP status of the response
originName of the service that generated this response
environmentEnvironment where this response was generated
statusCodeNumeric HTTP status code
messagePrimary response message for developers/logging
localizedMessageUser-friendly message that can be displayed to end users
errorCodeOptional error code for categorizing errors
Additional metadata related to the response
Detailed validation errors for form fields
Sets chargers that belong to the home state
Sets a list of chargers to the home state
path Parameters
teamIdSets chargers that belong to the home state › Request Body
ididentitynameteamIdctClampssolarChargephaseModephaseSwitchMinIntervalSecondsconnectorIdmodelImageUrlbrandNamemodelNameconfiguredNumberOfPhaseslastCurrentLimitAlastCurrentLimitAtlastChargingNumberOfPhasesSets chargers that belong to the home state › Responses
Home state object for the given teamId
homeIdentityteamIdoperatorIdRetrieve consent for home state
Tick consent for home state
Tick consent for fuse protection in the home state
path Parameters
teamIdTick consent for home state › Request Body
consent_typeTick consent for home state › Responses
OK
statusHTTP status of the response
originName of the service that generated this response
environmentEnvironment where this response was generated
statusCodeNumeric HTTP status code
messagePrimary response message for developers/logging
localizedMessageUser-friendly message that can be displayed to end users
errorCodeOptional error code for categorizing errors
Additional metadata related to the response
Detailed validation errors for form fields
Create integrations for home state
Create a new integration for the home state
path Parameters
teamIdquery Parameters
montaUserIdCreate integrations for home state › Request Body
homeIdentityfeatureCreate integrations for home state › Responses
Integration setup response
Update integrations for home state
Update integrations for the home state
path Parameters
teamIdquery Parameters
montaUserIdUpdate integrations for home state › Responses
OK
statusHTTP status of the response
originName of the service that generated this response
environmentEnvironment where this response was generated
statusCodeNumeric HTTP status code
messagePrimary response message for developers/logging
localizedMessageUser-friendly message that can be displayed to end users
errorCodeOptional error code for categorizing errors
Additional metadata related to the response
Detailed validation errors for form fields
Get Enode registration link
Retrieves Enode link to start device registration process
path Parameters
teamIdquery Parameters
montaUserIdGet Enode registration link › Responses
Enode registration link
resultlinktokenDelete integration from home state
Delete an existing integration from the home state
path Parameters
teamIdintegrationSlugDelete integration from home state › Responses
OK
statusHTTP status of the response
originName of the service that generated this response
environmentEnvironment where this response was generated
statusCodeNumeric HTTP status code
messagePrimary response message for developers/logging
localizedMessageUser-friendly message that can be displayed to end users
errorCodeOptional error code for categorizing errors
Additional metadata related to the response
Detailed validation errors for form fields
Update settings for home state
Update user settings for the home state
path Parameters
teamIdUpdate settings for home state › Responses
OK
statusHTTP status of the response
originName of the service that generated this response
environmentEnvironment where this response was generated
statusCodeNumeric HTTP status code
messagePrimary response message for developers/logging
localizedMessageUser-friendly message that can be displayed to end users
errorCodeOptional error code for categorizing errors
Additional metadata related to the response
Detailed validation errors for form fields