Monta
Monta API

Retrieve the account templates of your operator

GET
https://partner-api.monta.com
/api/v1/operator-team-settings

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

Retrieve the account templates of your operator › query Parameters

page
​integer · int32

page number to retrieve (starts with 0)

Default: 0
perPage
​integer · int32

number of items per page (between 1 and 100, default 10)

Default: 10

Retrieve the account templates of your operator › Responses

The account templates of your operator and its sub-operators.

​OperatorTeamSetting[] · required
​MontaPage.Meta · required

Retrieve a list of teams

GET
https://partner-api.monta.com
/api/v1/teams

Required scope: teams:read
Organization authorization: supported

Retrieve a list of teams › query Parameters

page
​integer · int32

page number to retrieve (starts with 0)

Default: 0
perPage
​integer · int32

number of items per page (between 1 and 100, default 10)

Default: 10
partnerExternalId
​string | null · deprecated

Filter teams by partnerExternalId, to filter only resources without partnerExternalId use partnerExternalId=""
Deprecated: use customFields=externalId:<value> instead.

Example: 1
operatorId
​integer | null · int32

Filter teams by operatorId
*Note:*The operatorId must be in the consumer’s operatorIds or, if empty, belong to the organization’s sub-operators

Example: 1
featureGroupId
​integer | null · int32

Filter teams by featureGroupId

Example: 1
fromUpdatedAt
​string | null · date-time

Filter to retrieve teams where updatedAt >= fromUpdatedAt (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2022-05-22T09:30:03Z
includeDeleted
​boolean

Filter to include delete teams in the response

Example: false
Default: false
ids
​string | null

Filter teams by a comma-separated list of team ids

Example: 13,14,15
customFields
​string | null

Filter 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 \.

Example: externalId:crm-4711,costCenter:DK-OPS-12

Retrieve a list of teams › Responses

List of teams that match the criteria

​Team[] · required
​MontaPage.Meta · required

Create a team

POST
https://partner-api.monta.com
/api/v1/teams

Required scope: teams:write
Organization authorization: supported

Create a team › Request Body

name
​string · minLength: 1 · required

Name of the team.

Example: Monta CPH Team
contactEmail
​string · email · required

Contact email of the team. Named "email" in the GET APIs.

Example: contact@monta.com
type
​string · enum · required

type of the team.

Enum values:
private
professional
operator
Example: private
​object · required

Address of the team. Only countryId is mandatory. Address1, city, and zipCode must be provided together or all left null.

userId
​integer | null · int64

Id of the user that owns the team.

Example: 42
userEmail
​string | null · email

Email of the user that owns the team, useful when the userId is not known.

Example: user@monta.com
operatorId
​integer | null · int64

Id 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.

Example: 1
financeEmail
​string | null · email

Finance contact email of the team.

Example: finance_contact@monta.com
financeCommunicationEmail
​string | null · email · minLength: 1 · maxLength: 255

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null · email

Legal contact email of the team.

Example: legal_contact@monta.com
companyName
​string | null

The company name for the team.

Example: Monta ApS
vatNumber
​string | null

The vat number for the team.

Example: DK13585628
companyRegistrationNumber
​string | null

The company registration number for the team.

Example: 13585628
​object | null

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.

Example: {"externalId":"crm-4711","costCenter":"DK-OPS-12"}
paymentMethod
​string · enum

The payment method for the team.
Note: if not provided the team will be created with the default payment method source.

Enum values:
invoice
operator_transaction
source
Example: source
themeId
​integer | null · int64

The theme id to assign to the team.
Note: When theme is provided, it must belong to the same operator as the team

Example: 721
​array | null

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.

onboardingProfileId
​integer | null · int64

Onboarding 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.

Example: 12
​object

The app-onboarding welcome-screen text override. Omit to use Monta's default copy.

category
​string | null

Category 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.

Example: priced-by-site-owner
selfRegisterChargeKeys
​boolean | null

Whether 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.

Example: true
joinCode
​string | null · minLength: 4 · maxLength: 50

Custom 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.

Example: mvv-energie-042

Create a team › Responses

Team created

id
​integer · int64 · required

Id of the team

Example: 1
name
​string · required

Name of the team

Example: Internal team
joinCode
​string · required

Code to share with a user to join the team. Slugified and unique across all teams on Monta.

Example: mvv-energie-042
​object · required

The address where the team is located

​object · required

The currency assigned for this team

type
​string · enum · required

Type of the team

Enum values:
private
professional
operator
Example: personal
userId
​integer · int64 · required

Id of the user that owns this team

Example: 1
isFrozen
​boolean · required

Whether the team is frozen or not

Example: false
createdAt
​string · date-time · required

Creation date of this team

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Update date of this team

Example: 2022-05-12T16:56:45.99Z
paymentMethod
​string · enum · required

The 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.

Enum values:
invoice
operator_transaction
source
unknown
Example: invoice
email
​string | null

Email of the team that will receive team communications. Named "contact email" in the creation/update APIs.

Example: email@it.com
financeEmail
​string | null

Finance email of the team that will receive finance related emails

Example: email@it.com
financeCommunicationEmail
​string | null

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null

Legal email of the team (certified e-mail)

Example: email@it.com
externalId
​string | null

External id of the team

Example: 123-ABC
​object | null

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.

Example: {"externalId":"crm-4711","costCenter":"DK-OPS-12"}
recipientCode
​string | null

The recipient code used for e-invoicing

Example: my-team-123
companyName
​string | null

The company name for the given team

Example: Housing XYZ
taxIdentificationNumber
​string | null

The tax identification number for the given team

Example: 123456789
vatNumber
​string | null

The VAT number for the given team

Example: DE123456789
companyRegistrationNumber
​string | null

The company registration number for the team

Example: 13585628
​object

The operator to this team is associated

​object

Category of the team. Set it with category on team create and patch.

frozenReason
​string | null

Team freezing reason

Example: removed team
featureGroupId
​integer | null · int64

Feature group id assigned to team

Example: 1
frozenAt
​string | null · date-time

Frozen date of this team

Example: 2022-05-12T16:56:45.99Z
blockedAt
​string | null · date-time

Blocked date of this team

Example: 2022-05-12T15:56:45.99Z
deletedAt
​string | null · date-time

The deleted date of this team

Example: 2022-05-12T16:56:45.99Z
​object

The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.

themeId
​integer | null · int64

The theme id associated with the team.

Example: 1

Tags associated with this team

​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.

​object

The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).

