Users

Required scope: users:write </br>Organization authorization: supported<br><br>If the email or phone matches an existing Monta user, that user is linked to your application and returned with 201; the profile fields in the request are not applied to it. Use PATCH /users/{userId} to update an existing user's profile.

post/api/v1/users

Request

  • Base URL
    https://partner-api.monta.com
  • URL
    https://partner-api.monta.com/api/v1/users
  • Auth
    HTTP bearer

Request body

emailstring email nullable

Email address of the user. Required unless phone is provided. Without an email, phone must match an existing Monta user, which is then linked to your application; a new user can't be created without an email.

countryIdinteger required

Country Id of the user

phonestring nullable

Phone number of the user in E.164 format

firstNamestring nullable

First name of the user

lastNamestring nullable

Last name of the user

sendWelcomeEmailboolean

Controls whether a welcome email is sent to the user after creation. For new users, the email includes a link to set their password. For existing users, the email welcomes them to the operator's platform.

languagestring nullable

User preferred language

legalEmailstring email nullable

User legal email address

address1string nullable

User address line 1

address2string nullable

User address line 2

address3string nullable

User address line 3

zipstring nullable

User zip/postal code

citystring nullable

User city

provincestring nullable

User province/state

isEmailOrPhoneProvidedboolean

Example request

{
  "email": "example@monta.com",
  "countryId": 1,
  "phone": "+4512345678",
  "firstName": "John",
  "lastName": "Doe",
  "language": "en",
  "legalEmail": "legal@example.com",
  "address1": "Strandboulevarden 122",
  "address2": "Apt 4B",
  "address3": "5. sal",
  "zip": "2100",
  "city": "Copenhagen",
  "province": "Capital Region"
}

Response

user with provided id

idinteger required

Id of the user

firstNamestring nullable

First name of the user

lastNamestring nullable

Last name of the user

emailstring nullable

Email of the user

legalEmailstring nullable

Legal email of the user (certified e-mail)

phonestring nullable

Phone number of the user

profileImageUrlstring nullable

URL of the profile image

languagestring nullable

Preferred language of the user

termsReadAtstring date-time nullable

Timestamp when the user read the terms

taxIdentificationNumberstring nullable

Personal tax number if set for the user

vatNumberstring nullable

VAT number which is the company tax id

recipientCodestring nullable

The recipient code used for e-invoicing

createdAtstring date-time nullable

Timestamp when the user was created

updatedAtstring date-time nullable

Timestamp when the user was last updated

deletedAtstring date-time nullable

Timestamp when the user was deleted

emailVerifiedAtstring date-time nullable

Timestamp when the email was verified

phoneVerifiedAtstring date-time nullable

Timestamp when the phone was verified

marketingEmailsAcceptedAtstring date-time nullable

Timestamp when the user accepted the marketing emails

defaultTeamIdinteger nullable

ID of the default team for the user

isGuestboolean nullable

Indicates whether this user is a guest (ad-hoc) user who has not yet completed registration

nationalIdstring nullable

National identification number. Returned only when configured per operator

hasPaymentCardboolean nullable

Whether this user has at least one saved card, including expired cards. Only returned on the single user read, and only when the consumer also has the wallet-transactions:read scope. Always null on user lists; null when the lookup failed.

hasValidPaymentCardboolean nullable

Whether this user has at least one saved card that has not expired. Only returned on the single user read, and only when the consumer also has the wallet-transactions:read scope. Always null on user lists; null when the lookup failed.

Example response

{
  "id": 10,
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@example.com",
  "legalEmail": "legal@ut.com",
  "phone": "+1234567890",
  "profileImageUrl": "https://example.com/profile.jpg",
  "address": {
    "address1": "Strandboulevarden 122",
    "address2": "København",
    "address3": "5. sal",
    "zip": "2100",
    "city": "Copenhagen",
    "province": "Lombardy",
    "country": "Denmark",
    "countryAreaId": 1
  },
  "language": "en",
  "termsReadAt": "2023-06-21T15:03:14Z",
  "taxIdentificationNumber": "X12345678A",
  "vatNumber": " IT07643520567",
  "recipientCode": "2021-10-001",
  "createdAt": "2023-06-21T15:03:14Z",
  "updatedAt": "2023-06-21T15:03:14Z",
  "deletedAt": "2023-06-21T15:03:14Z",
  "emailVerifiedAt": "2023-06-21T15:03:14Z",
  "phoneVerifiedAt": "2023-06-21T15:03:14Z",
  "marketingEmailsAcceptedAt": "2023-06-21T15:03:14Z",
  "defaultTeamId": 10,
  "nationalId": "123456-7890",
  "hasPaymentCard": true,
  "hasValidPaymentCard": true
}

Changes

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      the request property became nullable

    • info

      the request property became optional

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status