v1

latestOpenAPI 3.0.12026-07-243686491.1 MB
Team Members

Create (invite) a team member

Create (invite) a user to join a team, invitation can be done via userId, email and/or phone. A user that does not exist in yet will have a null userId.</br></br>Required scope: team-members:write </br>Organization authorization: supported

post/api/v1/team-members

Request body

teamIdinteger

Id of the team that the user will be invited

userIdinteger nullable

Id of the user to be invited</br>Note: When inviting by userId the fields email or phone must not be provided.

emailstring email nullable

Email of the user to be invited</br>Note: When inviting by email the fields userId or phone must not be provided.

phonestring nullable

Phone of the user to be invited</br>Note: When inviting by phone the fields userId or email must not be provided.

role'admin' | 'user' | 'other' required
priceGroupIdinteger nullable

The price group for this team member, when not provided the default team price group will be applied

costGroupIdinteger nullable

The cost group for this team member

teamMemberProfileIdinteger nullable

The team member profile id to apply to this team member

canConfigureChargePointsboolean

Indicates if the team member can configure charge points

canPayWithTeamWalletboolean

Gives the team member access to pay with the team wallet in the Monta shop (e.g. charge keys, stickers). Team wallet payment for charging sessions is controlled by teamWalletChargePaymentType

canRequestSponsoringboolean

Allows the team member to request sponsoring from this team for their charge point

canManageTeamMembersboolean

Allows the team member to view and manage other members settings

teamWalletChargePaymentType'partner' | 'operator' | 'all' | 'team' | 'selected_operators' | 'none' nullable

On which chargers is the team member allowed to pay with Team Wallet?<br><br>* all - On any charger (including roaming chargers)<br>* partner - On chargers with the same partner as this team<br>* operator - On chargers with the same operator as this team<br>* team - On chargers belonging to this team<br>* selected_operators - On chargers from selected operators<br>* none - The team member is not allowed to pay with Team Wallet for any charge session<br>

canManageTeamWalletboolean

Deprecated: use canDepositToWallet and canWithdrawFromWallet instead. When set to true, automatically grants both deposit and withdraw permissions.

canDepositToWalletboolean nullable

Gives the team member permission to deposit to the team wallet

canWithdrawFromWalletboolean nullable

Gives the team member permission to withdraw from the team wallet

canManageChargeKeysboolean nullable

Gives the team member permission to manage charge keys for the team

canPayForChargesCountryIdsinteger[] nullable

List of country ids for which the team member can pay for charges

notestring nullable

A note for the team member

chargePointIdsinteger[] nullable

Ids of the charge point this team member with will have access

partnerExternalIdstring nullable

External Id of this entity, managed by you.

partnerCustomPayloadobject[] nullable

Custom JSON payload for this entity, managed by you.

notifyUserboolean

Controls whether an invitation email and/or SMS is sent to the user based on the provided email and phone fields.

autoAcceptboolean

Deprecated: use immediateAccess instead. When true, the invitation is granted immediately: existing users are added to the team in accepted state, and for new users the immediate-access intent is persisted on the invitation so it is honoured when they later register.

immediateAccessboolean nullable

Grants the invited member access to the team immediately, without waiting for them to accept the invitation. When true and the user already exists, the team member is created in accepted state so the operator can configure pricing, charge-point access and other settings right away. When true and the user does not yet exist, the immediate-access intent is persisted on the invitation and applied when the user registers — the team member is then created in accepted state with the inviter recorded as the acceptor (operator-initiated acceptance). If both immediateAccess and the deprecated autoAccept are sent, immediateAccess takes precedence.

kwhPriceCapAcnumber nullable

Maximum price per kWh in the team currency that the team will cover when charging on AC.

kwhPriceCapDcnumber nullable

Maximum price per kWh in the team currency that the team will cover when charging on DC.

sponsoredPriceGroupIdinteger nullable

Price group used to reimburse this team member for home charging. Omit or set null to use the employee's own cost price group (cloned at SCP creation time).

autoApproveElectricityCostboolean

When true, employee-submitted electricity costs are auto-approved for SCPs created for this team member.

reimbursementEnabledboolean

Master switch — whether the team member participates in home reimbursement.

reimbursementPayoutSchedule'end-of-month' | 'realtime' | 'other'
reimbursementSubscriptionboolean

Whether the operator reimburses the charge-point subscription price.

Example request

{
  "teamId": 1,
  "userId": 1,
  "email": "partner-api@monta.com",
  "phone": "+45123456789",
  "priceGroupId": 1,
  "costGroupId": 1,
  "teamMemberProfileId": 1,
  "teamWalletChargePaymentType": "none",
  "canPayForChargesCountryIds": [
    1,
    2,
    3
  ],
  "note": "Welcome to the Monta team",
  "chargePointIds": [
    1,
    2,
    3,
    4
  ],
  "partnerExternalId": "ACME-12345",
  "notifyUser": true,
  "autoAccept": true,
  "immediateAccess": true,
  "kwhPriceCapAc": 2.5,
  "kwhPriceCapDc": 5,
  "sponsoredPriceGroupId": 1
}

Response

Team member created

idinteger required

Id of the team member

teamIdinteger

Team id of team member

displayNamestring nullable