autoWithdrawEnabled
​boolean

Whether 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.

Example: true
autoWithdrawNextAt
​string | null · date-time

When 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.

Example: 2026-11-01T00:00:00Z
hasPaymentCard
​boolean | null

Whether 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.

Example: true
​array | null

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.


Switch automatic withdrawal on or off for up to 50 teams

POST
https://partner-api.monta.com
/api/v1/teams/auto-withdrawal/bulk

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

teamIds
​integer[] · minItems: 1 · maxItems: 50 · required

Ids 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.

Example: [266672,266673,266674]
enabled
​boolean · required

true switches automatic withdrawal on for every listed team, false switches it off.

Example: true

Switch automatic withdrawal on or off for up to 50 teams › Responses

One result per requested team

​object · required

How many teams ended up with each result. The counts add up to requested.

​TeamAutoWithdrawalResult[] · required

One entry per requested team, in request order.


Bulk-enable app onboarding across teams

POST
https://partner-api.monta.com
/api/v1/teams/onboarding-steps/bulk

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

teamIds
​integer[] · minItems: 1 · maxItems: 50 · required

Ids of the teams to apply the onboarding steps to. Duplicates are ignored.

Example: [266672,266673,266674]
​OnboardingStep[] · maxItems: 7 · required

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

​TeamOnboardingResult[] · required

Per-team outcome, one entry per distinct team id in the request.


Retrieve a team

GET
https://partner-api.monta.com
/api/v1/teams/{id}

Required scope: teams:read
Organization authorization: supported
Optional scope: wallet-transactions:read adds hasPaymentCard and paymentMethods to the response

Retrieve a team › path Parameters

id
​integer · int64 · required

Retrieve a team › Responses

Team with provided id

id
​integer · int64 · required

Id of the team

Example: 1
name
​string · required

Name of the team

Example: Internal team
joinCode
​string · required

Code to share with a user to join the team. Slugified and unique across all teams on Monta.

Example: mvv-energie-042
​object · required

The address where the team is located

​object · required

The currency assigned for this team

type
​string · enum · required

Type of the team

Enum values:
private
professional
operator
Example: personal
userId
​integer · int64 · required

Id of the user that owns this team

Example: 1
isFrozen
​boolean · required

Whether the team is frozen or not

Example: false
createdAt
​string · date-time · required

Creation date of this team

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Update date of this team

Example: 2022-05-12T16:56:45.99Z
paymentMethod
​string · enum · required

The 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.

Enum values:
invoice
operator_transaction
source
unknown
Example: invoice
email
​string | null

Email of the team that will receive team communications. Named "contact email" in the creation/update APIs.

Example: email@it.com
financeEmail
​string | null

Finance email of the team that will receive finance related emails

Example: email@it.com
financeCommunicationEmail
​string | null

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null

Legal email of the team (certified e-mail)

Example: email@it.com
externalId
​string | null

External id of the team

Example: 123-ABC
​object | null

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.

Example: {"externalId":"crm-4711","costCenter":"DK-OPS-12"}
recipientCode
​string | null

The recipient code used for e-invoicing

Example: my-team-123
companyName
​string | null

The company name for the given team

Example: Housing XYZ
taxIdentificationNumber
​string | null

The tax identification number for the given team

Example: 123456789
vatNumber
​string | null

The VAT number for the given team

Example: DE123456789
companyRegistrationNumber
​string | null

The company registration number for the team

Example: 13585628
​object

The operator to this team is associated

