v1

latestOpenAPI 3.0.12026-07-243686491.1 MB
Teams

Patch an existing team

Required scope: teams:write </br>Organization authorization: supported</br></br>Note: To update the operator team status, use the dedicated PATCH /teams/{id}/operator-team endpoint instead.

patch/api/v1/teams/{id}

Path parameters

idinteger required

Request body

userIdinteger nullable

Id of the user that owns the team

userEmailstring email nullable

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

namestring nullable

Name of the team

contactEmailstring email nullable

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

financeEmailstring email nullable

Finance contact email of the team

legalEmailstring email nullable

Legal contact email of the team.

companyNamestring nullable

The company name for the team

vatNumberstring nullable

The vat number for the team

companyRegistrationNumberstring nullable

The company registration number for the team

partnerExternalIdstring nullable

External Id of this entity, managed by you.

partnerCustomPayloadobject[] nullable

Custom JSON payload for this entity, managed by you.

paymentMethod'invoice' | 'operator_transaction' | 'source'
themeIdinteger nullable

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

Example request

{
  "userId": 42,
  "userEmail": "user@monta.com",
  "name": "Monta CPH Team",
  "contactEmail": "contact@monta.com",
  "financeEmail": "finance_contact@monta.com",
  "legalEmail": "legal_contact@monta.com",
  "address": {
    "address1": "Strandboulevarden 122",
    "address2": "København",
    "address3": "5. sal",
    "city": "Berlin",
    "zipCode": "10011",
    "countryId": 194,
    "countryAreaId": 1
  },
  "companyName": "Monta ApS",
  "vatNumber": "DK13585628",
  "companyRegistrationNumber": "13585628",
  "partnerExternalId": "ACME-12345",
  "themeId": 721,
  "onboardingSteps": [
    {
      "step": "SETUP_CHARGING_RULE",
      "config": "scheduled"
    }
  ]
}

Response

Team updated

idinteger required

Id of the team

namestring required

Name of the team

emailstring nullable

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

financeEmailstring nullable

Finance email of the team that will receive finance related emails

legalEmailstring nullable

Legal email of the team (certified e-mail)

externalIdstring nullable

External id of the team

partnerExternalIdstring nullable

External Id of this entity, managed by you.

partnerCustomPayloadobject[] nullable

Custom JSON payload for this entity, managed by you.

joinCodestring required

Code to share with a user to join the team

recipientCodestring nullable

The recipient code used for e-invoicing

companyNamestring nullable

The company name for the given team

taxIdentificationNumberstring nullable

The tax identification number for the given team

vatNumberstring nullable

The VAT number for the given team

companyRegistrationNumberstring nullable

The company registration number for the team

type'private' | 'professional' | 'operator' required

Type of the team

operatorIdinteger nullable

Deprecated (will be removed by 01.04.24), use operator field instead.

userIdinteger required

Id of the user that owns this team

isFrozenboolean required

Whether the team is frozen or not

frozenReasonstring nullable

Team freezing reason

featureGroupIdinteger nullable

Feature group id assigned to team

frozenAtstring date-time nullable

Frozen date of this team

blockedAtstring date-time nullable

Blocked date of this team

createdAtstring date-time required

Creation date of this team

updatedAtstring date-time required

Update date of this team

deletedAtstring date-time nullable

The deleted date of this team

paymentMethod'invoice' | 'operator_transaction' | 'source' | 'unknown' required
themeIdinteger nullable

The theme id associated with the team.

Example response

{
  "id": 1,
  "name": "Internal team",
  "email": "email@it.com",
  "financeEmail": "email@it.com",
  "legalEmail": "email@it.com",
  "externalId": "123-ABC",
  "partnerExternalId": "ACME-12345",
  "joinCode": "my-team-123",
  "recipientCode": "my-team-123",
  "companyName": "Housing XYZ",
  "taxIdentificationNumber": "123456789",
  "vatNumber": "DE123456789",
  "companyRegistrationNumber": "13585628",
  "operator": {
    "id": 14,
    "name": "Monta",
    "identifier": "monta",
    "partnerId": 1,
    "vatNumber": "FOO-123-ABC"
  },
  "address": {
    "address1": "Strandboulevarden 122",
    "address2": "København",
    "address3": "5. sal",
    "city": "Berlin",
    "province": "Lombardy",
    "zipCode": "10011",
    "countryId": 1
  },
  "currency": {
    "identifier": "dkk",
    "name": "Danish krone",
    "decimals": 2
  },
  "type": "personal",
  "category": {
    "identifier": "cpo",
    "name": "Charge Point Operator"
  },
  "operatorId": 1,
  "userId": 1,
  "frozenReason": "removed team",
  "featureGroupId": 1,
  "frozenAt": "2022-05-12T16:56:45.99Z",
  "blockedAt": "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",
  "invoiceRequest": {
    "id": 12345,
    "status": "pending",
    "requestedAt": "2025-07-08T15:56:45.99Z",
    "approvedAt": "2025-07-08T16:00:00Z",
    "rejectedAt": "2025-07-08T16:05:00Z",
    "rejectionReason": "Missing required data",
    "updatedAt": "2025-07-08T16:10:00Z"
  },
  "themeId": 1,
  "tags": [
    {
      "id": 1,
      "name": "cpo"
    }
  ],
  "onboardingSteps": [
    {
      "step": "SETUP_CHARGING_RULE",
      "config": "scheduled"
    }
  ]
}