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.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
int64
required
Body Params
int64 | null

Id of the user that owns the team

string | null

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

string | null

Name of the team

string | null

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

string | null

Finance contact email of the team

string | null

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

string | null

Legal contact email of the team.

address
object | null

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

string | null

The company name for the team

string | null

The vat number for the team

string | null

The company registration number for the team

string | null
deprecated

External Id of this entity, managed by you.
Deprecated: use customFields.externalId instead — both read and write the same value.

partnerCustomPayload
object | null
deprecated

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.

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

string | null
enum

The payment method for the team

Allowed:
int32 | null

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

onboardingSteps
array of objects | 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.

onboardingSteps
onboardingWelcomeText
object | null

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.

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.

boolean | null

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

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.

int32 | null

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

int32 | null

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.

int32 | null

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.

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.

string | null

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.

Responses

422

Validation failed, e.g. joinCode is already taken. Automatic withdrawal cannot be enabled: AUTO_WITHDRAW_CONFLICT_INVOICE_WITHDRAW when invoiceWithdraw is on, or AUTO_WITHDRAW_TEAM_INELIGIBLE when the team is personal, is frozen or uses the invoice payment method (or has no operator). Nothing from the request is saved. A team belonging to another operator returns 403.

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json