​object

Category of the team. Set it with category on team create and patch.

frozenReason
​string | null

Team freezing reason

Example: removed team
featureGroupId
​integer | null · int64

Feature group id assigned to team

Example: 1
frozenAt
​string | null · date-time

Frozen date of this team

Example: 2022-05-12T16:56:45.99Z
blockedAt
​string | null · date-time

Blocked date of this team

Example: 2022-05-12T15:56:45.99Z
deletedAt
​string | null · date-time

The deleted date of this team

Example: 2022-05-12T16:56:45.99Z
​object

The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.

themeId
​integer | null · int64

The theme id associated with the team.

Example: 1

Tags associated with this team

​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.

​object

The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).

autoWithdrawEnabled
​boolean

Whether 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.

Example: true
autoWithdrawNextAt
​string | null · date-time

When 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.

Example: 2026-11-01T00:00:00Z
hasPaymentCard
​boolean | null

Whether 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.

Example: true
​array | null

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.


Patch an existing team

PATCH
https://partner-api.monta.com
/api/v1/teams/{id}

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.

Patch an existing team › path Parameters

id
​integer · int64 · required

Patch an existing team › Request Body

userId
​integer | null · int64

Id of the user that owns the team

Example: 42
userEmail
​string | null · email

email of the user that owns the team, useful when the userId is not known

Example: user@monta.com
name
​string | null

Name of the team

Example: Monta CPH Team
contactEmail
​string | null · email

Contact email of the team. Named "email" in the GET APIs.

Example: contact@monta.com
financeEmail
​string | null · email

Finance contact email of the team

Example: finance_contact@monta.com
financeCommunicationEmail
​string | null · email · minLength: 1 · maxLength: 255

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null · email

Legal contact email of the team.

Example: legal_contact@monta.com
​object

Address of the team. Only countryId is mandatory. Address1, city, and zipCode must be provided together or all left null.

companyName
​string | null

The company name for the team

Example: Monta ApS
vatNumber
​string | null

The vat number for the team

Example: DK13585628
companyRegistrationNumber
​string | null

The company registration number for the team

Example: 13585628
​object | null

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.

Example: {"costCenter":"DK-OPS-13","legacyRef":null}
paymentMethod
​string · enum

The payment method for the team

Enum values:
invoice
operator_transaction
source
Example: source
themeId
​integer | null · int32

The theme id to assign to the team.
Note: When theme is provided, it must belong to the same operator as the team

Example: 721
​array | null

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.

​object

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.

category
​string | null

Category 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.

Example: priced-by-site-owner
inventoryOnlyChargeKeys
​boolean | null

Whether the team is restricted to only charge keys that are in the operator inventory

Example: true
selfRegisterChargeKeys
​boolean | null

Whether 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.

Example: true
costCenterId
​integer | null · int32

The cost center id to assign to the team.
Note: Send null to clear the assignment; omit the field to leave it unchanged.

Example: 42
operatorTeamSettingId
​integer | null · int32

Account 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.

Example: 693
onboardingProfileId
​integer | null · int32

Onboarding 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.

Example: 12
autoWithdraw
​boolean | null

Turn 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.

Example: true
joinCode
​string | null · minLength: 4 · maxLength: 50

Custom 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.

Example: mvv-energie-042

Patch an existing team › Responses

Team updated

id
​integer · int64 · required

Id of the team

Example: 1
name
​string · required

Name of the team

Example: Internal team
joinCode
​string · required

Code to share with a user to join the team. Slugified and unique across all teams on Monta.

Example: mvv-energie-042
​object · required

The address where the team is located

​object · required

The currency assigned for this team

type
​string · enum · required

Type of the team

Enum values:
private
professional
operator
Example: personal
userId
​integer · int64 · required

Id of the user that owns this team

Example: 1
isFrozen
​boolean · required

Whether the team is frozen or not

Example: false
createdAt
​string · date-time · required

Creation date of this team

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Update date of this team

Example: 2022-05-12T16:56:45.99Z
paymentMethod
​string · enum · required

The 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.

Enum values:
invoice
operator_transaction
source
unknown
Example: invoice
email
​string | null

Email of the team that will receive team communications. Named "contact email" in the creation/update APIs.

Example: email@it.com
financeEmail
​string | null

Finance email of the team that will receive finance related emails

Example: email@it.com
financeCommunicationEmail
​string | null

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null

Legal email of the team (certified e-mail)

Example: email@it.com
externalId
​string | null

External id of the team

Example: 123-ABC
​object | null

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.

Example: {"externalId":"crm-4711","costCenter":"DK-OPS-12"}
recipientCode
​string | null

The recipient code used for e-invoicing

Example: my-team-123
companyName
​string | null

The company name for the given team

Example: Housing XYZ
taxIdentificationNumber
​string | null

The tax identification number for the given team

Example: 123456789
vatNumber
​string | null

The VAT number for the given team

Example: DE123456789
companyRegistrationNumber
​string | null

The company registration number for the team