The team member display name, formats can be: First and Last Name, User: #id, email, or phone

partnerExternalTeamIdstring nullable

The partner external id for the team

userIdinteger nullable

User id of team member. If the user does not exist yet, it will be null

emailstring nullable

Email of the team member

phonestring nullable

Phone number of the team member

role'admin' | 'user' | 'other' required
access'all' | 'selected' | 'other' required

definitions:

  • all - Indicates the team member has access all the team's charge points.
  • selected - Indicates the team member has only access to the selected charge points.
  • other - Fallback value, Indicates a new type was added but is not mapped/unknown on this API yet.
state'requested' | 'invited' | 'rejected' | 'accepted' | 'blocked' | 'expired' | 'other' required
notestring nullable

Note for team member

invitedAtstring date-time nullable

Date of team member was invited to join the team

invitedBystring nullable

Email of the team member that invited this team member

acceptedAtstring date-time nullable

Date of team member accepted the invitation

acceptedBystring nullable

Email of the team member that accepted the invitation

rejectedAtstring date-time nullable

Date of team member rejected the invitation

createdAtstring date-time nullable

Date the team member was created

updatedAtstring date-time nullable

Date the team member was updated

deletedAtstring date-time nullable

Date the team member was deleted

chargePointIdsinteger[] required

The charge points ids this team member has access

priceGroupIdinteger nullable

The price group for this team member

costGroupIdinteger nullable

The cost group for this team member

teamMemberProfileIdinteger nullable

The team member profile id to apply to this team member

canConfigureChargePointsboolean

Indicates if the team member can configure charge points

canPayWithTeamWalletboolean

Indicates if the team member can pay with the team wallet in the Monta shop (e.g. charge keys, stickers). Team wallet payment for charging sessions is controlled by teamWalletChargePaymentType

canManageTeamWalletboolean

Indicates if team member has access to withdraw and deposit from your team wallet to your bank account

canDepositToWalletboolean nullable

Indicates if team member can deposit to team wallet

canWithdrawFromWalletboolean nullable

Indicates if team member can withdraw from team wallet

canManageChargeKeysboolean nullable

Indicates if team member can manage charge keys for the team

canRequestSponsoringboolean

Indicates if the team member is allowed to request sponsoring from this team for their charge point

canManageTeamMembersboolean

Indicates that the team member can view and manage other members settings

canPayForChargesCountryIdsinteger[] required

List of country ids for which the team member can pay for charges

teamWalletChargePaymentType'partner' | 'operator' | 'all' | 'team' | 'selected_operators' | 'none' required

On which chargers is the team member allowed to pay with Team Wallet?<br><br>* all - On any charger (including roaming chargers)<br>* partner - On chargers with the same partner as this team<br>* operator - On chargers with the same operator as this team<br>* team - On chargers belonging to this team<br>* selected_operators - On chargers from selected operators<br>* none - The team member is not allowed to pay with Team Wallet for any charge session<br>

partnerExternalIdstring nullable

External Id of this entity, managed by you

partnerCustomPayloadobject[] nullable

Custom JSON payload for this entity, managed by you

kwhPriceCapAcnumber nullable

Maximum price per kWh in the team currency that the team will cover when charging on AC.

kwhPriceCapDcnumber nullable

Maximum price per kWh in the team currency that the team will cover when charging on DC.

sponsoredPriceGroupIdinteger nullable

Price group used to reimburse this team member for home charging. null means the employee's own cost price group is cloned at SCP creation time.

autoApproveElectricityCostboolean

When true, employee-submitted electricity costs are auto-approved for SCPs created for this team member.

reimbursementEnabledboolean

Master switch — whether the team member participates in home reimbursement. Gates auto-creation of sponsored charge points on acceptance and on charge-point install.

reimbursementPayoutSchedule'end-of-month' | 'realtime' | 'other'
reimbursementSubscriptionboolean

Whether the operator reimburses the charge-point subscription price for this team member.

Example response

{
  "id": 1,
  "teamId": 42,
  "displayName": "Casper Rasmussen",
  "operator": {
    "id": 14,
    "name": "Monta",
    "identifier": "monta",
    "partnerId": 1,
    "vatNumber": "FOO-123-ABC"
  },
  "partnerExternalTeamId": "A1B2C3BE3121",
  "userId": 1,
  "email": "example@monta.com",
  "phone": "+4512345678",
  "note": "A Note",
  "invitedAt": "2022-05-12T15:56:45.99Z",
  "invitedBy": "example@monta.com",
  "acceptedAt": "2022-05-12T15:56:45.99Z",
  "acceptedBy": "example@monta.com",
  "rejectedAt": "2022-05-12T15:56:45.99Z",
  "createdAt": "2022-05-12T15:56:45.99Z",
  "updatedAt": "2022-05-12T16:56:45.99Z",
  "deletedAt": "2022-05-12T16:56:45.99Z",
  "priceGroupId": 1,
  "costGroupId": 1,
  "teamMemberProfileId": 1,
  "canPayForChargesCountryIds": [
    1,
    2,
    3
  ],
  "teamWalletChargePaymentType": "none",
  "partnerExternalId": "ACME-12345",
  "kwhPriceCapAc": 2.5,
  "kwhPriceCapDc": 5,
  "sponsoredPriceGroupId": 1
}