Example: 13585628
​object

The operator to this team is associated

​object

Category of the team. Set it with category on team create and patch.

frozenReason
​string | null

Team freezing reason

Example: removed team
featureGroupId
​integer | null · int64

Feature group id assigned to team

Example: 1
frozenAt
​string | null · date-time

Frozen date of this team

Example: 2022-05-12T16:56:45.99Z
blockedAt
​string | null · date-time

Blocked date of this team

Example: 2022-05-12T15:56:45.99Z
deletedAt
​string | null · date-time

The deleted date of this team

Example: 2022-05-12T16:56:45.99Z
​object

The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.

themeId
​integer | null · int64

The theme id associated with the team.

Example: 1

Tags associated with this team

​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.

​object

The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).

autoWithdrawEnabled
​boolean

Whether 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.

Example: true
autoWithdrawNextAt
​string | null · date-time

When 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.

Example: 2026-11-01T00:00:00Z
hasPaymentCard
​boolean | null

Whether 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.

Example: true
​array | null

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.


Delete an existing team

DELETE
https://partner-api.monta.com
/api/v1/teams/{id}

Required scope: teams:delete
Organization authorization: supported

Delete an existing team › path Parameters

id
​integer · int64 · required

Delete an existing team › Responses

Team deleted

No data returned

Freeze a team

POST
https://partner-api.monta.com
/api/v1/teams/{id}/freeze

Required scope: teams:write
Organization authorization: supported

Freeze a team › path Parameters

id
​integer · int64 · required

Freeze a team › Request Body

reason
​string | null

Team freezing reason

Example: removed team

Freeze a team › Responses

Team with provided id

id
​integer · int64 · required

Id of the team

Example: 1
name
​string · required

Name of the team

Example: Internal team
joinCode
​string · required

Code to share with a user to join the team. Slugified and unique across all teams on Monta.

Example: mvv-energie-042
​object · required

The address where the team is located

​object · required

The currency assigned for this team

type
​string · enum · required

Type of the team

Enum values:
private
professional
operator
Example: personal
userId
​integer · int64 · required

Id of the user that owns this team

Example: 1
isFrozen
​boolean · required

Whether the team is frozen or not

Example: false
createdAt
​string · date-time · required

Creation date of this team

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Update date of this team

Example: 2022-05-12T16:56:45.99Z
paymentMethod
​string · enum · required

The 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.

Enum values:
invoice
operator_transaction
source
unknown
Example: invoice
email
​string | null

Email of the team that will receive team communications. Named "contact email" in the creation/update APIs.

Example: email@it.com
financeEmail
​string | null

Finance email of the team that will receive finance related emails

Example: email@it.com
financeCommunicationEmail
​string | null

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null

Legal email of the team (certified e-mail)

Example: email@it.com
externalId
​string | null

External id of the team

Example: 123-ABC
​object | null

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.

Example: {"externalId":"crm-4711","costCenter":"DK-OPS-12"}
recipientCode
​string | null

The recipient code used for e-invoicing

Example: my-team-123
companyName
​string | null

The company name for the given team

Example: Housing XYZ
taxIdentificationNumber
​string | null

The tax identification number for the given team

Example: 123456789
vatNumber
​string | null

The VAT number for the given team

Example: DE123456789
companyRegistrationNumber
​string | null

The company registration number for the team

Example: 13585628
​object

The operator to this team is associated

​object

Category of the team. Set it with category on team create and patch.

frozenReason
​string | null

Team freezing reason

Example: removed team
featureGroupId
​integer | null · int64

Feature group id assigned to team

Example: 1
frozenAt
​string | null · date-time

Frozen date of this team

Example: 2022-05-12T16:56:45.99Z
blockedAt
​string | null · date-time

Blocked date of this team

Example: 2022-05-12T15:56:45.99Z
deletedAt
​string | null · date-time

The deleted date of this team

Example: 2022-05-12T16:56:45.99Z
​object

The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.

themeId
​integer | null · int64

The theme id associated with the team.

Example: 1

Tags associated with this team

​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.

​object

The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).

autoWithdrawEnabled
​boolean

Whether 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.

Example: true
autoWithdrawNextAt
​string | null · date-time

When 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.

Example: 2026-11-01T00:00:00Z
hasPaymentCard
​boolean | null

Whether 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.

Example: true
​array | null

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.


Update operator team status

PATCH
https://partner-api.monta.com
/api/v1/teams/{id}/operator-team

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

Update operator team status › path Parameters

id
​integer · int64 · required

Update operator team status › Request Body

operatorTeam
​boolean · required

Whether this team should be marked as an operator team. Operator teams have special privileges within the platform, such as managing charge points and infrastructure.

Example: true

Update operator team status › Responses

Team updated

id
​integer · int64 · required

Id of the team

Example: 1
name
​string · required

Name of the team

Example: Internal team
joinCode
​string · required

Code to share with a user to join the team. Slugified and unique across all teams on Monta.

Example: mvv-energie-042
​object · required

The address where the team is located

​object · required

The currency assigned for this team

type
​string · enum · required

Type of the team

Enum values:
private
professional
operator
Example: personal
userId
​integer · int64 · required

Id of the user that owns this team

Example: 1
isFrozen
​boolean · required

Whether the team is frozen or not

Example: false
createdAt
​string · date-time · required

Creation date of this team

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Update date of this team

Example: 2022-05-12T16:56:45.99Z
paymentMethod
​string · enum · required

The 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.

Enum values:
invoice
operator_transaction
source
unknown
Example: invoice
email
​string | null

Email of the team that will receive team communications. Named "contact email" in the creation/update APIs.

Example: email@it.com
financeEmail
​string | null

Finance email of the team that will receive finance related emails

Example: email@it.com
financeCommunicationEmail
​string | null

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null

Legal email of the team (certified e-mail)

Example: email@it.com
externalId
​string | null

External id of the team

Example: 123-ABC
​object | null

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.

Example: {"externalId":"crm-4711","costCenter":"DK-OPS-12"}
recipientCode
​string | null

The recipient code used for e-invoicing

Example: my-team-123
companyName
​string | null

The company name for the given team

Example: Housing XYZ
taxIdentificationNumber
​string | null

The tax identification number for the given team

Example: 123456789
vatNumber
​string | null

The VAT number for the given team

Example: DE123456789
companyRegistrationNumber
​string | null

The company registration number for the team

Example: 13585628
​object

The operator to this team is associated

​object

Category of the team. Set it with category on team create and patch.

frozenReason
​string | null

Team freezing reason

Example: removed team
featureGroupId
​integer | null · int64

Feature group id assigned to team

Example: 1
frozenAt
​string | null · date-time

Frozen date of this team

Example: 2022-05-12T16:56:45.99Z
blockedAt
​string | null · date-time

Blocked date of this team

Example: 2022-05-12T15:56:45.99Z
deletedAt
​string | null · date-time

The deleted date of this team

Example: 2022-05-12T16:56:45.99Z
​object

The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.

themeId
​integer | null · int64

The theme id associated with the team.

Example: 1

Tags associated with this team

​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.

​object

The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).

autoWithdrawEnabled
​boolean

Whether 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.

Example: true
autoWithdrawNextAt
​string | null · date-time

When 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.

Example: 2026-11-01T00:00:00Z
hasPaymentCard
​boolean | null

Whether 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.

Example: true
​array | null

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.


Retrieve a team's settings

GET
https://partner-api.monta.com
/api/v1/teams/{id}/settings

Required scope: teams:read
Organization authorization: supported

Retrieve a team's settings › path Parameters

id
​integer · int64 · required

Retrieve a team's settings › Responses

Settings for the team with the provided id

teamId
​integer · int64 · required

Id of the team these settings belong to

Example: 12
invoiceWithdraw
​boolean · required

Whether team balance is withdrawn via invoice. Mutually exclusive with autoWithdrawEnabled.

Example: true
joinCode
​string · required

Code used to join the team

Example: ABC123
selfRegisterChargeKeys
​boolean · required

Whether members can self-register charge keys for this team

Example: true
autoAcceptInvitationRequests
​boolean · required

Whether team join requests are accepted automatically

Example: false
autoGenerateChargePointGroups
​boolean · required

Whether charge point groups are generated automatically for the team

Example: false
showMembersOnApp
​boolean · required

Whether team members are shown in the app

Example: true
customerType
​string | null

Customer type of the team

Example: FLEET_DRIVER
invoicePeriod
​string | null

Invoicing period for the team

Example: monthly
invoiceDestinationCode
​string | null

Destination code used on team invoices

Example: DK12345
poNumber
​string | null

Purchase order number applied to team invoices

Example: PO-123
eanNumber
​string | null

EAN/CIF number of the team

Example: 5790000000000
partnerExternalId
​string | null

External id assigned to the team by the partner

Example: partner-team-1
inventoryOnlyChargeKeys
​boolean

Whether the team is restricted to only charge keys that are in the operator inventory

Example: true
​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Absent unless the feature is enabled for the operator.

onboardingProfileId
​integer | null · int64

The onboarding profile the team is locked to; null when its steps are set directly.

Example: 12
​object

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.

autoWithdrawEnabled
​boolean

Whether 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}.

Example: true
autoWithdrawNextAt
​string | null · date-time

When the next automatic withdrawal is due; null when automatic withdrawal is off.

Example: 2026-11-01T00:00:00Z

Unfreeze a team

POST
https://partner-api.monta.com
/api/v1/teams/{id}/unfreeze

Required scope: teams:write
Organization authorization: supported

Unfreeze a team › path Parameters

id
​integer · int64 · required

Unfreeze a team › Responses

Team with provided id

id
​integer · int64 · required

Id of the team

Example: 1
name
​string · required

Name of the team

Example: Internal team
joinCode
​string · required

Code to share with a user to join the team. Slugified and unique across all teams on Monta.

Example: mvv-energie-042
​object · required

The address where the team is located

​object · required

The currency assigned for this team

type
​string · enum · required

Type of the team

Enum values:
private
professional
operator
Example: personal
userId
​integer · int64 · required

Id of the user that owns this team

Example: 1
isFrozen
​boolean · required

Whether the team is frozen or not

Example: false
createdAt
​string · date-time · required

Creation date of this team

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Update date of this team

Example: 2022-05-12T16:56:45.99Z
paymentMethod
​string · enum · required

The 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.

Enum values:
invoice
operator_transaction
source
unknown
Example: invoice
email
​string | null

Email of the team that will receive team communications. Named "contact email" in the creation/update APIs.

Example: email@it.com
financeEmail
​string | null

Finance email of the team that will receive finance related emails

Example: email@it.com
financeCommunicationEmail
​string | null

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null

Legal email of the team (certified e-mail)

Example: email@it.com
externalId
​string | null

External id of the team

Example: 123-ABC
​object | null

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.

Example: {"externalId":"crm-4711","costCenter":"DK-OPS-12"}
recipientCode
​string | null

The recipient code used for e-invoicing

Example: my-team-123
companyName
​string | null

The company name for the given team

Example: Housing XYZ
taxIdentificationNumber
​string | null

The tax identification number for the given team

Example: 123456789
vatNumber
​string | null

The VAT number for the given team

Example: DE123456789
companyRegistrationNumber
​string | null

The company registration number for the team

Example: 13585628
​object

The operator to this team is associated

​object

Category of the team. Set it with category on team create and patch.

frozenReason
​string | null

Team freezing reason

Example: removed team
featureGroupId
​integer | null · int64

Feature group id assigned to team

Example: 1
frozenAt
​string | null · date-time

Frozen date of this team

Example: 2022-05-12T16:56:45.99Z
blockedAt
​string | null · date-time

Blocked date of this team

Example: 2022-05-12T15:56:45.99Z
deletedAt
​string | null · date-time

The deleted date of this team

Example: 2022-05-12T16:56:45.99Z
​object

The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.

themeId
​integer | null · int64

The theme id associated with the team.

Example: 1

Tags associated with this team

​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.

​object

The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).

autoWithdrawEnabled
​boolean

Whether 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.

Example: true
autoWithdrawNextAt
​string | null · date-time

When 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.

Example: 2026-11-01T00:00:00Z
hasPaymentCard
​boolean | null

Whether 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.

Example: true
​array | null

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.


Get PowerBank status

GET
https://partner-api.monta.com
/api/v1/teams/{teamId}/grid

Returns the aggregated PowerBank subscription status for the team — counts, subscribed flag, and localized copy. Required scope: charge-points:read
Organization authorization: supported

Get PowerBank status › path Parameters

teamId
​integer · int64 · required

Get PowerBank status › Responses

Aggregated team grid status

subscribedCount
​integer · int32 · required
totalCount
​integer · int32 · required
isSubscribed
​boolean · required
name
​string · required
title
​string · required
description
​string · required
subscribedCountText
​string · required
subscribeCta
​string · required
unsubscribeCta
​string · required
unsubscribeDialogTitle
​string · required
unsubscribeDialogBody
​string · required
unsubscribeDialogConfirm
​string · required
terms
​string | null
termsAgreement
​string | null
smartMeterConsentTitle
​string | null
smartMeterConsentText
​string | null
smartMeterConsentAgreement
​string | null
infoUrl
​string | null

Subscribe to PowerBank

PATCH
https://partner-api.monta.com
/api/v1/teams/{teamId}/grid

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

Subscribe to PowerBank › path Parameters

teamId
​integer · int64 · required

Subscribe to PowerBank › Responses

Per-charge-point subscribe result

​ChargePointGridV2Response[] · required
​TeamGridBulkFailure[] · required

Unsubscribe from PowerBank

DELETE
https://partner-api.monta.com
/api/v1/teams/{teamId}/grid

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

Unsubscribe from PowerBank › path Parameters

teamId
​integer · int64 · required

Unsubscribe from PowerBank › Responses

Per-charge-point unsubscribe result

​ChargePointGridV2Response[] · required
​TeamGridBulkFailure[] · required

Get PowerBank status per charge point

GET
https://partner-api.monta.com
/api/v1/teams/{teamId}/grid/evses

Returns one row per charge point in the team with its PowerBank subscription status. Required scope: charge-points:read
Organization authorization: supported

Get PowerBank status per charge point › path Parameters

teamId
​integer · int64 · required

Get PowerBank status per charge point › Responses

Per-EVSE grid subscription status list

id
​integer · int64 · required
name
​string · required
isSubscribed
​boolean · required
status
​ChargePointGridSubscriptionStatus · enum · required
Enum values:
UNKNOWN
OPEN
BETA
OPEN_BETA
OPEN_FOR_REGISTER
REGISTER_ONLY
SUBSCRIBED
SUBSCRIBED_BETA
teamId
​integer | null · int64
identity
​string | null
brandName
​string | null
modelName
​string | null
modelImageUrl
​string | null
ctClamps
​boolean | null
solarCharge
​boolean | null
statusLabel
​string | null

Get home state

GET
https://partner-api.monta.com
/api/v1/teams/{teamId}/home

Retrieves the complete home state including integrations and settings

Get home state › path Parameters

teamId
​integer · int64 · required

Get home state › Responses

Home state object for the given teamId

homeIdentity
​string · required
​Charger[] · required
​Integrations · required
​Settings · required
teamId
​integer | null · int64
operatorId
​integer | null · int64
​object
​object
​object
​object
​object
​object
​object

Delete home state

DELETE
https://partner-api.monta.com
/api/v1/teams/{teamId}/home

Delete the complete home state including integrations, settings and charge points

Delete home state › path Parameters

teamId
​integer · int64 · required

Delete home state › Responses

OK

Standard response format for all Monta API endpoints
status
​string · enum · required

HTTP status of the response

Enum values:
CONTINUE
SWITCHING_PROTOCOLS
PROCESSING
OK
CREATED
ACCEPTED
NON_AUTHORITATIVE_INFORMATION
NO_CONTENT
Example: OK
origin
​string · required

Name of the service that generated this response

Example: user-service
Default: unknown-service
environment
​string · required

Environment where this response was generated

Example: PRODUCTION
statusCode
​integer · int32 · required

Numeric HTTP status code

Example: 200
message
​string | null

Primary response message for developers/logging

Example: Successfully retrieved user profile
localizedMessage
​string | null

User-friendly message that can be displayed to end users

Example: Your profile was successfully updated
errorCode
​string | null

Optional error code for categorizing errors

Example: USER_NOT_FOUND
​object | null

Additional metadata related to the response

Example: {"userId":"123","requestId":"abc-123"}
​array | null

Detailed validation errors for form fields


Sets chargers that belong to the home state

POST
https://partner-api.monta.com
/api/v1/teams/{teamId}/home/chargers

Sets a list of chargers to the home state

Sets chargers that belong to the home state › path Parameters

teamId
​integer · int64 · required

Sets chargers that belong to the home state › Request Body

​Charger[]
id
​integer · int64 · required
identity
​string · required
name
​string · required
teamId
​integer · int64 · required
ctClamps
​boolean · required
solarCharge
​boolean · required
phaseMode
​PhaseMode · enum · required
Enum values:
AUTO
ONE
THREE
PHASE_SWITCHING
phaseSwitchMinIntervalSeconds
​integer · int32 · required
connectorId
​integer | null · int32
modelImageUrl
​string | null
brandName
​string | null
modelName
​string | null
configuredNumberOfPhases
​integer | null · int32
​object
lastCurrentLimitA
​number | null · double
lastCurrentLimitAt
​string | null · date-time
lastChargingNumberOfPhases
​integer | null · int32
​object

Sets chargers that belong to the home state › Responses

Home state object for the given teamId

homeIdentity
​string · required
​Charger[] · required
​Integrations · required
​Settings · required
teamId
​integer | null · int64
operatorId
​integer | null · int64
​object
​object
​object
​object
​object
​object
​object

GET
https://partner-api.monta.com
/api/v1/teams/{teamId}/home/consent

Retrievew consent for fuse protection in the home state

teamId
​integer · int64 · required

Consent ticked response

fuse_protection_ticked_at
​string | null · date-time

POST
https://partner-api.monta.com
/api/v1/teams/{teamId}/home/consent

Tick consent for fuse protection in the home state

teamId
​integer · int64 · required
consent_type
​ConsentType · enum · required
Enum values:
FUSE_PROTECTION
PEAK_PROTECTION

OK

Standard response format for all Monta API endpoints
status
​string · enum · required

HTTP status of the response

Enum values:
CONTINUE
SWITCHING_PROTOCOLS
PROCESSING
OK
CREATED
ACCEPTED
NON_AUTHORITATIVE_INFORMATION
NO_CONTENT
Example: OK
origin
​string · required

Name of the service that generated this response

Example: user-service
Default: unknown-service
environment
​string · required

Environment where this response was generated

Example: PRODUCTION
statusCode
​integer · int32 · required

Numeric HTTP status code

Example: 200
message
​string | null

Primary response message for developers/logging

Example: Successfully retrieved user profile
localizedMessage
​string | null

User-friendly message that can be displayed to end users

Example: Your profile was successfully updated
errorCode
​string | null

Optional error code for categorizing errors

Example: USER_NOT_FOUND
​object | null

Additional metadata related to the response

Example: {"userId":"123","requestId":"abc-123"}
​array | null

Detailed validation errors for form fields


Create integrations for home state

POST
https://partner-api.monta.com
/api/v1/teams/{teamId}/home/integrations

Create a new integration for the home state

Create integrations for home state › path Parameters

teamId
​integer · int64 · required

Create integrations for home state › query Parameters

montaUserId
​integer | null · int64

Create integrations for home state › Request Body

homeIdentity
​string | null
feature
​string · enum
Enum values:
SOLAR_CHARGE
FUSE_PROTECTION
PEAK_PROTECTION
​object
​object
​object
​object
​object
​object
​object
​object

Create integrations for home state › Responses

Integration setup response

​object
​object
​object
​object
​object
​object
​object
​object
​object

Update integrations for home state

PATCH
https://partner-api.monta.com
/api/v1/teams/{teamId}/home/integrations

Update integrations for the home state

Update integrations for home state › path Parameters

teamId
​integer · int64 · required

Update integrations for home state › query Parameters

montaUserId
​integer | null · int64

Update integrations for home state › Request Body

​object

Update integrations for home state › Responses

OK

Standard response format for all Monta API endpoints
status
​string · enum · required

HTTP status of the response

Enum values:
CONTINUE
SWITCHING_PROTOCOLS
PROCESSING
OK
CREATED
ACCEPTED
NON_AUTHORITATIVE_INFORMATION
NO_CONTENT
Example: OK
origin
​string · required

Name of the service that generated this response

Example: user-service
Default: unknown-service
environment
​string · required

Environment where this response was generated

Example: PRODUCTION
statusCode
​integer · int32 · required

Numeric HTTP status code

Example: 200
message
​string | null

Primary response message for developers/logging

Example: Successfully retrieved user profile
localizedMessage
​string | null

User-friendly message that can be displayed to end users

Example: Your profile was successfully updated
errorCode
​string | null

Optional error code for categorizing errors

Example: USER_NOT_FOUND
​object | null

Additional metadata related to the response

Example: {"userId":"123","requestId":"abc-123"}
​array | null

Detailed validation errors for form fields


GET
https://partner-api.monta.com
/api/v1/teams/{teamId}/home/integrations/enode/inverter/link

Retrieves Enode link to start device registration process

Get Enode registration link › path Parameters

teamId
​integer · int64 · required

Get Enode registration link › query Parameters

montaUserId
​integer · int64 · required

Get Enode registration link › Responses

Enode registration link

EnodeRegistrationLinkResult
result
​EnodeRegistrationLinkResult.EnodeLinkResult · enum · required
Enum values:
SUCCESS
ALREADY_INTEGRATED
API_NOT_RESPONDING
link
​string | null
token
​string | null

Delete integration from home state

DELETE
https://partner-api.monta.com
/api/v1/teams/{teamId}/home/integrations/{integrationSlug}

Delete an existing integration from the home state

Delete integration from home state › path Parameters

teamId
​integer · int64 · required
integrationSlug
​string · required

Delete integration from home state › Responses

OK

Standard response format for all Monta API endpoints
status
​string · enum · required

HTTP status of the response

Enum values:
CONTINUE
SWITCHING_PROTOCOLS
PROCESSING
OK
CREATED
ACCEPTED
NON_AUTHORITATIVE_INFORMATION
NO_CONTENT
Example: OK
origin
​string · required

Name of the service that generated this response

Example: user-service
Default: unknown-service
environment
​string · required

Environment where this response was generated

Example: PRODUCTION
statusCode
​integer · int32 · required

Numeric HTTP status code

Example: 200
message
​string | null

Primary response message for developers/logging

Example: Successfully retrieved user profile
localizedMessage
​string | null

User-friendly message that can be displayed to end users

Example: Your profile was successfully updated
errorCode
​string | null

Optional error code for categorizing errors

Example: USER_NOT_FOUND
​object | null

Additional metadata related to the response

Example: {"userId":"123","requestId":"abc-123"}
​array | null

Detailed validation errors for form fields


Update settings for home state

PATCH
https://partner-api.monta.com
/api/v1/teams/{teamId}/home/settings

Update user settings for the home state

Update settings for home state › path Parameters

teamId
​integer · int64 · required

Update settings for home state › Request Body

​object
​object
​object
​object

Update settings for home state › Responses

OK

Standard response format for all Monta API endpoints
status
​string · enum · required

HTTP status of the response

Enum values:
CONTINUE
SWITCHING_PROTOCOLS
PROCESSING
OK
CREATED
ACCEPTED
NON_AUTHORITATIVE_INFORMATION
NO_CONTENT
Example: OK
origin
​string · required

Name of the service that generated this response

Example: user-service
Default: unknown-service
environment
​string · required

Environment where this response was generated

Example: PRODUCTION
statusCode
​integer · int32 · required

Numeric HTTP status code

Example: 200
message
​string | null

Primary response message for developers/logging

Example: Successfully retrieved user profile
localizedMessage
​string | null

User-friendly message that can be displayed to end users

Example: Your profile was successfully updated
errorCode
​string | null

Optional error code for categorizing errors

Example: USER_NOT_FOUND
​object | null

Additional metadata related to the response

Example: {"userId":"123","requestId":"abc-123"}
​array | null

Detailed validation errors for form fields